Submitted as a final project for my Game Programming class at Columbia College Chicago, this game is a 2D top down infinite twin stick shooter. The player shoots their way through waves of enemies that come right towards them. When every enemy in the level is beaten, the level ends and a new shortly begins with more enemies. The game will end when the player runs out of their lives, as there is no ending, the levels go on infinitely.
This was a solo project, any assets seen in the game with the exception of sound and certain scripts that were made by my Professor Jeff Meyers, such as the enemy spawners.
Want to give it a try? Click the button below to go to the itch.io page!
This project is without a doubt the cleanest project I've ever coded. Our professor was a big advocate of coding things out clean and having objects be controlled through inheritance. Objects such as the player and the enemy inherit from abstract classes and there's various managers to keep the game in check, such as a game status manager to look at winning and losing states. As far as the game itself goes, it's a very basic twin stick shooter with infinite levels, and it's a genre I had been fascinated in for a while and now had the chance to make. Getting the game itself up and running wasn't hard, and once the infinite levels and rising difficulty was coded, it was basically finished. The biggest problem with this game was balancing it. At first, it was too hard, I threw way too many enemies at the player from the start and levels would take too long to finish. But, there was a glaring error in the level design. The old level was designed in such a way where the player could stay in the middle and not even need to move to kill all the enemies. So the level was modified, with the spawns being move to prevent the player to be able to accurately shoot into the spawner zones. Now this game is currently in a state where I'm happy to show it. Improvements will hopefully come in the future, like controller support.