![]()
A city is a complicated thing. With districts becoming neighborhoods, neighborhoods becoming streets, streets becoming homes, homes becoming rooms, and so on, there's a near-fractal level of every-increasing detail. So how do you build one in a videogame?
Grand Theft Auto has long been associated with the creation of realistic, living cities, with Liberty City in GTA IV arguably the peak of that art. Every corner is stuffed full of interesting things to see. But the problem with that approach is that it's very labour-intensive -- creating so much content by hand requires huge teams of designers, modellers and artists, and therefore you have to make compromises, like not allowing the player inside the majority of a city's buildings.
Introversion Software, the independent games studio behind cult titles Uplink, Defcon and Darwinia doesn't have the resources to hire legions of artists and designers, so it's taking a different strategy -- procedural generation. Procedural generation is a programming technique where pseudorandom number generators are fed into an algorithm, and that then cranks out a near-infinite amount of content. Streets, lamp-posts, rooms, buildings, and anything else that a city needs can be assembled in a relatively short space of time just from a string of numbers.
Cities aren't just villages, but bigger - cities represent an evolution of progressively complex relationships, as humans trying to more efficiently access, control, and share resources. The design of complex and networked environments in which humans interact with resources and other humans trying to access resources is actually very fascinating.
The above is a signal of an interesting concept - that our understanding of how these networks operate is becoming sophisticated enough that we can think about how to generate them automatically. In the above, the only thing being algorithmically generated is the details - "lamp-posts, rooms, and buildings," but it reminds me of how we are also beginning to generate and recreate complex networked infrastructures like rail systems, as illustrated below inĀ Slime Mould Simulates Tokyo Rail Network:


