

The nice thing about this system is it’s all plugged together – fly near enough to a building in the City view and you’ll now see the detailed façade, and fly inside the building and you’ll start to see the building geometry itself being generated and rendered. As I work on improvements to the building generator algorithms, those improvements automatically percolate into the 10Km city generator and add more and more detail to the world. For example, look closely at the buildings in this shot near the camera - you'll see a lot of extra detail starting to appear. You'll also see a few errors if you look closely



These particular city shots have between 30,000 and 50,000 buildings in them and currently bring my decent PC to it’s knees. It’s dealing with around a third of a million textured and lit quads – which is to say almost 700,000 polygons per frame. Running hypothetically at our target of 60fps, this would equate to 42 million triangles per second – extremely hard work for even the best graphics hardware. (Although you’ll often hear graphics card manufacturers and console developers quoting hundreds of millions of polys per sec, this is usually only the case in extremely optimal conditions that only ever seem to occur in marketing departments.) I’m absolutely nowhere near done regarding city detail yet, so clearly something will have to be done about this fairly soon. I’ve started work on a basic Level Of Detail system to try to render distant buildings at lower details, but it currently suffers from the same problem all LOD systems fail to hide : your eye is constantly drawn to the dividing line between high detail and low, and you see things popping between the two, which looks naff. The widely used alternative solution – to clamp the camera at about 10 metres off the ground pointing permanently down, is completely unacceptable for this game.
I’ve been getting a little tired looking at the dull blue-grey look of the City generator, so I’ve also been experimenting with some alternative atmospheres. This particular method brings out the detail in individual windows and makes for great night shots.

Click here for a great wallpaper based on this.
Subversion is at a crossroads right now – it could go in several different directions. My gut tells me I’ve spent long enough generating cities for now, and the results are pretty good – it’s time to move in a level and start thinking about the buildings themselves. I’m actually thinking of starting work on the Simulator next. In other words, the system that simulates the activity of the world and lets you interact with it in interesting ways, otherwise known as The Game. It’s become obvious that some people within Introversion – Mark in particular – are nervous there is no game to show for all this blue-sky work so far, and are probably quite-rightly worried we’re dealing with another Darwinia. But my mind is pretty clear – I can see the game playing out in my head – it’s just a very long way off, almost impossible to create at this point even after all the work that’s been done. It’s very easy to get lost in one particular area – like fractal tree generation in Darwinia, which I spent weeks working on while ignoring the major problems with the game itself. I can feel Subversion solidifying, but it’s a slow process, as anyone who’s been watching the evolving city shots will know. Subversion is undoubtedly the most ambitious game we’ve ever attempted to create – massive in scope and totally uncompromising in it’s requirements. But every day I work on it I’m even more convinced - this is the big one, Introversion Software’s Magnum Opus, and it’s going to be the best game we will ever make.