I’ve been ripping out the skeleton from Dungeon Monkey Eternal and genericizing it for GearHead Caramel. Python has made this process far easier than it would have been in (non-Object) Pascal. The random map generator presented a special challenge because of how much game-specific stuff it relies on, such as the terrain list and wandering monster mechanics. To get around this problem I added an Architect class that translates generic map generation requests, such as “draw a floor here” or “add a door there”, into game-specific operations. Plus, because it’s object oriented, I can always subclass the generic Room or SceneGenerator classes to do anything I want. You can check out my progress at GitHub.
The character in the above screenshot was drawn by my son, and presumably won’t be appearing in the final game.