Procedurally Generated maps - Inspired by Nuclear Throne

Nuclear Throne is a bullet hell roguelike video game developed by Vlambeer. It's highly addictive and has endless playability because it has a different maps every time you play it.

I wanteded to try an implement something similar to this.

Image

I start with an empty matrix for the grid, and variables for the room width and height.

A tile can be of three types - Empty, floor, wall.

Then I'm using process where create a struct called walker which has a vector for its direction and its position.

The next step is to setup the room and create a given number of walker.

The walkers randomly move or change direction or die.

Then if the room is filled above a cetrain percentage all the walkers are killed

Then floor tiles are placed at every position of a walker has been on. Then a wall tile is placed in the empty adjacent position of every floor

Image

Procedural generation adds so much more content to a game, but it needs to be done properly otherwise you're just choosing quantity over quality (Hand crafted levels)

This was just to learn, I would love to explore other methods of Procedural generation for my own games.