Contents
Procedural Spooling In Games
 
 
Printer-Friendly VersionPrinter-Friendly Version
 


Part of:



[More information...]
 

Latest News
spacer View All spacer
 
November 21, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [10]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [9]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 21, 2009
 
Sucker Punch Productions
Texture Artist
 
Sucker Punch Productions
3D Environment Artist
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Character Artist
 
Crystal Dynamics
Sr. Level Designer
 
Monolith Productions
Sr. Software Engineer, Engine - Monolith Productions - #113767
 
Sony Online Entertainment
Brand Manager
 
Gargantuan Studios
Lead World Designer
spacer
Latest Features
spacer View All spacer
 
November 21, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [5]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [6]
 
arrow iPhone Piracy: The Inside Story [48]
 
arrow And Yet It Grows: Analyzing the Size and Growth of the European Game Market [5]
 
arrow NPD: Behind the Numbers, October 2009 [13]
 
arrow Reflecting On Uncharted 2: How They Did It [5]
 
arrow Sponsored Feature: Rasterization on Larrabee -- Adaptive Rasterization Helps Boost Efficiency
 
arrow Postmortem: Wadjet Eye's The Blackwell Convergence [2]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
November 21, 2009
 
Accepting the Inherent Value of Games
 
Planckogenesis, Part II: Song Structure & Gravy Train [1]
 
Designing Games Is About Matching Personalities [1]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  Procedural Spooling In Games
by Mick West
6 comments
Share RSS
 
 
October 2, 2008 Article Start Page 1 of 4 Next
 

[In this in-depth technical article, originally published in Game Developer magazine, Neversoft co-founder West examines how procedural generated content and compression can lead to expanding vistas for your open-world games.]

In a game where the environment and game objects are spooled from the disc as the player moves through the game world, the limiting factor in the allowable scene complexity is often a function of the data transfer rate of spooling and the virtual speed of the player within the world.

If the world has too much variety, then as the player moves from one region to another, a large amount of new data may need to be spooled from the disc in order to correctly display all the elements in the new region. If the data cannot be spooled fast enough, visible glitches may result as new geometry pops into existence.

Anyone playing the Grand Theft Auto series on the PlayStation 2 will have had the occasional experience of rapidly turning a corner and finding a large section of the road invisible for a few seconds.

If the missing elements are logically necessary for the game to work, the player may be forced to wait out these stalls in gameplay, as the missing elements are loaded.

To prevent these problems, developers should be placing limits on the scene complexity and the allowable variation between game regions.

Limits should also be placed on the maximum speed at which the player can move through the world, keeping it slow enough so there is sufficient time for the world to be updated as the player moves through it at top speed.

Disc bandwidth is frequently used as a shared resource, with the environment spooling simultaneously with the background music, voice over, and sometimes video.

So, in addition to increasing allowable scene complexity, any improvement in the utilization of disc bandwidth will allow a richer game experience with these additional audio and video elements.

Data Compression Limits

To maximize disc bandwidth utilization, the data on the disc needs to be compressed as much as possible. The greater the ratio between the size of the disc data and the system memory data, the more disc bandwidth we're able to use.

Naive lossless compression generally gives us an approximately 50 percent reduction in the size of the data. While there is frequent talk of more powerful processors (and particularly multi-core processors) that would let us use more powerful compression algorithms, the fact is that we are not talking about orders of magnitude in improvement.

On arbitrary data, advanced algorithms (such as PAQ) don't perform much more than 10 to 20 percent better than simple algorithms (such as Lempel-Ziv), despite taking more than twice as much CPU time in the decompression stage and several orders of magnitude more time in the compression stage (which can cause serious production problems by increasing build time).

It's possible to achieve more significant improvements by tailoring specific compression strategies to the data being compressed. This could involve re-ordering the data by de-interleaving data channels to allow the compressor to take better advantage of repetition within a channel (such as the X, Y, and Z channels of a vertex list).

 
Article Start Page 1 of 4 Next
 
Comments

Anonymous
profile image
The big blocker for procedural content still is that generated assets just don't look as good as hand-created ones. The promise has been there for years, and in theory it's just a matter of creating better generation algorithms, but in practice generated assets tend to have an abstract and artificial feel. This is true for scenery, models, animations, textures and even sound and music.

Artists often use real-world assets (photos, high detail models, motion captures) as a base for their work, and this is much harder with procedural methods. Until procedural systems make a quantum leap in quality, they restrict artists to create what they can with the algorithm rather than what they want with a general purpose tool.

That said, yeah if your game's art direction fits with the current state of the art in procedural generation, the benefits can be huge.

Jamie Roberts
profile image
"if your game's art direction fits with the current state of the art in procedural generation, the benefits can be huge"

The best example of course being RoboBlitz. If the game had used a natural, organic setting the procedural content would have looked horrible. But the system they used worked great for the artificial/metallic/robotic elements in the game.

Anonymous
profile image
Elite... SpeedTree... Spore... Procedural will never be a solution for everything. It is just a tool to be explored. Example:
http://mrl.nyu.edu/~perlin/facedemo/

Hélder Gomes Filho
profile image
In fact procedural content is underrated, I see already great procedural content around, you just need to look!

Or play krrieger and watch .debris!

Jaco van der Westhuizen
profile image
On the quality of procedural content; I think one could use a hybrid technique. The artist starts off with a procedural model, adding artistic tweaks and photo-based additions. These tweaks and added data is stored separately from the procedural algorithm parameters, so when spooling large areas, only the parameter data is spooled, and as the viewer moves closer the artist-generated data gets loaded using traditional techniques.

I expect this will have quality about equal to modern games, but using about half as much bandwidth.

Anonymous
profile image
In the recent years, the quality of procedural content has indeed made a big leap in quality.
When looking at procedural animations from Natural Motion, procedural buildings generation or procedural textures from the folks at Allegorithmic, you realize that procedural content nowadays can look as good as hand made assets by mixing maths and physics with artistic inputs and control over these algorithms.

Of course, procedural content is not the answer to everything (yet), but with development budgets getting higher and higher, it can help in many ways without sacrificing the global quality or the artistic vision.


none
 
Comment:
 


Submit Comment