Stealth Game demo
I have been working on multiple demos lately. Today I uploaded the latest demo of my stealth game, called Stealth Game for now. It’s a simple scene with a couple of AI agents moving around between set checkpoints.
They are driven by the current version (0.62) of SimpleSteer. The recent changes have been really minor but I do plan on making some fairly substantial ones over the next month maybe. I’d also like to update the documentation and the example project to hopefully get more people to try out SimpleSteer.
So the short-term plan is to improve the learning material and to make some smaller improvements to the spherical avoidance behaviours. I’d also like to think about the equilibrium handling on the higher behaviour level.
The long-term plan is to implement coordinated movement, that is movement of multiple agents in formations. This could be used for both combat formations and things like two NPC walking around talking in a street. I really have to read more on this subject first and then decide on a solution that I find most suitable for Unity.
An even longer term goal is to come up with ways to implement more advanced steering solutions like the steering pipeline method mentioned in earlier posts. This might lead to completely restructuring SimpleSteer in the future. Even though I’m fairly happy with what I achieved so far, I’m not really happy with the results in action, so I wouldn’t really mind tearing it down and building it up again.
Still I don’t think that this current steering solution is really bad, imo it’s fairly usable actually, but looking at the demo the weaknesses become obvious quite easily. A lot could be done by designing the AI behaviour to hide the issues. Limiting movement of the agents so that they never meet going through doors for example. It’s no wonder a lot of games have much of the agents standing around guarding something, or working at computer.
One of the trickiest things is reaction to the player though. If you try the demo you will see how easy it is to corner the agents and make them act really stupid. If the basic avoidance worked somewhat better this wouldn’t be so much a of a problem (not a steering problem at least), since most of these situations should be handled on the higher AI behaviour level. If the player gets too close to the agent it could be ordered to stop. This way a really awkward looking collision could be avoided. The only problem with this is how the agent should react to such situations. Detecting whether the player is currently blocking a door for example seems like a complex situation check.
Very action and fighting oriented games have it easy in this regard. Interaction with the player character becomes very trivial if the setting allows for an attack on sight behaviour. Of course I still write this from the point of view from someone who is currently working on AI steering, since combat behaviours can become just as complex.
Well, that’s it for today. Bye!