Thursday, June 23, 2005

Big is the new Small

It's been interesting to see how technologies have been shifting from the very small (i.e. pixel & vertex shaders, dynamic lighting, self-shadowed models, etc.) to the very large (mapping entire worlds out, streaming cities and levels, building accurate terrain maps).

The CrystalSpace mailing list has been having an interesting discussion on the topic of how to create very large maps. This is of course a big concern for MMORPG's and RPG's, but it has become of increasing concern for anyone who wants vast, open-ended maps.

It's not quite as simple as it might seem. Not only do you have to worry about terrain maps seamlessly being stitched together, but you also have to worry about where you do your clipping, if you still use portals to decide what gets rendered and what doesn't, if you have entities and items still loaded without an actual mesh to sit in, if you'll use LOD (dynamic level of detail) to manage rendering far-away objects, how you'll quickly determine what sectors can be rendered, how to best stream data to the engine, blah de blah de blah.

I recall the same thing happening with shadows - except the emphasis was on polishing the small details. Here bumpmapping and shaders really came to be - new hardware conventions that allowed a greater level of detail than before. Now that we've figured out how to have eerily realistic lighting, shadows and mapping for the many details on today's high-poly models. Are we going to have to perform a similar re-invention for the very large as well?

It looks like the new Unreal 3 engine is. For example:

Artists can build terrain using a dynamically-deformable base height map extended by multiple layers of smoothly-blended materials including displacement maps, normal maps and arbitrarily complex materials, dynamic LOD-based tessellation, and vegetation layers with procedurally-placed meshes. Further, the terrain system supports artist-controlled layers of procedural weathering, for example, grass and vegetation on the flat areas of terrain, rock on high slopes, and snow at the peaks.


Neat stuff. Now artists can easily build large maps that have realistic environmental details - without having to model every nook and cranny by hand. Here the engine dynamically builds the "repetitive" stuff for you - so you can work more on layout than on building one hundred shrubs in the landscape. The UT3 engine still makes individual models look beautiful, just like everyone else's engine right now. But they're also spending the effort on making the BIG level models look just as immersive - without a million-person team of artists.

No comments:

Post a Comment