Game Development Week 5 – Blog #3
This week I have continued my work on the planning and implementation of the Squad based AI and the Squad Manager that will handle them. I have gone through a few different ideas in how I and the team wanted to work, I believe we have now settled with the Squad Manager assigning swarm agents to either the Larger Melee or Ranged spider or treating those as the swarm’s leader.
Originally the Squad AI would have had a specific type of Squad leader assigned to it but we feel that going with a dynamic approach of assigning squads based on range and what’s local to the swarm would provide better behaviour for the AI.
The current state of the Squad manager is that when the game starts it will search for all of the Melee and Ranged Leaders but also search for the swarm agents, these agents then have their references stored in arrays of their types within the Squad Manager as well as their controllers so that the Squad Manager can interface with them and send them the information they need such as the swarms allocated leader and what the swarm should be doing.
Previously the Squad Manager and Agents would all hold references to one another but I felt this wasn’t a good way to implement the system and the Squad Manager should be the only one who needs to have references to anything below it this is also true for the leader agent not requiring a reference to the children as the children will be instructed by the Squad Manager which has the relevant information about the agents in play.
The next part of the implementation I have planned out and I have an idea on the approach I want to take for this. I plan to have the Squad Manager Send orders to the swarm agents about who their leader is and that they should be following and performing the same actions as their leader. If the leader dies the swarm will retreat to another larger spider in the vicinity and allocate that agent as the leader for the swarm. Hopefully this will provide some interesting behaviour as the agents retreat and act scared when they’re leader has been killed.
Thanks for reading and come back next week for Entry #4 in this series of development blogs.