With Subversion this is already beginning to happen, and this time around it’s all about patterns. Staring out of a train window at some faceless tower buildings on the way to Kings Cross, I’m starting to notice how similar they all look to each other – to imagine how they have been built based on what is fundamentally the same blueprint as each other. I’ve been looking closely at maps of the worlds major cities, and the more I stare at them the more it’s clear to me that huge but very simply patterns exist, both at the microscopic and macroscopic level, in every city all around the world. There seems to come a moment when something clicks, and suddenly you feel like you have x-ray vision and have seen something larger that previously you had never noticed.
The second Subversion prototype has been started, and this time it’s all about Buildings. Specifically, procedural generation of Office Buildings. The first thing that was obvious is how similar the algorithms are to the previous prototype – the same fundamental code that generated those large cities and street networks can be used to generate office layouts. Instead of extending streets we are extending walls, and instead of searching for blocks (surrounded by streets) we are searching for rooms (surrounded by walls). It’s also exactly the same code that can convert a city block into a set of allotments, with each allotment containing one building.
The only thing that really changes is the rule that governs how a line extends. In a city the lines represent streets, and they naturally extend towards population centres, often following global angles and patterns. In a city block the lines represent the edges of allotments, and they follow global angles and the nearby street angles more closely (typically 90 degree angles). In an office the lines represent walls, and divide up the available space into manageable rooms. The placement of the walls is more deliberate than the placement of streets (since they are designed by an architect's conscious choice, rather than sociological patterns), and this has resulted in the office generation looking less like an office than it should, since there is too much randomness in they layout currently. Truth be told, i'm not particularly happy with the results so far - they don't evoke quite the right feeling of a city office that I was aiming for. But its all just slightly different numbers feeding into exactly the same algorithm.
In other words, I now have in my head an algorithm that is astonishingly simple, yet can single-handedly generate a city from the satellite view all the way down to the desks and chairs within a room. Is it a coincidence that the world follows such a pattern at every level? I think not. And I’m starting to wonder how far in these patterns go – I wonder if I investigated the layout of an average office workers desk, I’d see the same subdivision occurring, with phone / monitor / keyboard / mouse occupying each subdivided space.














