Kontagion was a game that I worked on during spring quarter of my junior year for about a month. While I had tackled a few big CS projects before, this was my first time implementing game design principles and structures into the process.
In Kontagion you have been shrunk down and must defend the petri dish against waves of bacteria in progressively more difficult levels.

Some Key Features
It’s hard to get a feel for the entire game just based on the gif above so here are some of the things going on behind the scenes.
Player movement in a circle is based on the angular distance from the center of the screen, always at a fixed radius. Enemy spawning is based on the current level. A higher level means more enemies.
Enemy movement depends on the enemy type. There are passive bacteria that move randomly, semi-aggressive bacteria that lock on when close, and aggressive bacteria that chase from anywhere on screen.
Random terrain generation happens on every new level. Dirt mounds absorb shots and bounce enemies off at random angles. Powerup spawning around the outer ring where the player moves. This includes things like health, point, and alternate projectiles to shoot. Scoreboard that keeps track of progress. Every enemy and powerup is assigned a specific point value.
Closing thoughts
While development isn’t really the main focus of what I do, I think it is still extremely important to understand exactly how designs are implemented.
Having knowledge of coding is invaluable to the design process because it lets you know what is and isn’t possible and communicate better with the developers. Overall I had a lot of fun with this project, and am really pleased about how it turned out!