pyGOAP - .3
basic implimentation of goap planning.
goap is: Goal Oriented Action Planning
goap tries to make virtual character come alive through planning. behaviors are programmed, but they don't have to be explicitly linked. action planning is done at run time using the a*star pathfinding algorithm.
The main concept of GOAP is that AI is not a static table or set of states. Rather, GOAP uses a A* like search to find solutions to goals at runtime. This frees the designer of setting up complex behavior trees.
There is a test called pirate.py. It more-or-less test/demos the GOAP library. You should be able to run the pirate demo and watch how he satisfies his goal: getting drunk.
Check out the source comments and also the tutorial.
New changes bring new possibilities. Actions and goals can now be generated and modified at runtime. Because of this, the planner is much more flexible and able to handle more situations.
This is a simple map that shows where the objects are in the environment, although there needs a lot of work to get it to be more meaningful.
I am releasing this now, although it is not finished. Planning works pretty well, but the actions are not complete. If you are interested in this project, please send me an email at leif.theden [at] gmail.com.
Feel free to run the simulation and read the output. Many of the modules can output more debugging information by changing DEBUG to 1 at the top of the module.