IAUS lives!
Hello again! I wanted to report an update on the IAUS AI code. It is currently functional for the Builder Bot, with plans to expand it beyond just that entity in the following few weeks. Ok, what does all of this mean?
The current/older AI code is basically a state machine. What that means is the system follows an internal hard coded script in all effect. While this obviously works, it generally makes the AI (and therefore the objects that they control), rather inflexible. So if you shoot a builderbot, it won’t try to run, it will just sit there and take the damage. If you blow up the box it is using to hold the Ore, it will just keep going, oblivious to what just happened.
All that changes with IAUS based AI. That stands for Infinite Axis Utility System, which is an AI based on something called Utility Theory. In the end, each action is determined by a series of considerations (see screenshot in upper left corner), and those considerations are all multiplied together from curves to get a final weighted score. Which sounds like a lot of math, but it is quick math, and honestly not as nasty as one might think. But the AI makes decisions, rather than simply following a script. It uses the current world state to make those decisions, so if the world changes (such as an ore box being blown up), or an incoming enemy fleet should scare the builderbot off and retreat, then it can react in almost real time. You can look up more of how this works here: http://intrinsicalgorithm.com/IAonAI/2013/02/both-my-gdc-lectures-on-utility-theory-free-on-gdc-vault/
The other main advantage is the AI is tweakible and buildable outside of the main executable. Meaning, there is an XML file generated from a tool. This means that modders can create their own actions or tweak the existing ones if they want to change how ships or the other AIs think and even add new abilities (within reason). I want to make an “idle” pack of actions so that ships don’t just sit in space waiting for a command but some will fidget in different ways every once in a while, just to keep things more organic. This will also make the Warmaster AIs FAR less stupid and able to react, as well as give them more abilities. The possibilities are endless, which is the point, and somewhat simple to implement in comparison.
On a different note, there is about one week left in the Indiegogo campaign. I intend a surprise at the end of the campaign. https://www.indiegogo.com/projects/rank-warmaster/x/10182710#/ Thanks for your support!
Print article | This entry was posted by Arthur M. on 10/23/20 at 11:50:00 pm . Follow any responses to this post through RSS 2.0. |