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.
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.