Menger Sponge Arcology
Early in 2022 I woke up from a dream thinking "how would you make a megacity like the ones in Blade Runner or The Fifth Element more pedestrian-friendly?"
I still wanted to keep the accessibility to flying cars but to prioritize pedestrian access. I started thinking about bridges and spaces of different sizes, and about Barcelona's super-illes, and eventually realized I was basically reinventing the Menger Sponge.
I don't want to just make a big glassed-in building in this shape, though that would work - I'd like pedestrians to be walking around outside, enjoying the air and the views. My concept is sidewalks between small buildings, on every other floor, with missing buildings or missing sidewalks periodically to allow vehicular access.
I ended up rendering a version of it in Minecraft. Please imagine that there are railings around the sheer drops :)
I found a citation for NYC's density so my population numbers are between that and half of that.
The basic block is a building consisting of four 4-story units.
Each of these units is 10 meters square and 16 meters high.
This could be a set of apartments, or a tall store or office, or a small store on the bottom floor and apartments above. A large and/or rich family might use the entire unit.
In some cases a large residence/market/office would use more than one of the units in a block, or all 4. In other cases a single unit could be split into multiple sub-units.
My density estimates aren't very meaningful at this resolution but they suggest an average of 13-27 people living/working in this unit.
In my prototype I left a 3-meter sidewalk around the block, resulting in 6-meter streets between blocks.
This sidewalk might be a meter thick to provide space for utilities and such.
Some of this surface could be mesh or glass to allow more light in.
The entire block is the size of a basketball court, but keep in mind it's four stories.
The first menger iteration would be 66 meters wide and 48 meters high. This is the ground area of the famously small city blocks in Portland, Oregon.
It would have 3 levels (12 floors) and population would be in the 260-540 range.
The Menger pattern creates two levels of 8 blocks separated by a level with 4 blocks, with 30-meter-wide open spaces between the blocks on the middle level, and a large open vertical shaft in the center.
This shaft is 22 meters square, as each iterations open spaces are the size of the previous iteration.
I imagine that there would be stairs and elevators in some corners of the vertical shaft.
The middle level might have more stores or restaurants, with a small park in the horizontal open space or just a wider boulevard. This is 4 stories tall so small slow traffic would be ok if necessary.
These open spaces end up joining up with adjacent ones in the next iteration, creating 48x66 meter channels between the vertical shafts.
Iteration 2 is 198 meters square and 144 meters high.
It has 9 levels (36 floors), and population would be 5-10 thousand.
It has a 66-meter-wide vertical shaft and 48-meter-high horizontal shafts.
These are large enough to put trees in (either in large pots or replacing some units on the next floor down with dirt) and still have room for airborne vehicular traffic.
Each horizontal park will have an iteration-1 vertical shaft in its center.
I'm imagining that the vertical shafts in this iteration are left mostly empty for traffic and air.
Iteration 3 is 594 meters square and 432 meters high. This is the height of a skyscraper.
It has 27 levels (108 floors) and a population of 100-200 thousand.
The vertical shaft is 198 meters wide and the horizontal shafts are 144 meters high.
The horizontal spaces are now the size of large city parks, though they will be interrupted by vertical shafts of the previous iterations.
They might contain small recreational buildings of their own or have more
ambitious landscaping.
At this distance transit starts to be an issue so I imagine a light rail station in a consistent corner of each vertical shaft with trains going in both directions, possibly making an intermediate stop halfway between stations,
as well as a vertical "train" that would be a few large elevators that only stop at stations (again, possibly making an intermediate stop).
This is the first iteration I wasn't able to fully create in Minecraft due to
height limitations.
Iteration 4 is 1782 meters square and 1296 meters high. This is half again as tall as the Burj Khalifa, the tallest buildling in the world in 2022. The ground area is close to Central Park.
It has 81 levels (324 floors) and a poulation of 2-4 million.
The vertical shaft is 594 meters wide and the horizontal spaces are 432 meters high.
I'm imagining a circular rail line around the vertical shaft, at the rail level, as well as some sort of vertical circular line around the horizontal shafts.
Iteration 5 is 5 kilometers square and 4 kilometers high, with a population of 40-85 million.
It would have a total room area 10 times that of NYC and a volume (including the shafts) of four Borg Cubes.
Iteration 6 is 16 km square and 11.5 km high, with a population of 0.8-1.7 billion. It would be a third again as tall as Mount Everest and have the ground area of a city like Knoxville or Sacramento.
If the previous one wasn't, this is probably the limit of what could be built on a planetary surface.
Minecraft scripts
I ended up writing two scripts to help with the minecraft generation.
They use the CraftScript functionality in WorldEdit (version 7.2).
The first, basic_block.js, expects to be run when the player is within 5 blocks of an emerald block that's in the (-1,-1,-1) position relative to the lower outside corner of a quarter of the 0th iteration - in my case, a 4-floor high set of rooms with a sidewalk above and below it.
Another emerald block should be at the other corner of the structure but at the same level as the upper sidewalk.
This unit will be copied and rotated to make a full 0th-iteration structure, 30 meters away in the positive z direction, and another emerald block will be created in the corner of the new block.
That emerald block will have a sign on it with the dimensions of the structure.
The second, menger.js, expects to be run when the player is near that block with the sign on it.
It will copy the current structure as necessary to make a menger iteration, and update the values on the sign to include the entire iteration.
So as to allow special behavior at the bottom of the chasms (like elevator floors), both the top and bottom sidewalks are copies but the copies happen from the top down.
In practice, I would update the basic block, run basic_block, move over to the menger sponge, run menger, add any special features in the open spaces like stairways, parks, and trees, run menger, etc.
Unfortunately parts of those features would be overridden when I needed to re-run the process so I needed to occasionally do some repairs.
The parts of the third iteration had to be made with careful "//stack" calls since the whole thing was too big to fit in minecraft and the script took too long to run anyway.
This page and these graphics by Denis
Moskowitz. Page created Saturday April 2, 2022. Last modified April 12,
2022.