Haven’t posted yet this Ludum Dare. Kept hoping to have some better progress to show, but with < 30 minutes before the deadline, it ain’t happening. Ah well, I’ve learned a heck of a lot, probably more than last time around.
When we last spoke, I was pondering a rioting game based on traversing the edges of voronoi diagrams. I ultimately abandoned this midway through on Saturday for two reasons:
I decided that ultimately procedurally generating a city was a more interesting problem to me than making a game at the moment, and switched gears. In particular, making an open-sourced Clojure implementation of the “CityEngine” as described in the paper Procedural Modeling of Cities (PDF). The basis of this is what the authors call an “Extended L-System.” Basically, an L-system is a context-free grammar where all the rules are applied in parallel as successive generations of change.
Progress is slow (somewhat faster now that I switched to Quil from Seesaw as my UI library) but here’s what I have so far.
The basis for directing road growth in the paper is an externally supplied topography (basically boundaries for where roads can exist) and a population heatmap. I’ve combined the two into one image where black is “no one at all lives here because it is water. DO NOT GO HERE”.
This is a few generations into my roadways. Right now they’re very dumb in that they exclusively target population centers without taking into account other nearby roads. Making them road-aware is probably the next step.
Anyway, I suppose technically this is mission failed since I have nothing to submit, but I’m happy with my progress and and I plan on seeing this through. There’s no open-source implementation of this in any language that I can find and the paper leaves much to the reader (as any good academic paper should) so I feel like I’m doing some real trailblazing!
Now if I can just find a way to work on Quil in the REPL without crashing it every 20 minutes, I’ll be happy.
An extremely timely and focused list of books, games, movies, and miscellanea I enjoyed throughout 2023
I’m done with roleplaying deal alerts, but I’m still passionate about helping roleplayers find great games
With no particular order or structure, these are random things I’ve been enjoying lately