Anna Howard
Games Computing Graduate & Programmer/Game Developer
Overview
Metropolis was developed in C++ using SDL2 and other SDL2-based libraries (including SDL2_Mixer) as part of university coursework. The game was designed with the requirement of being only one minute long.
In Metropolis the player and enemy alien take turns moving and attacking each other. The game is played on a randomly generated grid containing big and small yellow wall tiles which neither the player nor alien may occupy.
Each turn lasts 6 seconds, with the game lasting at most 10 turns. The player wins if they kill the alien and loses if the time runs out or if they are killed by the alien.
Metropolis uses original art, music, and sound effects.
Reflection
Metropolis had to have a few features cut during development due to time constraints. The most notable of these was a more advanced version of the cover system within the game. The originally planned version would have taken into account distance and the angle at which a wall provides cover, allowing for flanking.
If Metropolis was developed further the scoring mechanic could be improved to be more nuanced, as an example gaining more points if an attack deals more damage. The 60 second game length could be scrapped, which would allow for multiple enemies. However, the six second turn time would likely remain to keep the combat feeling fairly snappy and quick paced.
Design
A custom cursor is used within the game with a context sensitive selection box. This indicates if a tile can be moved to, if it takes one or two actions to get there, and if the tile contains the enemy alien.
Being positioned next to a wall provides a non-stacking reduction to the chance of being hit by an attack. Large walls grant a greater reduction with small walls granting a minor reduction.
Whenever the player hits the enemy alien they gain 20 points, when the alien hits them they lose 10 points.
The game engine had to be built from the ground up as SDL2 only provided window management features, with additional libraries providing image and audio file loading features.
Metropolis
Game Developed in SDL2