Procedural Content Generation
Procedural Level Generation,
with rooms of progressive difficulty.

A course project focused on generating levels and spawning enemies with variety and consistency
Procedural Level Generation,
with rooms of progressive difficulty.

A course project focused on generating levels and spawning enemies with variety and consistency
Random corridors generate in lines of various sizes, creating a more consistent look. Occasionally, corridors create forks to additional corridors, and eventually create rooms (code snippit of random corridor generation)
Rooms get generated from edge of corridors as squares and require enough space to generate (code snippit of room generation)
For simplicity, room and corridor variations take existing rooms and remove tiles in specific patterns, sometimes combined with other variations to create combinations for more variation (code snippit of room variations)
Sometimes, corridors and rooms of certain size do not have enough space to spawn, to avoid "incomplete" looking rooms, a brute force approach of attempting different corridor/room sizes and orientations are attempted (code snippit brute forcing)
Enemy spawns are based off of quadrants of the level. Amount and type of enemies are spawned based on quadrant and room size
Code snippit of enemy spawning