I brought you my very first Lua binding for LifeAI, an open-source C++ library for Artificial Intelligence decision-making.
Same rules of Fenrir's ImGui applies to this binding too like pointers, etc. There're function overloads in C++ version, so to make the functions in Lua I decided to make numbered functions according to their order in the lai_wrap_cpp.h (e.g. int laiMake( int type, int num0 = LAI_NULL, int num1 = LAI_NULL, int num2 = LAI_NULL ) to lai.Make2). I only make binary for Win32 x86. Currently I'm focusing on recreating the demo. It may take awhile.LifeAI is an open source C++ library for Artificial Intelligence decision-making. It can be integrated in video games, robotics, or anything that requires simulated intelligence.
Entities and actions are created in C++ and text files with LifeAI's syntax. Entities have characteristics that describe them called "stats". They consider their value of the stats and how much they are modified to assess the "pros" and "cons" of an action. They also consider their value of other entities involved in the action and how it affects them. They can then determine an overall value for performing the action.
As stats in the simulation change, LifeAI updates the best action options for the entities. The actions can then be implemented as needed in a simulation.
Demonstrations of LifeAI can be viewed here. Code for a simple test application is included with the LifeAI source code.
You can find the source code and releases in the repository. Any feedback is welcome.