Forgot your password?
typodupeerror
Games Entertainment

The Importance of Procedural Content Generation In Games 160

Posted by Soulskill
from the see-what-grows dept.
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.

    • by neokushan (932374)

      Ahhh but you forget that it costs a lot less to hire a few decent artists than a few decent programmers.

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        Ahhh but you forget that it costs a lot less to hire a few decent artists than a few decent programmers.

        Citation needed. My personal experience conflicts with your statement.

      • 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
    • by RuBLed (995686) on Wednesday November 19, 2008 @03:51AM (#25814483)

      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.

      Sorry, this might take a bit longer, I'm still working on that Procedural Game Generator. (but I think EA beat me to it)

      • Re: (Score:3, Funny)

        by Kjella (173770)

        I'm still working on that Procedural Game Generator. (but I think EA beat me to it)

        s/2008/2009/g? Or I guess they have created a true prodcedural generator that backreferences last year and adds one, so they avoid the tedious yearly modifications.

      • Re: (Score:3, Interesting)

        by theaveng (1243528)

        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 migh

        • Elite (Score:3, Interesting)

          by mcvos (645701)

          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 El

        • Yup, Elite was pretty amazing. The star locations, names, and commodity prices at every location were all generated algorithmically. Locations aren't too hard - it's just a 2D grid with a decision function weighted towards 'no' to decide if there's a star there. Names, as I recall, were composed from a shortish list of phonemes in a random order (just shuffling the order so you didn't get the same name for two stars). Commodity prices were generated from a small number of attributes like political struc

          • if anyone is interested, Nova has a pretty good documentary (Nova - Hunting the Hidden Dimension, aired on 2008/10/28) on the history and applications of fractals, which is often used for procedural content. for instance, they frequently use fractal algorithms for movie special effects. in the documentary they talk to a guy at ILM who explains how the lava fight scene between Anakin and Obiwan uses fractals to generate the splashes of lava seen in the background.

            they also discussed the first time fractals w

          • by ultranova (717540)

            Locations aren't too hard - it's just a 2D grid with a decision function weighted towards 'no' to decide if there's a star there.

            Or have there be a star at each intersection of the grid, but tweak the position with a function which takes the x and y coordinates as input (and the seed, if you want to be able to generate different galaxies). As long as you limit the tweaking to less than half the size of a grid unit, there will neve be overlap, and it'll be random enough.

        • Re: (Score:3, Interesting)

          by LordMyren (15499)

          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.

    • Re:Absolutely (Score:5, Insightful)

      by blahplusplus (757119) * on Wednesday November 19, 2008 @03:55AM (#25814505)

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

      And it's so much work because of the art, animation and effects, lets face this fact. Back in the 8-bit days the amount of work required was a lot but managable, you could put a lot more content into a 2D game in a lot less time then you can in a modern 3D rendered game in which the resolution is much higher and the more artists and designers you need just to get the most basic and mundane things done that existed in the 2D area. The same content in 2D that was easy, takes infinitely more time in the 3rd dimension just to get anywhere near the artistic quality of a good team of 2D artists. But this is something companies brought on themselves with their technolust, as we've seen with MegaMan 9 there are still people out there that like games for more then just their looks.

      • 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.

        • Re: (Score:3, Funny)

          ...an extremely realistic-looking city with very little effort. Automatically, with roads that make sense (EG: don't lead nowhere)

          roads that lead somewhere...hmmm...it wouldn't be much good for simulating Ireland, then.

          • Re: (Score:1, Offtopic)

            by digitig (1056110)
            Or The Netherlands, in my experience of driving (and trying to use satnav) there.
          • roads that lead somewhere...hmmm...it wouldn't be much good for simulating Ireland, then.

            There's a purpose for that, though. It confuses the snakes.

        • 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.

          • by wisty (1335733) on Wednesday November 19, 2008 @06:29AM (#25815209)

            Automatic plot content? Let me help.

            def generate_mmorpg_quest():
                    from random import choice as c

                    Compliment = c(['brave','noble','1337'])
                    PC = c(['warrior','chevalier','hunk'])
                    McGuffin = c(['baby','necklace','iPhone'])
                    Lost = c(['stolen','dropped','forgotten'])
                    Arena = c(['cave','forest','library'])
                    Reward = c(['baby','necklace','iPhone'].remove(McGuffin))
                    Enemy = c(['orcs','terrorists','street mimes'])

                    Dialogue = """Oh, %s %s. My %s has been
            %s was %s in the %s! If you can bring it back
            safely, I fill grant you this %s. Be careful,
            I fear there may be %s!"""%(Compliment,PC,
            McGuffin,Lost,Arena,Reward,Enemy)

                    return Dialogue

            Real programmers will insist that a domain specific language gets used, so the interpreter can abstract the context handling, but it's good enough for the first version...

                             

            • That reminds me of then automatic map generation of the early Elite versions. The C64 version did not only generate the map procedurally, but also the background info for the worlds on the map. This led to such things as "Planet XXX is known for its edible arts graduates" ;-)

            • There are a few bugs in your code. list.remove(L, value) is modifying list in place, not returning a copy, thus:

                Rewards = ['baby','necklace','iPhone']
                Rewards.remove(McGuffin)
                Reward = c(Rewards)

              There's a TypeError in the dialogue, I have changed the second line to:

                %s in the %s! If you can bring it back

              Open source ftw.
              • by wisty (1335733)

                Thanks, I saw the typo after I posted. I didn't catch the remove method ... that's embarrassing. I guess I should have tested it before committing.

        • Re: (Score:2, Interesting)

          by KDR_11k (778916)

          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 cit

        • That's fine if you want to model a generic American city, but it's less useful if you want to set your story in a specific city (although maybe the broad strokes can be done manually and then the detail fractally) or in a European city, which being so much older tend to have pockets of non-gridded streets where villages or minor towns have been swallowed up by expansion.

          ISTM, anyway, that fractal generation of the models of the houses themselves would be far more valuable. Laying out roads is a relatively m

          • by gaspyy (514539)

            Yes, any European city with some history behind it looks "organic" rather than designed.

            Think about it. I'm living in a small city that was founded in 1190 and that for centuries had to withhold attacks from the Turks.

            This doesn't mean that you can't generate cities using some fractal procedures though, it's just that depending on the setting, it might be more difficult.

        • by MWojcik (859959)
          That's because American cities were designed like that from the start. Try one of older European cities which just "grew": Gliwice [google.com]
        • by elFarto the 2nd (709099) on Wednesday November 19, 2008 @05:35AM (#25814973)

          The guys at Introversion are already trying this:

          http://uk.youtube.com/watch?v=_zluTvROHXA [youtube.com]

        • People can see patterns everywhere, but that doesn't mean it's easy to recreate the same effect just with a few basic maths equations. What you'd probably end up with is something that looks far too much like a fractal pattern, unless you added back in all the stuff that takes a lot of effort and looks real.

        • The classic game Starflight used a fractal generation technique to populate the galaxy and create planet surfaces as I recall. They fit an incredible amount of depth into a game that fit on two low density 5.25" floppies and that was part of the way they did it.

        • Re: (Score:3, Interesting)

          by KlaymenDK (713149)

          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.

        • You, sir, have just described my dream for Sim City 9000.

          It is a dream that will almost certainly never come from EA/Maxis (due in no small part to the the new direction represented by Sim City Societies), but you lay out a very plausible methodology for procedural urban synthesis.

          Combine this organic growth with user-directed constraints, and you could have a very compelling simulation.

        • What you described reminds me of Christopher Alexander's Patterns [wikipedia.org]. Yup, the ones that inspired the pattern movement in software design.
        • Introversion (makers of Darwinia) has done exactly this for their upcoming game, Subversion. It uses auto-generated cities that do a pretty convincing job at modeling procedural cities, with roads and buildings.

          Here are some screenshots and info [introversion.co.uk].
        • by Rostin (691447)
          Something like what you're talking about has been done, you'll be please to know. :) When I was an undergrad (7 years ago), I did research for a materials scientist. A kid in my group was working on building models of amorphous alloys using the same statistical tools that geographers use to build artificial cities.
        • But most cities in the rest of the world arn't built on a grid system - they grew up at random and have completely random street patterns.

      • by KDR_11k (778916)

        I don't think MM9 proves that there's a real market for 8bit stuff, just for big name brand stuff that was popular in the 8bit era being made in that style. A dev team that's not working with an existing, popular 8bit IP would have trouble selling an 8bit-like game simply because noone wants that when there's no nostalgia associated with it.

        Of course from what I see even one man dev teams can handle 32 bit 2d graphics just fine.

      • Re: (Score:3, Informative)

        by Xest (935314)

        You're partly right and partly wrong.

        Originally, 3D was actually much better in terms of time requirements. It was much easier to create a 3D model and animate it than it was to draw sprites and every single animation for them frame by frame, particularly if you dared to have your character/whatever "turn around". This problem was exagerated for games like desert strike and command and conquer where things weren't straight 2D but were on a slight angle so you couldn't get away with simply rotating sprites a

        • Re: (Score:3, Informative)

          by joystickgenie (913297)

          I disagree on the point of 2D reaching its limit. There have been plenty of technologies that have been developed for 3d graphics that make significant improvements for 2D games as well.

          If you haven't seen it before check out the game Oden Sphere. This is one have that took 3d technologies and using then to great effect in a 2D environment. Oden shpere used polygons on a 2 dimensional plane to stretch and distort the sprites textures allowing the game to have a more dynamic motion. it then used that technol

    • 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.

      I once programmed a simple MUD game from scratch, as part of a school project.

      I only bothered to add about 15 locations to the game. The creativity is more tedious than the coding.

      Wow.

      • > I once programmed a simple MUD game (...)
        > (...)
        > I only bothered to add about 15 locations (...)

        Yay, mine had 9, but had support for alternate realities, teleports, ground of varying height (hills, etc) and big open spaces ("you can see a tall tower on the north-east" -- created procedurally). My sister was supposed to add more content but I've lost interest in the project before it seriously took off from the ground.
    • Re:Absolutely (Score:4, Interesting)

      by jonaskoelker (922170) <jonaskoelker@gnu. o r g> on Wednesday November 19, 2008 @04:44AM (#25814739) Homepage

      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 Xiroth (917768)

      Yeah, one of the interesting things about procedural content generation is that it moves the emphasis from quantity of staff working on a project to quality. While it requires fewer lines of code, unless a programmer is at a certain level (PhD-capable, I'd say), they simply can't make a genuine contribution to the project. While not needing quite the same level, the other positions in the project also need higher levels of intellectual capability compared to their peers simply to be able to work with and ta

    • Of course, it's also tricky to do correctly, very few games are there at the moment

      Come on, it's not that difficult to rotate the palette of the monsters. Or you can just give the same monsters a load of more hit points as you progress from normal to nightmare and hell. ;)

      Another interesting idea is to create combinatorial mechanics. For instance, in One Must Fall, you can choose between 10 pilots and 10 robots, giving you 100 unique fighting styles for the cost of 20 pieces of artwork.

      And there's of course the possibility of player-generated content in the style of Spore. I imagine it

      • by Rycross (836649)

        Those same tricks, if overused, can make the game lifeless and boring. Palette swapping and combinatorial mechanics are ok, but you have to make sure that things remain fresh for the player.

    • by KDR_11k (778916)

      Procedural content requires someone to have a grasp of both programming and art, those skills are usually mutually exclusive (different brain wiring) so finding someone who can work with procedural generation and make sure it looks good is going to be hard and expensive.

      • > those skills are usually mutually exclusive

        I'm both a (hobbyist) programmer and a (hobbyist) artist (I play guitar, draw comics, etc). Programming was always a kind of art to me, because coming up with a good solution to a problem often needs a lot of creative thinking. The copyright law applies to both programs and other works of art.

        Once a girl (who was a cello player) asked me, why do I play guitar. I was very surprised by this question... I never really thought about it before. "Because I like it?
    • by ivucica (1001089)
      Fully agreed. As a coder involved in a FLOSS game project (as well as some commercial projects) I know first hand how hard it is to find a good graphics artist. Especially for a FLOSS project. It's much easier to find a good coder or at least a promising contributor than a usable artist.

      Personally, I don't find procedural content to be a savior here. It's most promising for automatic generation of large universes (see Elite, Elite Frontier, ...) but not so much for the generation of textures. Unless you
      • by savuporo (658486)
        not so much for the generation of textures.
        You are aware of DarkTree [darksim.com], right ?
      • by savuporo (658486)
        Actually, scratch the Darktree comment, there are apparently quite a bit more procedural texture generation tools around http://www.modwiki.net/wiki/Texturing#Seamless_texture_creation_tools [modwiki.net]
      • by PitaBred (632671)

        What game project? I trained in art until I realized I could make good money mucking with computers (and enjoyed it almost as much), but I'd like to get back into some of the more arty stuff.

      • by PitaBred (632671)

        What game project? I trained in art until I realized I could make good money mucking with computers (and enjoyed it almost as much), but I'd like to get back into some of the more arty stuff.

    • Re: (Score:3, Insightful)

      by nEoN nOoDlE (27594)

      Man, I can't wait for "Average Mid-Sized City the RPG!" Procedural content is alright for some things, but where's the gameplay in it? People loved Grand Theft Auto in large part to the amount of care that went into each area that most players would never notice - such as the mural in an out of the way subway station. Also, the little differences in the various boroughs from the design to the locals that made it feel authentic. You could generate a thousand square miles of procedural city, but it will make

      • by LordMyren (15499)

        proceedural isnt synonymous with homogenous and flat. you can seed different attitude & parameters for different areas. rather than imagining a world comprised of a single function, it'd be closer to a world of aggregated functions where each area has stronger or weaker impact from the various functions. each "function" just describes a particular flavor of terrain.

    • by savuporo (658486)
      The rough rule of thumb for any recent serious title has been around 10% or less of budget for programming, some 10% for middleware and around 60% for content generation.
    • Left4Dead (4-player zombie survival co-op, released yesterday by Valve) deserves a mention. While not exactly procedural "content", it is perhaps one of the first examples of "procedural gameplay" (at least in a modern shooter).

      For those who don't know, Valve built an algorithmic "pacing engine" into L4D called the Director, which has complete control of what enemies and items you encounter.

      What this means is that every playthrough is completely different and you never know what to expect. It's exhilarati

  • Quantity Vs Quality (Score:2, Interesting)

    by Bevilr (1258638)
    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.
    • Re: (Score:3, Interesting)

      by Anonymous Coward
      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]
      • Yeah, and every single "piece" of a tree is exactly the same as the rest and moves at the same time and with the same speed as the rest. The end result is pretty disconcerting and not a little ugly. Procedural content has a strong tendency right now to also be ugly content that sticks out like a sore thumb compared to anything with even the remotest degree of human involvement.

        • Re: (Score:2, Interesting)

          by Bevilr (1258638)
          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 woo

          • Handcrafting a scenery is just another form of procedural generation, at the core. The crafter follows his or her own heuristics and combine them with specific content models and elements as a source, while remaining within the technical constraints projected for the end-result.

            How do you make, say, a RTS map ? You start by stating your goals: there will be N starting bases, the landscape will include M ridges so that the length of path between each base is balanced, and each will have access to pretty much

            • by Zironic (1112127)

              While the RTS map layout could probably be easily generated it takes a human to make it look good. Computers tend to generate very unrealistic looking maps.

          • Re: (Score:3, Interesting)

            by grumbel (592662)

            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 moun

        • It all depends on the algorithms you use to create procedural content.
    • You might just want to have a look at this...

      http://www.infinity-universe.com/Infinity/index.php [infinity-universe.com]
      • by LingNoi (1066278)

        A ten year W.I.P isn't a good example of procedual content generation in games. Yes it's a game, but if no one gets to play it then it's kinda pointless.

    • 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 LordMyren (15499)

        Using a single noise input and a single function is what I blame for proceedural generation getting a bad name: it makes terrain incredibly homogenous and bland in character. Real land is made up of faults and upswells and erosion and gulleys. Even quarter way decent proceedural generation needs the ability to mix and match different factors and features, otherwise you arrive at the same bland failure we've had for a dozen years.

  • by Anonymous Coward

    So just for a joke pretend that I'm an idiot for a second: This procedural generation is about generating landscapes or textures using mathematical algorithms or something?

    So it's like Terragen [wikipedia.org] for they do more than landscapes... 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?

    • Re: (Score:3, Interesting)

      ... 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 scree

      • by KDR_11k (778916)

        That's not the kind of procedural generation that was talked about. kkrieger uses hand-designed assets but stores them in a format that takes only a tiny amount of space, the kind we're talking about gets some input parameters and generates a huge variety of assets to populate a world with. The goal is to reduce workload, not filesize.

        • by tepples (727027)

          The goal is to reduce workload, not filesize.

          Tell that to Xbox 360 developers who bitch about having one-seventh the storage of a PS3 disc.

    • by Scorchio (177053)

      Yeah, pretty much. Here's [infinity-universe.com] a project that's attempting to create an entire universe in a similar fashion.

      But don't think it's restricted to just landscapes and textures. Any content can potentially be generated procedurally - buildings, creatures, music, vehicles, whatever.

  • Procedural? (Score:2, Informative)

    by bkhl (189311)

    Sounds like by "procedural" you mean "algorithmic". I guess the algorithm might be defined procedurally, but that's not really what is discussed here.

    • Re: (Score:3, Informative)

      by Anonymous Coward

      Yes, the actual term is "procedural", as in procedural textures [wikipedia.org] and procedural content generation [wikipedia.org].

      No, this is not a discussion of procedural programming [wikipedia.org] vs object oriented vs functional, etc.

    • by ASBands (1087159)

      "Procedural" refers to the fact that content is being generated on-the-fly, rather than stored in giant texture files. It is derived from the procedural scripts used to define the parameters for the object to be created (although with the power of scripting languages today, one could argue that this no longer applies).

      One of the coolest procedurally-generated demonstrations I have seen is .kkrieger [theprodukkt.com], which is a first-person shooter whose content is almost entirely procedurally generated. The effe

      • "Procedural" refers to the fact that content is being generated on-the-fly, rather than stored in giant texture files. It is derived from the procedural scripts used to define the parameters for the object to be created (although with the power of scripting languages today, one could argue that this no longer applies).

        In fact, there's a wiki [wikidot.com] for this stuff.

  • I seem to remember somewhere in the commentary for Final Fantasy: The Spirits Within that they also spent a lot of effort on creating a computer generated sky, but it looked unconvincing. Eventually they gave up and did the clouds by hand.

  • If you really want to see the extreme of what procedural generation can do, check out this 3D demo [pouet.net] of a tunnel fly-through written in 256 bytes (YES, THAT'S BYTES, not kilobytes)!!!

    LS

    • Re: (Score:3, Interesting)

      by Koiu Lpoi (632570)
      I recommend .debris [theprodukkt.com]. By the people who made .kkrieger, that game in under 100k. It's just really, really good looking.
  • by damburger (981828) on Wednesday November 19, 2008 @05:45AM (#25815021)
    I hear a chap called David Braben has a space trading game, that uses just this technique, in the pipeline. Its amazing what they can do with computers these days isn't it?
  • I find this aspect particularly interesting, because it promises more variety in games where you can build things. Like many MMORPGs. You could experiment with various materials and get believable results, maybe at a level of realism where it actually has educational value.

    This could be done today at a simplified level, where the materials you use affect the stats of the items. Plus maybe textures that are swapped in depending on the material. But with serious simulation (maybe finite element analysis of ho

  • 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].
  • 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.

If a listener nods his head when you're explaining your program, wake him up.

Working...