The Return of the Dungeon Generator
So, no, I hadn't forgotten about it, but with my tendency to procrastinate as soon as life gives me a break, this project had been gathering dust for quite some time. Against all odds, I dug it out from the depths of a folder on my hard drive with the idea of reworking it, or even (crazy and pretentious as I am) finishing it, trying at the same time to conquer—for once—one of my most persistent demons: projects started but never finished. Thanks to global warming, I was able to spend a few days cooped up indoors to escape the heat and work on continuing this project. Well, actually, I started it all over from scratch :) Still built on Lua (which reminds me of my first love, Tcl) and its Löve framework (for doing 2D without reinventing the wheel). So here’s a more or less stable version of Isometric Dungeon Generator (aka IDG). And yes, I know, it’s not an isometric projection, but who cares—it’s just its nickname. So, what exactly does this revenant from beyond the grave do? It lets you:
- randomly generate dungeons with square rooms and straight corridors with turns
- scatter doors (possibly secret ones), pillars, traps, pits, skeletons, and of course treasures throughout them
- influence all that randomness by adjusting the weights that govern the spawning of these objects
- render all of this using sprites that I half-stole (shh) and half-made myself
- export a superb .png of the whole thing
- and also export a .json file
What does it look like?
A zoomable overview of the dungeon:
A zoomable “internal” view of the dungeon that lets you visualize the underlying logic behind object generation:
A configuration window to control (to some extent) the parameters of the generated dungeon:
So, in the end, what’s the point of all this?
- Well, for starters, so I can look at my screen and say out loud: “Did you see that? I did it!” (and, incidentally, to post here once every two years)
- To accept that I’ll always be light-years away from the quality of projects like Dungeon Map Generator (acceptance's always the first step)
- And it’s the first step toward my original idea: coding a single-player dungeon crawler, in the style of 2D6 Dungeon, even though lately I’ve been eyeing 5 Torches Deep more (I love the tension of managing torches)
See you in 3 years. And remember:
None of us are promised tomorrow. Life is uncertain. So... eat your dessert first.
Peace. Out.
(yes, the last sentences were a bit Matthew Colville influenced. Just a bit)
