{"id":13614290,"url":"https://github.com/GDQuest/godot-steering-ai-framework","last_synced_at":"2025-04-13T18:32:43.021Z","repository":{"id":41901598,"uuid":"226368168","full_name":"GDQuest/godot-steering-ai-framework","owner":"GDQuest","description":"A complete framework for Godot to create beautiful and complex AI motion. Works both in 2D and in 3D.","archived":false,"fork":false,"pushed_at":"2024-09-13T09:43:05.000Z","size":830,"stargazers_count":1155,"open_issues_count":12,"forks_count":81,"subscribers_count":40,"default_branch":"master","last_synced_at":"2024-10-29T15:17:38.189Z","etag":null,"topics":["agents","ai","algorithms","artificial-intelligence","framework","game-development","gdscript","godot","godot-engine","godot-game-engine","steering-behaviors"],"latest_commit_sha":null,"homepage":"http://gdquest.com/docs/godot-steering-ai-framework","language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GDQuest.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-06T16:26:04.000Z","updated_at":"2024-10-27T14:41:50.000Z","dependencies_parsed_at":"2023-02-01T01:01:40.707Z","dependency_job_id":"a36e2585-2075-42a9-b1a6-7f854c1d783b","html_url":"https://github.com/GDQuest/godot-steering-ai-framework","commit_stats":{"total_commits":127,"total_committers":9,"mean_commits":14.11111111111111,"dds":0.4409448818897638,"last_synced_commit":"9d7cf0deff805d8f2a5316c33f3c85cffa3376a7"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDQuest%2Fgodot-steering-ai-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDQuest%2Fgodot-steering-ai-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDQuest%2Fgodot-steering-ai-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GDQuest%2Fgodot-steering-ai-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GDQuest","download_url":"https://codeload.github.com/GDQuest/godot-steering-ai-framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223047271,"owners_count":17079084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","algorithms","artificial-intelligence","framework","game-development","gdscript","godot","godot-engine","godot-game-engine","steering-behaviors"],"created_at":"2024-08-01T20:00:59.436Z","updated_at":"2024-11-07T22:31:06.149Z","avatar_url":"https://github.com/GDQuest.png","language":"GDScript","funding_links":[],"categories":["GDScript"],"sub_categories":[],"readme":"# Godot Steering AI Framework\r\n\r\n![Project banner](./assets/banner.svg)\r\n\r\nThis project is a framework to code complex and smooth AI movement in the [Godot game engine](https://godotengine.org/), in GDScript, using steering behaviors. It works in **both 2D and 3D games**.\r\n\r\n➡ Follow us on [Twitter](https://twitter.com/NathanGDQuest) and [YouTube](https://www.youtube.com/c/gdquest/) for free game creation tutorials, tips, and news! Get one of our [Godot game creation courses](https://gdquest.mavenseed.com/) to support our work on Free Software.\r\n\r\nIt supports all essential steering behaviors like flee, follow, look at, but also blended behaviors, group behaviors, avoiding neighbors, following a path, following the leader, and much more.\r\n\r\n- [Godot Steering AI Framework](#godot-steering-ai-framework)\r\n  - [Getting the framework](#getting-the-framework)\r\n  - [Introduction](#introduction)\r\n  - [The framework](#the-framework)\r\n    - [How it works](#how-it-works)\r\n  - [Documentation](#documentation)\r\n  - [Contributing](#contributing)\r\n  - [Support us](#support-us)\r\n  - [Join the community](#join-the-community)\r\n\r\n## Getting the framework\r\n\r\nThis repository contains the framework and some demos for learning purposes. You can download a copy by clicking the green _Code_ button and clicking _Download ZIP_. Then, copy and paste the `addons/` directory into your project.\r\n\r\n## Introduction\r\n\r\nIn the 1990s, [Craig Reynolds](http://www.red3d.com/cwr/) developed algorithms for common AI behaviors. They allowed AI agents to seek out or flee from a target, follow a pre-defined path, or face in a particular direction. They were simple, repeatable tasks that could be broken down into programming algorithms, which made them easy to reuse, maintain, combine, and extend.\r\n\r\nWhile an AI agent's next action is based on decision making and planning algorithms, steering behaviors dictate how it will move from one frame to the next. They use available information and calculate where to move at that moment.\r\n\r\nJoining these systems together can give sophisticated and graceful movement while also being more efficient than complex pathfinding algorithms like A\\*.\r\n\r\n## The framework\r\n\r\nThis project is a framework for the [Godot game engine](https://godotengine.org/). It takes inspiration from the excellent [GDX-AI](https://github.com/libgdx/gdx-ai) framework for the [LibGDX](https://libgdx.badlogicgames.com/) java-based framework.\r\n\r\nEvery class in the framework extends Godot's [Reference](https://docs.godotengine.org/en/latest/classes/class_reference.html) type. There is no need to have a complex scene tree; you can contain that has to do with the AI's movement inside GDScript classes.\r\n\r\n### How it works\r\n\r\nIn GSAI, a steering agent represents a character or a vehicle. The agent stores its position, orientation, maximum speeds, and current velocity. The agent stores a steering behavior that calculates a linear or angular change in velocity based on its information.\r\n\r\nThe coder then applies that acceleration in whatever ways is appropriate to the character to change its velocities, like RigidBody's `apply_impulse`, or a KinematicBody's `move_and_slide`.\r\n\r\n## Documentation\r\n\r\nThe framework's documentation and code reference are available here: [Godot steering AI framework documentation](https://gdquest.gitbook.io/godot-3-steering-ai-framework-reference/)\r\n\r\n## Contributing\r\n\r\nIf you encounter a bug or you have an idea to improve the tool, please [open an issue](https://github.com/GDQuest/gdscript-docs-maker/issues/new).\r\n\r\nIf you want to contribute to the project, for instance by fixing a bug or adding a feature, check out our:\r\n\r\n1. [Contributor's guidelines](https://www.gdquest.com/docs/guidelines/contributing-to/gdquest-projects/).\r\n1. [GDScript style guide](https://www.gdquest.com/docs/guidelines/best-practices/godot-gdscript/)\r\n\r\n## Support us\r\n\r\nOur work on Free Software is sponsored by our [Godot game creation courses](https://gdquest.mavenseed.com/). Consider getting one to support us!\r\n\r\n_If you like our work, please star the repository! This helps more people find it._\r\n\r\n## Join the community\r\n\r\n- You can join the GDQuest community and come chat with us on [Discord](https://discord.gg/CHYVgar)\r\n- For quick news, follow us on [Twitter](https://twitter.com/nathangdquest)\r\n- We release video tutorials and major updates on [YouTube](https://youtube.com/c/gdquest)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGDQuest%2Fgodot-steering-ai-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGDQuest%2Fgodot-steering-ai-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGDQuest%2Fgodot-steering-ai-framework/lists"}