It's all in your head, Part 8

The only place you'll ever hear the truth
User avatar
Chris
Introversion Staff
Introversion Staff
Posts: 1172
Joined: Sat Nov 25, 2000 7:28 pm
Location: Cambridge, UK
Contact:

It's all in your head, Part 8

Postby Chris » Sun Jan 27, 2008 10:40 pm

I don’t actually have much to say for this blog entry – but I do have a small set of screenshots I wanted to post up here. I’ve spent less time recently on the city generator and have instead dived down one level deeper – generating the geometry of the buildings themselves. Here you can see a test skyscraper with some structural details on each floor.

Image

Image

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 :)

Image

Image

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.

Image

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.
Last edited by Chris on Sun Jan 27, 2008 10:55 pm, edited 1 time in total.
User avatar
Xocrates
level5
level5
Posts: 5262
Joined: Wed Dec 13, 2006 11:34 pm

Postby Xocrates » Sun Jan 27, 2008 10:53 pm

*drool*

That is all
User avatar
vanarbulax
level4
level4
Posts: 653
Joined: Mon Oct 01, 2007 8:51 am
Location: Sydney, Australia

Postby vanarbulax » Sun Jan 27, 2008 10:54 pm

Wow the cities are looking amazing now. The layout looks so much more impressive when you can see the difference between large skyscrapers and small buildings instead of just small and big blocks. While I like the night shots you posted I think the bright yellow roads are just far to distracting for me they sort of hide the detail of the city when your eyes are focusing on them, maybe a fainter glow or small glowing circles by the side of the road like street lamps. Anyway this looks fantastic and I can't wait to see what the results of fine tuning the buildings will be.
User avatar
NeoThermic
Introversion Staff
Introversion Staff
Posts: 6256
Joined: Sat Mar 02, 2002 10:55 am
Location: ::1
Contact:

Re: It's all in your head, Part 8

Postby NeoThermic » Sun Jan 27, 2008 11:49 pm

Chris wrote: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.


Hmm. Pop sounds like you're using an outright replacement, rather than LOD deformation. Find a copy of "Decimation of Triangle Meshes" by W J Schroeder, J A Zarge, W E Lorensen (Proc. SIGGRAPH 92, pp 65-70, 1992). The basics of their technique is to
  • pass over each vertex in a mesh
  • if a given vertex matches a pre-defined decimation criterion, then remove it
  • with the hole, fill it with local triangulation
  • repeat until the LOD required is reached


Or, you can go Hoppe's way and do progressive meshes (H Hoppe, "Progressive Meshes", Proc SIGGRAPH 96, pp99-108, 1996). The long and short of his technique was to use edge collapsing to remove polys, which is not only faster to do, but gives a slightly better LOD result.

If I'm wrong and you're using one of the above techniques, then I'd be interested to know which :)

NeoThermic
User avatar
djspiewak
level0
Posts: 5
Joined: Mon Nov 20, 2006 9:47 pm
Contact:

Gradient LOD

Postby djspiewak » Sun Jan 27, 2008 11:53 pm

I'm no game developer, but it would seem to me that the key to the unnoticeable LOD engine would be extremely gradient levels. In the real world, the eye naturally misses detail as the distance increases, but it's an extremely gradient function. Likewise, even with full detail on the entire virtual world, detail is lost due to the finite resolution of pixels. If you can tune the generator detail at a fine enough level (to the point of several different detail levels for even a small window on a skyscraper), it should be completely indistinguishable from normal resolution. In other words, suppress the generating of any detail which will be lost anyway when rendered on the screen. Theoretically, this could even make the lower-detail objects appear far sharper than otherwise, due to the more precise control of information loss in pixel rendering.

Just a thought...
In the beginning, there was Uplink. Uplink rocked. Then there was Darwinia. Darwinia rocked. Then there was Defcon. Defcon... Hey, I think there's a trend here!
koorb
level1
level1
Posts: 16
Joined: Fri Jan 21, 2005 9:03 pm
Location: Leicester
Contact:

Postby koorb » Mon Jan 28, 2008 12:40 am

This is precisely the type of game that makes raytracing seem very economical.
skull13
level3
level3
Posts: 340
Joined: Sun Apr 16, 2006 10:51 pm

Postby skull13 » Mon Jan 28, 2008 12:58 am

Hmm...
An RTS with several levels of command...
in building AND in city.

Whu?
Oh, sorry, just dreaming out loud.

PLEASE OPTIMIZE THIS SOMEHOW!

Defcon barely runs above 15 fps on my Mini G4 (1.25 GhZ)
And if I zoom out all the way in 6 player, I start lagging...
Very sad.
User avatar
Pox
level5
level5
Posts: 1786
Joined: Sat Mar 03, 2007 11:23 am
Location: Melbourne

Re: Gradient LOD

Postby Pox » Mon Jan 28, 2008 1:16 am

Wow... I concur with droolage. I'm using that wallpaper at the moment... any chance of a render without the pixelisation? I mean it's darwinia-style and all, but I think a clean one would be better personally.

djspiewak wrote:I'm no game developer, but it would seem to me that the key to the unnoticeable LOD engine would be extremely gradient levels. In the real world, the eye naturally misses detail as the distance increases, but it's an extremely gradient function. Likewise, even with full detail on the entire virtual world, detail is lost due to the finite resolution of pixels. If you can tune the generator detail at a fine enough level (to the point of several different detail levels for even a small window on a skyscraper), it should be completely indistinguishable from normal resolution. In other words, suppress the generating of any detail which will be lost anyway when rendered on the screen. Theoretically, this could even make the lower-detail objects appear far sharper than otherwise, due to the more precise control of information loss in pixel rendering.

Just a thought...


That kind of detail control would be great for rendering optimization, but think of the amount of processing required - it would probably offset the polygon benefit entirely.
User avatar
Cooper42
level4
level4
Posts: 810
Joined: Tue Mar 13, 2007 3:04 pm

Postby Cooper42 » Mon Jan 28, 2008 3:02 am

Very pretty...

I really like the low-res wallpaper image (It is suppsed to be lo-res, right - not just opera screwing it up again?). It's a nice aesthetic, just a thought, but could the game not be forced to run at a lower resolution and thus save graphic processing? I like the lo-res feel - kinda fits well with the low-texture detail but very high model complexity.
Whoever you vote for, the government wins.
jacksaywhat
level0
Posts: 1
Joined: Fri Jul 21, 2006 12:20 am

Great Job

Postby jacksaywhat » Mon Jan 28, 2008 5:05 am

Game's looking fantastic! Keep up the great work!
User avatar
Pox
level5
level5
Posts: 1786
Joined: Sat Mar 03, 2007 11:23 am
Location: Melbourne

Postby Pox » Mon Jan 28, 2008 6:30 am

Cooper42 wrote:Very pretty...

I really like the low-res wallpaper image (It is suppsed to be lo-res, right - not just opera screwing it up again?). It's a nice aesthetic, just a thought, but could the game not be forced to run at a lower resolution and thus save graphic processing? I like the lo-res feel - kinda fits well with the low-texture detail but very high model complexity.


Yes, the 1920x1200 wallpaper image is a small section of the 1600x1000 image blown up, so it is meant to be pixelated.

Personally I don't think it would be nice when playing... nor would the performance benefit be great, as the current model is vertex-limited I'm sure.
Adam Black
level4
level4
Posts: 594
Joined: Mon Mar 18, 2002 5:37 pm
Location: London, England

Postby Adam Black » Mon Jan 28, 2008 6:39 am

I'm not sure what people are actually drooling about - there's no game yet. Sorry if my imagination seems more dormant than yours but until I can see what I'm able to do with this city as a player, my chin is going to stay firmly dry.
User avatar
Pox
level5
level5
Posts: 1786
Joined: Sat Mar 03, 2007 11:23 am
Location: Melbourne

Postby Pox » Mon Jan 28, 2008 6:47 am

Adam Black wrote:I'm not sure what people are actually drooling about - there's no game yet. Sorry if my imagination seems more dormant than yours but until I can see what I'm able to do with this city as a player, my chin is going to stay firmly dry.


Well, it's not any kind of gameplay we're drooling at - it's the scope of the procedural generation we're seeing here and it's potential. Considering this is a fairly early unoptimized tech demo, the fact that Chris has got the generator creating the city on the fly at such detail levels is great, and I can't wait to see what IV is going to do with it.
Adam Black
level4
level4
Posts: 594
Joined: Mon Mar 18, 2002 5:37 pm
Location: London, England

Postby Adam Black » Mon Jan 28, 2008 6:57 am

Don't get me wrong, I'm not saying this insta-city is rubbish, just that it will all be for nought unless the interaction is worthwhile.

Hmm, I suppose this isn't the right thing to be saying considering the Darwinia incident... okay...

*drool drool drool*
Let's kick this bitch into overdrive.
martin
level5
level5
Posts: 3210
Joined: Fri Nov 19, 2004 8:37 pm

Re: It's all in your head, Part 8

Postby martin » Mon Jan 28, 2008 10:53 am

Chris wrote: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.


I do hope not! I want great games from IV for years to come ;)

and that doesn't mean you should spend years developing subversion either :P

anyway, this is all looking extremely cool, and this should turn really exciting once you start adding some gameplay elements in.
GENERATION 22:The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.

Return to “Introversion Blog”

Who is online

Users browsing this forum: No registered users and 7 guests