/gdx-ai

Artificial Intelligence framework for games based on libGDX or not. Features: Steering Behaviors, Formation Motion, Pathfinding, Behavior Trees and Finite State Machines

Primary LanguageJavaApache License 2.0Apache-2.0

Build Status

An artificial intelligence framework, entirely written in Java, for game development with libGDX.

The gdxAI project is a libGDX extension living under the libGDX umbrella. However it does not force you to use that specific framework if you do not wish to do so. The libGDX jar remains an essential requirement, mostly due to the use of libGDX collections which are optimized for mobile platforms by limiting garbage creation and supporting primitive types directly, so avoiding boxing and unboxing.

GdxAI tries to be a high-performance framework providing some of the most common AI techniques used by game industry. However, in the present state of the art, the gdxAI framework covers only part of the entire game AI area, which is really huge. We've tried to focus on what matters most in game AI development, though. And more stuff will come soon.

Currently supported features are:

  • Movement AI
    • Steering Behaviors
    • Formation Motion
  • Pathfinding
    • A*
    • Hierarchical Pathfinding
    • Path Smoothing
    • Interruptible Pathfinding
  • Decision Making
    • State Machine
    • Behavior Trees
  • Infrastructure
    • Message Handling
    • Scheduling

Getting Started

News & Community

Check the libGDX blog for news and updates. You can get help on the libGDX forum and talk to other users on the IRC channel #libgdx at irc.freenode.net.

Reporting Issues

Something not working quite as expected? Do you need a feature that has not been implemented yet? Check the issue tracker and add a new one if your problem is not already listed. Please try to provide a detailed description of your problem, including the steps to reproduce it.

Contributing

Awesome! If you would like to contribute with a new feature or a bugfix, fork this repo and submit a pull request. Also, before we can accept substantial code contributions, we need you to sign the libGDX Contributor License Agreement.

License

The gdxAI project is licensed under the Apache 2 License, meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. We love to get (non-mandatory) credit in case you release a game or app using gdxAI!