DHMC Dev Diary 5/23/16 – AI Update

The original AI in DHMC was structured in a way that made things difficult to make it smarter and harder to predict. We decided a full rewrite of the AI was in order to address these issues.

We have chosen to use a couple of approaches to fix these issues. The first issue causing difficulty in the live implementation is the overall structure of the coding, which was very difficult and time consuming to implement new features. This has been replaced by something called a behavior tree. Behavior trees allow you to break up the AI into tasks, for instance a task to go from where the AI is standing to a position on the map somewhere. Then from there you can build a tree structure based on logic nodes and these tasks to create the AI. Not only does this allow for easy addition of new tasks the AI can perform, but it also simplifies making multiple types of AI (patrol, sentry, etc.) The other benefit this provides is we can create simplified trees that do certain things to test the parts before testing the whole tree.

The other issue of predictability we are working on is to create a maneuver system. You could think of this like plays in football. Basically the AI chooses a strategy when engaging in combat like a circle maneuver where it circles the target while firing at them. By creating a lot of these maneuvers for the AI to choose from, it can make the AI less predictable vs the current AI in live which always uses the same tactics.

These things form the basis for a simple AI like we had before, but gives the ability to add on more complex things like squad based AI. We will have more footage and information in a later update on the AI system, but I will leave you with a screenshot of the AI firing at other AI.

To join the conversation hit the forums:
http://steamcommunity.com/app/266470/discussions

To keep up to date join the official game group:
http://steamcommunity.com/games/dhmc

This entry was posted by maxtech on May 23, 2016 at 1:12 pm, and is filed under Dark Horizons, General. Follow any responses to this post through RSS 2.0.
Both comments and pings are currently closed.