One of the cooler technologies that has really come of age in the past few years is level of detail. It doesn’t get as much attention as it deserves.
But it’s a big, big deal in terms of letting us make a game that scales seamlessly from an old laptop all the way up to a Core I7 system with a monster video card.
Level of detail lets us seamlessly use different models and assets depending on the level of detail a user needs.
To illustrate this, let me use something as simple and basic as the cloth map in Elemental.
Detailed:
A nice simple picture right? You can’t easily tell but it has a nice texture that makes it feel like it’s part of a cloth map (ah, screenshots are so limiting sometimes).
Zooming out, now a different image is used that uses less memory.
Zoom out further and now you can probably tell that a different image is used. But when zooming out quickly, the transition is subtle.
Zooming out even further yet a simpler version is brought up.
So why do this?
Because by doing this, you can have a much much more complex world and a lot “fancier” graphics than one would expect to be able to have even on slower systems.
Level of Detail as evolved over the years in response to the demand that people be able to have their cake and eat it too – people with high end systems should get beautiful graphics and people with older systems should still be able to play an attractive game at a decent speed.
And bear in mind, this is alpha level here. We haven’t even started working much to make it “pretty”.
In our case, we want to have randomly generated worlds that are FULL of lots of exciting things without having to compromise.