GDX AI, a Java based AI library that works with (but doesn’t require) LibGDX just released version 1.7.
- Updated to libgdx 1.7.1
- API Addition: added GdxAI service locator that reduces coupling with libgdx and allows you to use gdx-ai
out of a libgdx application without having to initialize libgdx environment, so avoiding the waste of resources
and the need of native libraries; see https://github.com/libgdx/gdx-ai/wiki/Initializing-and-Using-gdxAI
- API Change and Addition: Messaging API
* Removed delta time argument from the update method of the MessageDispatcher; the new GdxAI.getTimepiece().getTime() is internally used instead.
* Added return receipt support, see https://github.com/libgdx/gdx-ai/wiki/Message-Handling#return-receipt
* The report method of PendingMessageCallback now takes an additional argument for the return receipt.
- API Change and Addition: State Machine API
* Now the StateMachine interface has a generic type parameter for the state.
* Added owner's getter and setter to the DefaultStateMachine; also, the owner is now optional in constructor.
- API Change and Addition: Behavior tree API revised and improved, see https://github.com/libgdx/gdx-ai/wiki/Behavior-Trees
* Now tasks have a status that is updated each time they run.
* Added enum support in behavior tree files.
* Now parallel task can specify sequence or selector policy.
* Added cancel method for task termination, mainly used by the parallel task.
* Now you can add listeners to the tree in order to be notified when a task has run and a child is added.
* Now task methods setControl, success and fail are final.
* Now method addChild is final and Task's subclasses have to implement addChildToTask.
* Added decorator tasks Repeat and Random.
* Added leaf tasks Failure, Success and Wait.
* Added branch tasks RandomSelector and RandomSequence; removed deterministic attribute from Selector and Sequence.
* Now the UntilFail decorator succeeds when its child fails.
* Added ability to clone tasks through third-party libraries like Kryo.
* Added support for custom distributions in behavior tree files.
* Now LeafTask usage is less error prone thanks to the execute method.