Evo-Strike

Download V1.0 Here

Poster

In my master’s year at Swansea University, my final project involved creating a video game with the unique AI mechanic of evolving using genetic algorithms. Evo-Strike is an arcade space-shooter style game in which the player controls a ship, which can shoot, destroy asteroids, pick up power ups, and score points, as they try to destroy the incoming waves of enemy ships.

Gameplay

In the game, enemies improved automatically over successive rounds. This was achieved by storing a ‘genome’ of stats for enemy ships, and rating enemies’ performance according to a specified fitness function which takes many factors into account (e.g. lifespan, shots on target, speed, survival). The ‘fittest’ of the enemies would produce offspring with similar stats and a few mutations for the next wave, and the weaker enemies would be forgotten. As rounds went on, it became clear that this mechanism of improving game AI is effective in increasing challenge for the player, even when there were no programatticaly defined instructions to increase enemy ship stats.

Most Powerful Enemy

Other than the unique game AI, many other aspects of the game were built upon over the lifespan of the project. Some of the additional features achieved included:

  • An alternative camera view to make the game 3rd person

3rd Person

  • Fine-tuning of a customisable set of graphics settings to give best performance on a range of target systems

Graphics Settings

  • Object pooling to improve game performance on low-end systems.

Unity Editor

  • Controller mappings to give the choice of playing on keyboard & mouse, or a game controller (e.g. XBox)