The maze problem: Edges were only checked one direction in cancel_list Solution: Check in both directions What if we removed a few extra panels? Say, 5 more after we're fully connected with no cycles? What if we stop short and don't connect every node? Then we have secret rooms Can we mark them somehow? We'll have to figure out if a room is disconnected What if we stop once there's a connection to a particular spot? It'll be sparser farther from the origin Buildings! Unlike mazes, landscapes, and fractals, this isn't a classic CS problem Not like mazes, where there are a half dozen well-tested methods There IS prior work here, obviously Like Minecraft Or CityEngine So we're left a little more alone here than with other tasks A difficulty: Buildings are designed Landscapes are kinda procedural anyway Same with plants Buildings are designed for a particular purpose Pieces often have a structural purpose Or are a skeuomorphism Shutters that don't shut, brick facade, etc Can we dress up our maze algorithm as a building generator? It'll need a roof of some sort A floor probably shouldn't be bigger than the floor below it Usually, but not always true of buildings Might be good if it had a pitched roof Maybe later Windows: Easy answer: Exterior might have a window Could model this as a hole We could say it's a ruin... Could also have a window in the texture Partial transparency is possible too We haven't really done that yet Added bonus: The interior will be explorable Materials and product photos: A lot of the time, they're actually pretty good textures Usually copyrighted though Lab on this: