What I ended up with
I ended up with a simulations of a game, that needs to be played with multiplayer over a network, however this part was not implemented.
What I did end up with however is as follows: The game is a fast paced game that involves three different types of insects. These insects will capture resources(neutral insects) and attempt to conquer other insects, who when conquered respawn as one of there own. The game mechanic I explored focuses around larger groups of flocks dealing more damage to smaller groups of flocks.
One of the beautiful aspects of this is that if a losing insect can ambush the opposing flocks respawn point, they can quickly capture the opposition flocks unguarded supply lines. As a result flocks have to protect there vulnerable supply lines if they do not wish to give away insects. Another aspect of the game aids the weaker insects coming back, which is if the insect flock falls below 25, it automatically generates new insects one by one. So it is up to the groups of insects to avoid the larger flocks to have a fighting chance later on.
To win the game, an insect group must be the first to 150 insects.
What else would I implement?
The first thing to implement would be the multiplayer. If I implemented this it would allow me to make the game much better as I could test and balance it with users.
I could then work on game graphics and a game interface.
Other ideas I did not implement
- Obstacles
- Different abilities for each flock
- each flock having a queen
- different characteristics depending on insect
Reflection
In reflection to my process:
I feel that I would have benefited from drawing up a week by week schedule for the development of the game. What I found was when rob went away, I lost motivation because I had no goals. As a result most of the development was done in the last two weeks.
If I were to do this project again, I would start coding earlier and playing, and would be more structured with a plan.
Conclusion
My goal in starting this project, was to explore Craig Reynolds flocking algorithm and its potential as a core for a game mechanic. My second objective, was to further increase my understanding of programming. Before coming into this assignment, my programming skills were considerably less advanced then they are now. However towards the end, I found my self whipping out code I would have feared a year ago. I feel that I have successfully found a way to adapt the flocking algorithm into an interesting game mechanic, and allthough by no means is my game finished, it does explore the possibilities of the game mechanic quite well.