Mansion Maniac (NYPL Labs)

Now you can explore procedurally generated historical apartment buildings! When you walk through a doorway, the generator adds a room from a collect of annotated rooms from real early 20th century New York City buildings.

Built by Mauricio Giraldo for the New York Public Library Labs using the library’s extensive collection of public domain resources, in this case blueprints of apartment buildings. The source code is on github for your perusal.

Since the rooms are all from historical blueprints, jumbling them together makes the already intertwined New York City resemble Çatalhöyük, a BLDGBLOG-worthy union of the earliest and latest metropolises.

There’s quite a bit here that we can unpack. First, it’s a prime example of using unusual inputs to add order to a generator. The rooms generated by this are already more interesting than generic dungeon corner piece #7. Even filtered through the chopped-up blueprints, they retain some of their original history, giving them an unseen but felt depth. There’s lots of public domain resources out there that can be used for similar effect in your own projects.

Second, by using historical data we can get a feel for what these rooms were like. While the generated floorplans are ahistorically chaotic and random, the experience of walking through them (and reading the labels) gives us a tiny glimpse of context for the original setting they were in. The interactivity also makes us more likely to engage with them: it’s a rare person who has the time to peruse musty tomes of blueprints, so this presentation makes them much more accessible. As a bonus, the source data is linked, so if this sparks your interest you can go and hunt down the originals. This is a great example of one way that procedural generation can be used to explore real-world subjects, by looking at them as systems rather than as lines on a page.

Finally, the source code for the project is available. It might be interesting to see what would happen if you take the generator a step further. Can you design an algorithm that creates a plausible floorplan, one with more order? Or one that uses rooms from a different source, such as archeological floorplans from Minoan palaces? Or perhaps you can take these rooms and transport them to a different context: what about exploring a fantasy dungeon whose rooms are secretly based on New York City apartments? Or maybe you’ll find a way to add another layer to the generator, and use the output for music, or painting, or dancing robots.