VIRTUAL ARCHITECTURE, JUST LIKE NATURE

dynamic interactive SWARM BASED ARCHITECTURE

Static Architecture: The Current Paradigm in Games and Life

The current paradigm for architectural work (both in VR worlds and in game engines) involves modelling and/or procedurally generating a mesh and then “baking” it. Baking means freezing its form. From there, the building is imported into the game world. This has a rough analogue with the real world. We make a building, and then the building sits there (as in the image to the right). Sometimes, we’ll destroy it, knock it down, and build something new in its place. You could imagine, however, in the far future, a kind of robotic building that could reconfigure itself for various purposes; or, perhaps even a building with a factory inside it that could grow (we could imagine this as a far future scenario).

Dynamic Architecture: Buildings that Move, Grow & Change

But— imagine a kind of intermediate scenario where we make, in games and in VR, buildings that grow and change and can reconfigure themselves during play. (1.) This would be a way to prototype the future of robotic buildings, (2.) as well as— also, it would be an interesting exploration of the unique affordances of virtual architecture itself. Imagine buildings as vast machines that can adapt to their environment; imagine buildings as a kind of lifeform.

Interactive Architecture: Buildings that Respond to Our Needs

These buildings that grow and reconfigure themselves could operate autonomously; however, what would truly be interesting is if the building were a kind of interface that human beings could program. Then, the building (or urban paradigm) could evolve and shift as the needs of its inhabitants evolve and shift. Again, this does happen in the build environment we know of, but the timescale is incredibly slow. Architecture inside of virtual worlds and game worlds could rapidly shift to accommodate the needs of the virtual inhabitants. If we’re in a game world, we could talk about buildings shifting for attack and defense (somewhat like in fortnite). If we’re talking about a VR world, as more players log into the space, the space could shift to accommodate them, (grow new alcoves for new private meetings, e.g.).

Swarm Based Architecture: Massive Rapid Responsiveness

What if, with some minor construction, buildings could configure themselves out of components that were aware of each other? What if these components were also aware of other environmental features? What if they assembled in formations above the landscape, moving and adjusting to the weather, the conditions, the movements of players, each part of the building responding by sensing around it, as responsive as a termites building a termite nest. Rather than a player having to program every aspect of these dynamic buildings, a player could lay out a general directive, and then the building would dynamically respond to local evolving conditions.

Neuroevolution: Virtual Urban Superorganism

Now, furthermore, imagine if the player/designer doesn’t have to program the building (or the building and its smaller robotic constituents), but imagine that these constituents themselves learn what the player/designers want and need and also evolve novel solutions and strategies that the player/designer could not have predicted. We see a lot of that currently happening in reinforcement learning. When agents play against themselves, they come up with all sorts of novel strategies that their designers did not predict. This should be the kind of set up we make here: ask the city to optimize itself to the number of inhabitants, learning what inhabitants desire, e.g.. Or, create the best military fortifications while getting feedback from players, etc.

Implementation: The Tools Exist

So far, there is no current technical solution to this. Grasshopper allows you to create procedural buildings with animations inside Grasshopper, but there’s no good export solution. Houdini is an amazing tool for procedural generation, but it operates on the same paradigm of baking and does not run in real time. The studio believes the solution is possibly the following. We need to run a rhino compute server (it is a headless server that accepts calls for executions of grasshopper commands). The game engine would send a query to the server and one of the swarm members (there are already swarms in unreal) would then execute the function. This is the basic implementation. In Unreal, there is also a machine learning plugin and system set up. If we could achieve the above, we would then look into reinforcement learning for these agents (i.e. giving each of them a brain — and giving all of us something truly interesting and strange, just like nature).