Ex Machina

Date Completed: February 2019

University Year 2 Term 2

The first group collaboration of Year 2 resulted in a game based on the themes explored in the film 'Ex-Machina'.


You are an early AI prototype, and the objective is to escape Nathan, the creator. Within a 2D side scrolling environment, there are 5 levels within the game, the first level being fairly easy and the 5th level very hard. As the player progresses through the levels, your character is upgraded to a future generation AI that has new abilities available such as being able to access power ups to help the player overcome obstacles and challenges within the game.


Noteworthy additions

The player sprite was needed to show signs of improving/evolving over time, and this was represented by an evolving hand-drawn sprite sheet. As the player progressed to later levels, the animation code would dynamically search for the file names that represented the iteration that the sprite needed to be to coincide with that level, and then updated the draw calls appropritately. My responsibility within development mainly focused on these sprite designs, and their implementation with animation in game. This resulted in approximately 30 indiviudal sprite drawings completed, 5x 4 frame animations for the players run and a 10 frame animation of Nathan laughing at the player to act as the "lose" screen if the player lost all of their lives. Both animation cycles are shown as gifs below.

The game also featured an easy extendability feature for adding new levels. The Cmake build used text documents to read in levels, where numbers could be assigned to tiles and easily loaded into the game build. We assigned numbers 0-3 to air, floor, powerup 1 and powerup 2, but this system would be very easily expandable for another 7 tile types before it would need to be redeveloped.