Hivemind is a 2D shooter where you play as an Alien attempting to assimilate and consume human soldiers and turn them into mindless slaves. Goals and outcomes Hivemind was the first Game I wrote in C++ using Microsoft Visual Studio. The process first began with the building of a Maths library which included classes for Vectors and Matrix 2,3 and 4, which include basic functions such as addition, multiplications and more specific such as Translation, Rotation or scale then using the library and a provided AIE library to build a 2D game of my choice which included these elements. The process also involved learning about programming concepts such as collision or hierarchies, which I had made use of in unity but never truly understood.
All art and music used in this project was downloaded from opengameart.
While the focus of the game was learning C++ programming, the design goal of this game was Chaos. While balance passes were made to make the game 'fun', the game's concept and goal was to make a game as chaotic as possible, within reason. While there is a manual mode, by default, the player's character will automatically fire bullets that allow them to take control of an enemy on impact. The chaos comes from the fact that once controlled, the new slaves will also fire when the player does, and will turn back into enemies upon being hit by any projectile. Furthermore, the main alien dying results in an instant game over.
In Swarm mode, the player's goal is to assimilate as many humans as possible.
In Titan Mode, the player's goal is to control then consume as many enemies as possible. Controlling 5 enemies causes the player to destroy them and 'grow', increasing its size which in turn increases speed and makes it increasingly difficult to avoid bullets and move around the arena without bouncing off another target!
I built this game over the course of an AIE class called Maths For Games.
Unfinished, please edit.
Students work through creating a basic math library to fully understanding the formulae needed to manipulate the Vectors and Matrices used within all games. This library is created as a library that can be redistributed and used within other applications. To ensure the mathematical formulae are correct the maths library will be tested with a Unit Testing application to ensure that the output is correct. Students will also explore basic collision detection techniques used in video games to determine when objects come in to contact with each other and various other needs First Experience with collision. Experience with bouncing, and velocity were rudimentary, so collisions are basic, but good enough for the project. When a character hits a wall, it's velocity is simply multiplied by -1, and walls are simply defined by screen size, not actual obstacles.