alter-ego - A Reactive AI Library

alter-ego is a reactive AI library for Clojure based on the concept of behavior trees. A behavior tree is a technique for organizing collections of states and the decision processes for when to move between them. Behavior trees have many similarities to FSMs but unlike FSMs it is very easy to see logic, they are fast to execute and easy to maintain, which makes them suitable for representing complex and potentially parallel behaviors.


Project is hosted at github, grab it here.

alter-ego is also available via clojars.

[alter-ego "0.0.2-SNAPSHOT"]

Due to a glitch in lein you need run jar/uberjar command twice in order to build the project.


After compiling alter-ego the resulting uberjar is set to run the bundled behavior tree editor. Editor allows you to build manage behavior trees. Output of the editor is a Clojure vector which can than be loaded by the library or Clojure itself if you want to do some preprocessing.