Page 1 of 8

It's all in your head, Part 6

Posted: Fri May 18, 2007 12:25 pm
by Chris
One of the yearly traditions for Introversion is to participate in the Imperial College Games and Media event, which takes place every year during May and is always very popular. Imperial College generally invite speakers from the games industry to talk on academic subjects related to games, so you get lots of lectures about the current state of the art in AI, current techniques in face rendering etc. The audience is usually 90% students from Imperial, and there’s often a good selection of speakers – David Braben is often there explaining why Elite IV still isn’t in development, and Peter Molyneux usually gets the headline slot talking about the love he hopes to foster between a man and a dog, or some such thing. We’d like to think we’re invited along because of our status as prominent indie developers, but we suspect our Imperial College alumni status is the bigger reason. After all, Introversion Software was formed in the very lecture theatres we are now speaking in.

We're doing quite a lot of these talks at the moment – keep an eye on our Events page if you’re interested in hearing / meeting us. We often break our presentations into segments, with different directors (usually two) taking different parts. Mark often does a good summary of our company and usually goes on to tear into the publishers for offering little except funding and taking pretty much everything in return. Tom usually speaks about our business history and expense accounts and sports cars, and I usually talk about content – specially our avoidance of it. In the case of yesterdays talk at Imperial, I gave an explanation and a live demo of our latest City Generator technology, which seemed to go down pretty well.

Image

This work is a direct continuation of the prototypes I showed in Part 3. Those prototypes have now been rewritten (properly) and lots of extra progress has been made. We now have a system that can generate a complete city from the satellite view down to individual buildings, and you can step in at any stage of development and add your own customisations, or you can just let everything generate itself randomly. You can create huge volumes of content extremely quickly, by layering generator on top of generator on top of generator. Each step of generation feeds into the next, producing incredible levels of complexity.

Image

There are several steps to generating a city, and each step involves its own special generation routine which uses the results from the previous steps as inputs. Most of our work is based on existing research done by people unrelated to Introversion – we’ve been reading everything we can get our hands on relating to city generation. For those who are interested, Parish & Mueller wrote a fantastic paper for the 2001 SIGGRAPH conference titled “Procedural modelling of cities”, which is an excellent starting point. Our prototypes from Part 3 were essentially based on that paper.

Image

I’ve made a video so you can see our generator in action. This video shows essentially what I did live in front of 150 students yesterday at Imperial (minus the hand shaking). I’m basically generating two square kilometres of city geometry in about two minutes.

Image

Here’s an explanation of what you’re looking at:

Height map generation : Here I’m manually editing a height map and creating a river, but I could just generate the whole thing, using similar fractal based techniques we already used to make Darwinia’s landscapes.

Population density : I’m marking the areas of the map that will be most densely populated. These areas will have the most roads and highest buildings.

City Centre generation : Based on the population map, it’s just searching for the high points. This is used later in road generation.

Highway generation : Based on the height map, the population density and the city centres, the Highways are automatically generated. Highways will tend to form fairly rigid patterns near the city centres, and will try to go around tall hills where possible. Highways near rivers will form coast roads that track the river, and some will be promoted to bridges where the population density is high enough.

Street generation : Streets are short local roads that connect the area to the nearest highway. In the centre of cities they form fairly predictable grid patterns.

Block generation : The street map is searched to find every possible “block”. A block is an area of land surrounded on all sides by roads, and without any additional roads running through the block area. Blocks are the area you build on, so when each block is found the land under it is flattened slightly to make building a little easier.

Building generation : Based on the population density (and eventually the zone type – residential, commercial, financial etc) buildings are generated and placed within each block. Right now this step is too simple – in reality blocks should be divided up into smaller “allotments”, and each allotment should have its own building, but we haven’t gone that far yet.

And finally, Rendering : This is our first attempt to render the results in a moody style more fitting to the game. Lots more work to be done here, but we're happy with what we have so far.

Image

Posted: Fri May 18, 2007 12:33 pm
by Rkiver
That's quite a lot of work in such a sort space of time, it's very impressive. The cities have come a long way from just basic city spread, and building design, to now actually look like the basis of a city you'd see in say Flight Simulator X.

All in all my interest in Subversion is definately piqued once again, but the big question remains.....what is Subversion? ;)

Posted: Fri May 18, 2007 12:44 pm
by shinygerbil
Wow, you've made a lot of progress. Impressive! It's really shaping up to be awesome, if only we knew what it was. ;)

Is Peter Molyneux an alumnus of Imperial, then? I had no idea!

Posted: Fri May 18, 2007 1:14 pm
by BrianBlessed
So no procedural generated, uber high-resolution building textures then? Pity....

Posted: Fri May 18, 2007 2:12 pm
by Rkiver
Just finished watching the video as it took a while to download. Very nice, reminds me a bit of Sim City but that's not surprising as it is making a city.

All I know is I want that generator.

Posted: Fri May 18, 2007 2:17 pm
by frenchfrog
Nice work :)

Posted: Fri May 18, 2007 2:43 pm
by KingAl
That's brilliant. The 'moody' render of the city in full motion is a sight to behold, even at this early stage of development.

Posted: Fri May 18, 2007 2:47 pm
by recover
That looks so much like the GTA maps :P

Posted: Fri May 18, 2007 3:19 pm
by Ace Rimmer
Rkiver wrote:... but the big question remains.....what is Subversion? ;)

That's easy, the prize to the unofficial tournament winner. :wink:

Posted: Fri May 18, 2007 3:43 pm
by xander
Wow. Um... Wow. Yeah. That's it.

xander

Posted: Fri May 18, 2007 4:07 pm
by gz
That is beautiful. I don't even care what Subversion may be about, that generator is absolutely fascinating in itself.

Posted: Fri May 18, 2007 6:55 pm
by Kadayi
Looking good. It's fair to assume then that the game takes place in floating environments rather than fixed (why build a generator otherwise), so it's definitely going to be strategic in nature, Corporate subterfuge I hope ;)

Posted: Fri May 18, 2007 7:29 pm
by d37312m1n3d
But if it will a strategic game, why IV is creating their Office generator? Indoors don't count in RTS'.

Posted: Fri May 18, 2007 7:50 pm
by xander
d37312m1n3d wrote:But if it will a strategic game, why IV is creating their Office generator? Indoors don't count in RTS'.

The indoors have never counted in RTSes in the past. That doesn't mean that a game couldn't be made where the indoors did count. That being said, I don't think that we are looking at a traditional RTS or FPS. This looks like something a bit different.

xander

Posted: Fri May 18, 2007 8:08 pm
by Ace Rimmer
I keep trying to tell you people that it's a Cube inspired game with the indoors being a certain level/s and the outdoors another level/set of levels.