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."
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.
Game! - Where the stick is mightier than the sword!
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.
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 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?
I mobile Slashdot sometimes when I'm commuting.
Sounds like by "procedural" you mean "algorithmic". I guess the algorithm might be defined procedurally, but that's not really what is discussed here.
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.
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 minor task compared with avoiding them all looking like carbon copies of each other.
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 of a tunnel fly-through written in 256 bytes (YES, THAT'S BYTES, not kilobytes)!!!
LS
There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
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?
If we can put a man on the moon, why can't we shoot people for Apollo-related non-sequiturs?
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.
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 how breakable stuff is ;-), things could become much more realistic and varied.
C - the footgun of programming languages
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 the same amount of ressources, etc. Then you just lay out all those required elements down in a fractal or geometrical way, and that process may have a lot in common with some pathfinding algorithm.
Of course, the crafter is not limited a priori in terms of sources and methods, but then anything you may think about including into your one-time work could just as well be set to end up included in the generatio nalgorithm that mimics your handcrafting. Just because right now an human has a much vaster culture than a piece of software, does not mean heuristics might not one day be able to piece out elements from, say, news websites or art libraries.
The point of procedural generation is not to machine-generate content, rather to humanize the machine and its content, so I will not be one bit surprised when game content generation becomes a fully-recognized branch of AI research. Could Turing tests be one day judged by art critics evaluating proposed 3D models and scenes, or scripted events ?
The article's mention of choosing between a handcrafted skybox and a generated one is not that far from it: soon enough game studios will be considering the "tastes" of the many different content-generation tools.
Maybe we deserve this world ?
For any one interested further, you might want to read or help contribute to the procedural content generation wiki at pcg.wikidot.com.
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.
Its not that hard, it just requires effort. me and a friend entered the last pyweek (thats a game development competition) and generated tons of assets in just seven days. (see http://www.pyweek.org/e/CS-L/) The point is, procedural content generation should be used when you want an infinate amount of content, when you want the skybox to be constantly changing. when you want the landscape to go on forever. not because your lazy, it will just end up showing itself in your artwork. can you imagine if rembrandt had just copy pasted everything?
Parent poster is correct. (The other replies to grandparent are not.)
CAPTCHA: blender. nice little in-joke there!
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.
Your mind is clear / The things that you fear / Will fade with how much you / Believe what you hear
Amazing things can be done today with mathematics.
Take a look to this http://www.uisoftware.com/Voyager/
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.
In cyberspace nobody knows you're a cat!
Too bad Farcry 2 is a terrible game, and vastly misses the mark from the original.
What you described reminds me of Christopher Alexander's Patterns. Yup, the ones that inspired the pattern movement in software design.
"But this is something companies brought on themselves with their technolust..."
No, this is something the consumer wanted with their ever greater need to be stimulated and dissatisfaction with what came before.
The latest demands are more realistic physics, and more intelligent AI, with destructible environments thrown in.
That's how games progress forward but the price everyone pays (including the companies) is more work.
Don't like it? Don't want it? Then don't buy it and demand that Gears of War be made into a side-scroller.
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 exhilarating and always keeps you on your toes.
More games need random and procedural stuff... forget about saving development effort, it leads to massive replayability. Look at Diablo, for example. I wish World of Goo had a procedural level generator. ;)
"Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
http://www.theprodukkt.com/kkrieger
Is prettier than quake3, fun, and is a beautiful fps that is less than 1 meg in size
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.
ditto
i just wanttono when you are going to release the home open beta to evrybody its been forever and im relly looking forwerd to it thers been rumers of december 25 jan/1/09 and im hoping it will be release before xmas cause ive been waiting for a long time and i also have the them for hoem on my background and ididdint get an invite for the closed beta so i just want to no when its going to be releaee or if im getting an invite to eb a beta tester in closed beta.
I've been following this Elite/WC Privateer'ish game for a couple of years: http://www.infinity-universe.com/Infinity/index.php
Everything in the game except ship models and station models is procedurally generated. You can take off and land at planets seamlessly. There is no content loading.
The combat prototype is plenty of fun. Makes me miss Elite.