Algorithm design
In order to successfully design an algorithm for a randomly generated dungeon, we need to define what we mean by dungeon. In video games, a dungeon is typically an enclosed labyrinth-like level with a start and an end. A subgenre of games called a dungeon crawler gets its name from having the player complete many of these levels known as dungeons. Roguelike games are also known for their dungeon crawler style game play but with the extension that the dungeons are procedurally generated.
So our aim is to make a maze-like level layout and design. There are plenty of maze creating algorithms that are well defined and documented on the Internet. You should spend some time looking at some of these maze creation algorithms and trying to understand them. However, we will be writing our own algorithm to get the most exposure to the topic.
Algorithm overview
We can create the dungeon, much like we do the game world board. We will lay out tiles representing the floor for our player...