Slashdot Mirror


The Importance of Procedural Content Generation In Games

Gamasutra reports on a talk by Far Cry 2 developer Dominic Guay in which he discussed why procedural content generation is becoming more and more important as games get bigger and more complex. He also talks about some of the related difficulties, such as the amount of work required for the tools and the times when it's hard to retain control of the art direction. Quoting: "Initially, the team created a procedural sky rendering approach based on algorithms — which led to a totally unconvincing skybox that was clearly inferior to what a hand-authored skybox would be. 'We considered it to be a total failure,' he said. He explained that a great deal of focus must be put on the tools that surround the algorithms, to allow the systems to be properly harnessed. In the end, the game shipped with a revamped procedural sky system that ended up much more effective than the first attempt."

2 of 160 comments (clear)

  1. Absolutely by Mad+Merlin · · Score: 5, Interesting

    If you've never made a game yourself, you'd be amazed at how much work it is to create content. Speaking as someone who has made a game (see Game! - The Witty Online RPG), I'll tell you it's way way more work to create content than it is to create game engines or anything else code related. Try looking at the credits for most any game created in the last 10 years and you'll probably find at least 5 content creators (artist, story editor, copy writer, map/model creator, etc) for every 1 programmer, if not more.

    So, absolutely, procedural content generation is a huge boon if you do it correctly, much like the "social" aspect of Web 2.0 was a boon for the web, when done correctly. Of course, it's also tricky to do correctly, very few games are there at the moment, and it'll probably take awhile until we have lots of good examples.

  2. Fractal Generation by mcrbids · · Score: 5, Interesting

    Ever look at a city from the sky? No, not some 707 that jumps to 30,000 feet in a matter of seconds, but in a small plane? Google Earth is an approximation - but you lose the depth of everything, and all you see is rooftops. Go up in a small plane at 2000 feet above a medium-sized city (100,000 and up) or bigger. As a private pilot, I get plenty of chances to do so.

    One of the things that never ceases to surprise me is just how... fractal most cities are. Houses are lined up in neat rows along streets that are usually either straight or follow some landmark, EG: a river. Most towns (in California) have an older "downtown" that is always a grid with closely packed, multi-story buildings, alongside an "uptown" that widely spread out, grid-shaped buildings with large parking lots, surrounded by the "burbs", older homes on wide, grid-shaped streets and newer homes on windy, curved streets that tend to roughly follow landmarks. New cities (built in the last 50 years or so) don't have a "downtown", just an "uptown", but they all have an uptown.

    Freeways mostly go between the downtown/uptown areas, and then spread out in a roughly bicycle-wheel shape, towards the nearest large community. Like I said, it's not a great substitute, but ste here's a stereotype California city.

    I don't know, but these basic development patterns hold true down to the very substance of the buildings themselves... Older buildings use lots of brick or wood, newer buildings tend to be stucco and wood-based plywood paneling. Larger new buildings tend to be steel and concrete, larger old buildings tend to be... brick.

    If you created a pattern based on the age of the parts of town, and then applied a fractal pattern based on age, you could probably come up with an extremely realistic-looking city with very little effort. Automatically, with roads that make sense (EG: don't lead nowhere) and houses that look like real neighborhoods, etc.

    Combined with a bit of a "noise factor" and the results would likely be indistinguishable from a real city. Heck, you might not even need to save the actual city - if the results are generated by a fractal math function, you'd just need to store a seed, an integer or somesuch so that the city can be auto-generated on demand.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.