31.10.08

Why don't we see more generative methods in modern games?

Playing through Fable 2 this week, I was awe struck by the large vivid world and its numerous trees, flowers, grasses, hills, rivers, buildings, etc. It has been beautifully constructed by an army of artists, each of the (10 million plus) flowers placed by hand. In scope it falls behind Oblivion, but it is much more beautiful and the elements more tightly integrated. Both of these games, to my knowledge, do not use any runtime generative methods to generate their worlds. If only part of the cpu was used to generate additional detail when requested, these worlds would appear infinitely more complex.

Imagine walking up to a tree and being able to examine the subtle geometry and texture of the bark. In implementation, we can either store the bark geometry (but imagine the space requirements for that) or generate it whenever we need it. When a player walks close enough to a tree, the cpu cycles devoted to procedural content would begin the process of generating the finer bark detail. There are simulation methods that will generate the necessary texture and geometry (albeit they need some work to run quickly.) When the player moves away the detail would then be either thrown away and regenerated again when needed or cached for later. This technique allows trees to have unique texture, takes up zero storage space, and costs nothing when trees aren't examined.

I believe the poor uptake of generative methods lies in their poor integration into existing tools and lack of intuitive parameters for artists. More and more tools are appearing now which adopt some procedural methodology (CityEngine, GML, Xfrog) so hopefully we will soon see the integration of more advanced generative techniques into virtual worlds and games.

No comments: