Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Games Entertainment

The Importance of Procedural Content Generation In Games 160

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."
This discussion has been archived. No new comments can be posted.

The Importance of Procedural Content Generation In Games

Comments Filter:
  • Absolutely (Score:5, Interesting)

    by Mad Merlin ( 837387 ) on Wednesday November 19, 2008 @03:20AM (#25814311) Homepage

    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 [wittyrpg.com]), 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.

  • Quantity Vs Quality (Score:2, Interesting)

    by Bevilr ( 1258638 ) on Wednesday November 19, 2008 @03:44AM (#25814441)
    I often find that while procedurally generated content allows for hugely larger worlds, handcrafted ones are almost always more rewarding, even if they are smaller. Also procedurally generated content rarely creates "stunning" visuals, simply lots of visuals.
  • by Anonymous Coward on Wednesday November 19, 2008 @04:00AM (#25814531)
    the vegetation is oblivion is procedurally generated:
    http://www.barrys-rigs-n-reviews.com/reviews/2007/hardware/ev88gtx/images/game/oblivion01.jpg [barrys-rig...eviews.com]

    Also, introversion is working on something: http://www.youtube.com/watch?v=yI5YOFR1Wus [youtube.com]
  • by Alwin Henseler ( 640539 ) on Wednesday November 19, 2008 @04:16AM (#25814605)

    ... they generate buildings and clumps of grass and trees? And the textures on dirt have random mess on them to make less uniform and more believable? Something like that? (..) Are there screenshots of this?

    Just for kicks: a nice example came out of the demoscene a few years back: kkrieger [theprodukkt.com]

    I'd call it a 'proof of concept' 3D shooter. Nothing challenging, just a few levels you can easily walk through. Nothing exceptional on the graphics side. Runs on Windows like so many games.

    But: a true HW-accelerated 3D shooter. Has enemies that jump / try to hurt you if you let 'em. A few big spaces to walk around in and admire the artwork on the walls. And all of this packed in an amazing 97,280 bytes! Hell, each screenshot on that site is already half that!

  • by Bevilr ( 1258638 ) on Wednesday November 19, 2008 @04:21AM (#25814621)
    Also I think the procedural content in Farcry 2 managed to avoid being hideous, but as just mentioned, you could tell what was, and what wasn't. The sky did turn out nice though.

    I played Oblivion extensively, and while it was very pretty when you got the huge 4GB texture packs - what was pretty was the landscape, the massive vistas, mountains and valleys. In Oblivion the farther you could see the prettier it was. Almost every random spot in the woods looked exactly like every other random spot in the woods, the only exception being the swampy area in the south, which all looked exactly the same once you got in it.

    The Introversion City game is the first piece of procedurally generated content that I've seen that looks amazing. It looks like a legitimate city is being planned out before you. the final result is just like a real city's layout, both planned out, and chaotic. The cities in the tech videos reminded me of Paris.

  • Fractal Generation (Score:5, Interesting)

    by mcrbids ( 148650 ) on Wednesday November 19, 2008 @04:23AM (#25814633) Journal

    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 [google.com] 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.

  • by blahplusplus ( 757119 ) * on Wednesday November 19, 2008 @04:35AM (#25814697)

    I hear what you're saying we'll get to heavily auto-generated content sooner or later with simply advancements in math, science and technology.

    Your post reminds me of midtown madness...

    http://www.microsoft.com/games/midtown/default.htm [microsoft.com]
    http://www.microsoft.com/games/midtown/screens/feb99/bacon0033.jpg [microsoft.com]

    Midtown madness had a large play area and you could drive around and do whatever you wanted but it quickly got boring, we will still need developers to tune the experience and the content. I imagine autogenerated content will not be enough, there will always be tuning required and always the need for artists and animators for art direction, and such like.

    But just generating content for contents sake today is not what is going to make a game, you have to have interesting things to do and interesting characters that inhabit them. There is one thing that makes game memorable are hitting all the notes, some games get it all right (god of war comes to mind) but most others get a few right (mainly visuals) and everything else barely passable.

    I can only imagine how long it took to tune the game mechanics in a game like god of war, the settings, the camera angles, etc. It's not merely content generation, it's the experience that the developers create for the gamers themselves. Why should a gamer care about game x/y/z? what's the hook? whats the draw?

    The thing I loved about 8-bit games was that developers had to find the fun and expression of meaning within constraints and not depend on merely flash to sell games.

  • Re:Absolutely (Score:4, Interesting)

    by jonaskoelker ( 922170 ) <`jonaskoelker' `at' `yahoo.com'> on Wednesday November 19, 2008 @04:44AM (#25814739)

    If you've never made a game yourself, you'd be amazed at how much work it is to create content.

    Oh yes!

    In two or three working nights*, you can go from no OpenGL programming experience to having a working, near-complete version of tetris [and you could probably get the scoring and acceleration in there if you had coded things the right way in your first try].

    *Unless you wait 15-30 minutes for your computer to boot and shutdown ;)

    But blocks each in a single color, against a black background and some dark gray well walls... nuh-uh. You need a background texture, you need textures for all the pieces. You need to consider having multiple background textures---with and without drop hints, and with different kinds of drop hints.

    If you want wells of more than one size, you need a background texture, plus some way of generating drop hint textures from some abstract description and sprites combined to form the real well texture. And maybe a nice low-alpha image of the current block at its fast-dropped position.

    I'm doing this in 3d. Really it's 2d, but with a slightly tilted view so one can see the undersides of the blocks. Should the undersides have different textures? How should the camera control work--fixed, auto or manual? Do I need to make special overside textures as well? If you want to turn it into a tetrinet client, you need special textures (maybe overlaid textures) to indicate all the special weapon blocks.

    And I need to consider what the background of the menu should be... some sort of demo mode, perhaps? Tetris Holding LLC has a sound trademark on using the song Korobeiniki in a video game. Should I find copyright-expired versions of some of the other songs used as background music for tetris? Should I record some myself? Should I cop out and just run ~/.mytetris/{pre,host}hook from a wrapper script, such that the user can easily load tetris.m3u, but on their own and not as a part of the game?

    And that's just for frigging tetris, one of the simplest games imaginable.

  • by KDR_11k ( 778916 ) on Wednesday November 19, 2008 @05:04AM (#25814829)

    Oh hell, don't remind me. In history class we had to learn how to identify the age of city areas by their road organization style.

    I don't think organizing the houses is the hard part in generating a city for a game, painting the individual houses is. Of course you can probably use procedural generation to increase the variety but you'll still have to feed a large number of basic elements into the system to get a good range of looks instead of copypasta buildings. The player won't see a large part of the city anyway so it's more important to get the smaller details down than the macrostructure.

  • by KlaymenDK ( 713149 ) on Wednesday November 19, 2008 @06:51AM (#25815323) Journal

    Ever look at a city from the sky? [...] One of the things that never ceases to surprise me is just how... fractal most cities are.

    If this sort of thing holds your interest, you might want to spend a quarter of an hour on Ron Eglash's TED talk on African fractals [ted.com]. Just a thought.

  • by a.d.venturer ( 107354 ) on Wednesday November 19, 2008 @07:18AM (#25815433) Homepage Journal
    For any one interested further, you might want to read or help contribute to the procedural content generation wiki at pcg.wikidot.com [wikidot.com].
  • Re:Absolutely (Score:1, Interesting)

    by Anonymous Coward on Wednesday November 19, 2008 @08:14AM (#25815705)

    Actually you have it backwards. It's the 2D art stuff that takes the longest amount of time to produce. I create maps and models for various game engines (not professionally) and find that the easiest part is building the environment. What takes me the most time is creating the textures.

    To build a level I generally start by looking through images and photos. Once I have an idea of the look and feel I want, I start building the world geometry using texture appromixations for the ones that I don't have yet. After that comes the grueling part, taking pictures of various surfaces then photo editing them to be seamless, fixing perspective (if needed) and generally making them look right. For surfaces that I can't take photos of, I have to draw them by hand.

    If I had to estimate I would say 3/4 of the time I spend on making any given map or model is spent on creating the textures.

  • by grumbel ( 592662 ) <grumbel+slashdot@gmail.com> on Wednesday November 19, 2008 @08:15AM (#25815709) Homepage

    I haven't played Oblivion, but as far as I know the terrain is all heightmap based. I think a large part of the boringness of the terrain is a direct result from that and not so much the procedural nature itself. A heightmap doesn't allow sudden changed in elevation and neither does it allow overhangs, so all the basic terrain looks pretty smooth and uninteresting and also pretty much all the same. Gothic2 is one of the few games I have seen with real 3D terrain, you have overhangs, cliffs, valleys and mountains and stuff without any of the smoothness that you get from a heightmap, which makes the terrain much more interesting and unique. Now Gothic2 isn't procedural from what I know, but it demonstrates nicely the different between a heightmap based terrain and a real 3d terrain.

    In the long run I think there isn't much way around procedural content, sooner or later I want a GTA type game where I can enter each and every building and that isn't ever going to happen with completly handcrafted content. Some pieces like a satirical advertisment billboard will still need to be handcrafted of course, but a lot of things are procedural by nature (rust, decay, grows of plants, destruction, etc.) and thus its just natural to simulate them automatically via software instead of using an artist to create them.

  • Re:Procedural Muscle (Score:3, Interesting)

    by Koiu Lpoi ( 632570 ) <koiulpoi AT gmail DOT com> on Wednesday November 19, 2008 @08:18AM (#25815733)
    I recommend .debris [theprodukkt.com]. By the people who made .kkrieger, that game in under 100k. It's just really, really good looking.
  • Re:Absolutely (Score:3, Interesting)

    by theaveng ( 1243528 ) on Wednesday November 19, 2008 @08:26AM (#25815773)

    I recall the 8-bit game ELITE created 10 whole "galaxies" along with descriptions of each star's major food exports, population, et cetera using nothing more than a seed and an equation. The reason they did this was because they were limited to 48 kilobytes of RAM and had no room for an actual database. (That's 0.047 megabytes in today's terminology.) It was simply amazing to explore all that territory because it felt so realistic.

    It was not so fun when the pirates attacked you 5 against 1. ;-) You might as well just quit the game at that point.

  • Elite (Score:3, Interesting)

    by mcvos ( 645701 ) on Wednesday November 19, 2008 @08:55AM (#25815957)

    I recall the 8-bit game ELITE created 10 whole "galaxies" along with descriptions of each star's major food exports, population, et cetera using nothing more than a seed and an equation. The reason they did this was because they were limited to 48 kilobytes of RAM and had no room for an actual database.

    TFA says Elite had 8 galaxies of 256 planets each. I thought is was 8 galaxies of 1000 planets each. Whatever it was, it was a lot. And the Acorn Electron version had to fit it into only 32kB. And Frontier was even bigger. Well, it was only a single galaxy, but it had literally millions of stars, most of them orbited by several planets.

    And now they come with a lame story about sky. That's not procedural content generation, it's procedural eye candy generation.

    It was not so fun when the pirates attacked you 5 against 1. ;-) You might as well just quit the game at that point.

    Get military lasers! Unfortunately the Acorn Electron version didn't have them, but you could use a cool program called Elite Cheat to get them anyway. Or even the more powerful Cheat lasers that would kill almost any enemy in a single shot.

    In Frontier I never had much problems fighting off enormous hordes of pirates. In First Encounters, fighting anyone at all got nearly impossible, though.

  • by TheRaven64 ( 641858 ) on Wednesday November 19, 2008 @09:20AM (#25816143) Journal

    It's generally a three stage process. You have something like a perlin noise function as input. Then you have a mapping function, which turns it in to something in your problem space, then you have a weighting function, which makes some things more likely than others (often the mapping and weighting functions are combined).

    The hard bit to get right is the weighting function. A perlin noise function and a mapping function will give you a universe, randomly selected from the set of all possible universes. Making universes which look good and are fun to play in more likely to appear is the tricky bit. This requires a lot of fine tuning. Often it's just a matter of tweaking a few constants when you have the basic algorithm implemented, but it can be really time-consuming to do.

  • by fraktus ( 632342 ) * on Wednesday November 19, 2008 @12:04PM (#25818495) Homepage Journal
    Amazing things can be done today with mathematics.

    Take a look to this http://www.uisoftware.com/Voyager/ [uisoftware.com]

    Those are completely procedural worlds from the creator of Bryce.
    It's based on Artmatics that can be used to generate fantastic textures and then there is a ray tracer that can use ray casting to create the landscape.
    The latest move of Eric Wenger was to use that to generate procedural cities and the result to me is fantastic.
  • Re:Absolutely (Score:4, Interesting)

    by Cornelius the Great ( 555189 ) on Wednesday November 19, 2008 @12:22PM (#25818871)
    While many artists are paid less than programmers, you typically have to hire a lot more of them. And they require more expensive tools than your average developer, like Maya, 3dsmax, Photoshop (sounds cheap, but the master collection can cost $2500), not to mention expensive plugins for the aforementioned products. Where I used to work, each artist would have an up-to-date license for each of the above (I think the figure was about $12,000 of software, not including the PC itself). Software engineers are happy with Visual Studio Pro (or comparable IDE) and the occasional profiling tool. Plus modeling, texturing, and animating highly-detailed models takes a lot of time (= even more money).

    Trust me, art is expensive.

    A good procedural system has tweakable values and seeds, and near-instant results (great for prototyping) so an artist won't spend several days or weeks developing a snazzy model only to see their hard work on the cutting room floor.

    For professional games, art is much more expensive than code.

    /ex-game developer
  • Re:Absolutely (Score:3, Interesting)

    by LordMyren ( 15499 ) on Wednesday November 19, 2008 @04:33PM (#25823035) Homepage

    EVE online used a proceedural world generator. Sometime midway through development, they realized they had to tear it all down so that the answer (seed) to the life the universe and everything would indeed be 42. Thus EVE was reborn, and it was... well its EVE.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...