Descent is a procedurally generated rougelike where the core mechanic is light manipulation. You throw a ball of light around both to see and fight enemies
Although I helped bugfix things like the balls bounce trajectory, my main role on the project was to create the dungeon generation. The dungeons generate in a piecewise fashion. The algorithm simply creates what it calls a "Hallway" which is a straight line of unspecified length. After doing so, the algorithm chooses to branch more hallways out in a pseudo-random fasion. It does this until it gets to it's maximum number of rooms. It then determines which room is the boss room.