SMU Guildhall Graduate Catalog 2026 Cohort 34 | Page 88

Procedural 2D Grid Based Dungeon Generator for Traditional Roguelikes

Daniel HE

Software Development

Procedural 2D Grid Based Dungeon Generator for Traditional Roguelikes

My Thesis focuses on the development of a procedural dungeon generator designed to create levels that exhibit both artificial and naturalistic characteristics, while maintaining a clear gameplay-oriented structure. The generated environments ensure a coherent and logical progression to the next level with binary space partition, with balanced distribution of enemies and loot spawn from a weighted list decided by distance fields, and non-intersecting pathways. The generation process is driven by noise-based random number generation, ensuring full determinism and reproducibility of each dungeon configuration.
Procedural generation is a powerful technique in game development for enabling infinite replayability by algorithmically producing vast and varied level configurations. A primary challenge lies in ensuring that generated content is not only structurally diverse but also meaningful and functional from a gameplay perspective.
This thesis presents a procedural dungeon generator designed to produce levels that are both visually and functionally distinct, while adhering to clear gameplay objectives. The resulting dungeon is spatially well-distributed across the map, features a path to the next level of reasonable length, and includes balanced placement of monsters and chests along the player’ s traversal route. Features in the artifact include:
• Path created from binary space partition
• Caves created from cellular automata
• Automatically tiled walls, ceilings, grass
• Seven visually distinct biomes
• Even spread of enemies and chests
• Procedurally generated equipment
• Leveling and stat distribution system
• Extensive customizable generation options
Working on this project greatly improved my understanding of noise and procedural generation, especially the importance of combining multiple methods together to create the procedural generator of my own.
88 SOFTWARE DEVELOPMENT