During this week we have been introduced to a more complex AI behavior. Flocking, like the behavior animals exhibit when in large groups, is the simulation of this behavior by following three main rules. This behavior is also known as emergent behavior and can be used to simulate chaotic or life like movement. This behavior, from a gameplay perspective can be very beneficial as it can lead to new and interesting situations. I am unsure on if we would apply this behavior to our enemies as they have predetermined paths. Nonetheless it was exciting to see how this is simulated through the use of a few rules to follow and some methods to enforce them.

These rules are alignment; this causes to the individual to align with those that are around it. The next is cohesion; this causes the individual to move towards the center of the group, basically to move towards the average position between all of those within the radius. And the final rule is separation; where it essentially tries to avoid collision with the other entities within its radius. By following these rules we created a small demonstration of the flocking behavior.

Regarding the progress of our project from the animators they have been making small adjustments to the characters and are waiting for approval before they start modeling, also, we have received a rough model for the map layout so far so that we can begin testing on it. it is nice to receive something so that they can see what their exported model looks like in Unity. On the programming side we have made some progress with the prototype, we have enemies performing their basic functions like navigating around the new map and detecting the player but now we are working on linking the behavior tree with mechanim to play the appropriate animations like attacking, running, dyeing, among others.

Some of the problems we have to resolve and adjustments we have to make are: with our current player camera it does not collide and so it clips through objects, linking RAIN AI with mechanim correctly, integrating our work and continuously testing for errors, setting up a repository so that integration is easier, among other things. With problems outside of actual programming is with the current state of the team; as some members are unsure if they want to continue taking it and as a result there is a lack of progress in the project and tension with the group members. As group leader I should take a more active role in addressing these problems with my group members so that everyone is clear as well as notifying my instructors/facilitators. Another fault I have seen is that as group leader I feel I have been to lenient when tasks are not completed.

 

 

Leave a comment