Genesis Tower
Take down a rogue AI in this procedural top-down shooter.
A 2D top-down shooter where you’re a wee little robot, built to destroy everything that moves in the seemingly infinite complex.
There’s no overarching end goal outside defeating the Core Machine boss at the end of each level, and the levels don’t change much aside from layout, so have fun exploring and fighting until you reach certain destruction!
How it started
During my course of study, I took a module about level design. The goal was to make a simple, 2D top-down procedural dungeon crawler, and we were given small amounts of art and code in the form of a few basic shapes and really rudimentary functionality to achieve the assignment requirements.
Over the course of 6+ weeks, I wrote my own code, made my own pixel art, and figured out how to use a simple beat sequencer. I exceeded the basic requirements of the project, because my aim was to make a cool game that would be fun in and of itself, and not just a bare-minimum project submission. Hence, Genesis Tower.
Highlights
Level Design: Procedural Room Generation
The main goal of this project was to combine the randomness of procedural generation with the intentionality of curated levels. I was mostly inspired by the way Warframe randomised its mission levels by connecting various “tiles” together. Similar to how I inferred Warframe’s systems would work, I created a system of “Doors”. Each door would always lead to another room. This allowed rooms to branch out and diverge from a main path, by adding multiple doors to a single room tile. The random generation algorithm would also randomly delete doors from rooms to randomise the positions of each resulting door. If the random generation algorithm ran out of length for the branch, it would delete all other doors leading out of the room, turning it into a dead end. By adjusting the length of the main path and its branches, it was possible to create a level of any length, that was either very linear, or very windy.