Game Development Week 7 – Blog #5
Throughout this week I have worked on a range of tasks for the project, some of these include converting blueprint agents to C++, bug fixing and tweaks to the gameplay.
The largest task was the conversion of the AI and Squad Manager from its blueprint state to a C++ implementation, the C++ has made it a lot easier to add to the agents in the future and has stopped us from having to search through webs of blueprint that become unmanagable and hard to debug. Bradley and I worked on the C++ conversion together he figured out the logic and I wrote the code and offered what advice I could.
We started by creating C++ classes for the three types of agent and the three controllers that was unique to each type of agent. These classes all inherited from a baseSpider class which had the very basic implementations for what each spider would do. We also created leader classes that all also inherited from the baseSpider these contained the information required for confirming things like the squadID and if they’re a leader.
We then moved onto creating the Squad Manager which would find all of the Melee and Ranged spiders for the use of assigning them as leaders and then also finding all of the swarm agents to assign to the leaders. We introduced multiple squads in this implementation unlike the blueprint version so now there can be multiple leaders and multiple squad. Squads can merge if they have lost their leader allowing the smaller spiders to be reused. This peer programming experience helped me to understand fundimental aspects of the C++ coding for Unreal Engine 4 and has given me a great starting point to continue more of my work with C++.
The rest of the week I have worked on the Child and Spiders implementing their skeleton meshes, they’re yet to be textured or animated but they’re in and the child is ready to have her basic animations implemented by either Bradley or myself. I also worked on fixing bugs within the behaviour tree’s of the agents and refining they’re movement and attacking behaviours.
Finally I have fixed a few bugs including the Wolf’s howl correctly slowing down the agents nearby, slowing the agents down in general as they were incredibly quick and tweaking the Navmesh to support better movement throughout the gameworld.
The C++ agents still needs some work so that the squad spiders run away from the player if they have lost their leader and more tweaking of movement and patrolling.