Beta

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The Importance of Procedural Content Generation In Games

Soulskill posted more than 5 years ago | from the see-what-grows dept.

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

cancel ×

160 comments

Sorry! There are no comments related to the filter you selected.

Mirror please (-1, Troll)

Iamthecheese (1264298) | more than 5 years ago | (#25814301)

I'm blocked at work you insensitive clod!

Re:Mirror please (0)

troll8901 (1397145) | more than 5 years ago | (#25814523)

  • barrapunto.com - Spanish Slashdot
  • wap.slashdot.org - mobile Slashdot

I mobile Slashdot sometimes when I'm commuting.

Absolutely (5, Interesting)

Mad Merlin (837387) | more than 5 years ago | (#25814311)

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.

Re:Absolutely (1)

neokushan (932374) | more than 5 years ago | (#25814431)

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

Re:Absolutely (2, Insightful)

Anonymous Coward | more than 5 years ago | (#25814989)

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 (3, Interesting)

Cornelius the Great (555189) | more than 5 years ago | (#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 (3, Funny)

RuBLed (995686) | more than 5 years ago | (#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:Absolutely (2, Funny)

Kjella (173770) | more than 5 years ago | (#25815271)

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:Absolutely (2, Interesting)

theaveng (1243528) | more than 5 years ago | (#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 (2, Interesting)

mcvos (645701) | more than 5 years ago | (#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.

Re:Elite (0)

theaveng (1243528) | more than 5 years ago | (#25816325)

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

Not too surprising in a culture that values a woman's breast size (eye candy) over the content of her character. I've noticed most of the modern games since 2000 are not really fun. It's just T&A with no real substance. Back in the 8/16-bit era they had to rely on solid gameplay because the 2D/3D graphics were so primitive.

Re:Elite (0)

Anonymous Coward | more than 5 years ago | (#25817725)

For some of us, breasts aren't just eye candy!

They're mouth candy as well. Candy candy. Oh yeah!

Re:Absolutely (1)

TheRaven64 (641858) | more than 5 years ago | (#25816033)

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 structure, economy, and tech-level, which were generally something like 4-bit values. They stored a (32-bit, as I recall) key so that the same galaxies would be generated every time you played, but with a hex editor you could change it and get a completely different set of galaxies (although it might take a lot of tries to get a good set, since a lot of values would give a lot of unreachable stars).

I played with some of these ideas for a web-based game I never got around to finishing, using a perlin noise function to generate spiral galaxies. It was only about four lines of Smalltalk to produce some really nice-looking structures. I read some papers while doing it where they'd produced images of (fictional) planets using exactly the same technique.

Re:Absolutely (4, Insightful)

blahplusplus (757119) | more than 5 years ago | (#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 (5, Interesting)

mcrbids (148650) | more than 5 years ago | (#25814633)

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:Fractal Generation (2, Funny)

theheadlessrabbit (1022587) | more than 5 years ago | (#25814665)

...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:Fractal Generation (0, Offtopic)

digitig (1056110) | more than 5 years ago | (#25815661)

Or The Netherlands, in my experience of driving (and trying to use satnav) there.

Re:Fractal Generation (0, Offtopic)

Five Bucks! (769277) | more than 5 years ago | (#25815813)

You should check out St. John's, Newfoundland. You'd feel quite at home here.

All the streets downtown are remnants of the original cartpaths. Intersections of four two way streets and a one way street requires drivers to 'learn' how to proceed through.

Re:Fractal Generation (1)

qwertyman66 (1005175) | more than 5 years ago | (#25816395)

Stick a mini roundabout in the middle to sort priorities and it becomes simple. I fail to see how it becomes complex at all.

Re:Fractal Generation (1)

jollyreaper (513215) | more than 5 years ago | (#25816369)

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.

Re:Fractal Generation (3, Interesting)

blahplusplus (757119) | more than 5 years ago | (#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:Fractal Generation (4, Funny)

wisty (1335733) | more than 5 years ago | (#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...

                 

Re:Fractal Generation (2, Interesting)

KDR_11k (778916) | more than 5 years ago | (#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.

Useful as far as it goes (1)

pjt33 (739471) | more than 5 years ago | (#25814865)

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.

Re:Useful as far as it goes (1)

gaspyy (514539) | more than 5 years ago | (#25815521)

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.

Re:Fractal Generation (1)

MWojcik (859959) | more than 5 years ago | (#25814945)

That's because American cities were designed like that from the start. Try one of older European cities which just "grew": Gliwice [google.com]

Re:Fractal Generation (1)

SoupIsGoodFood_42 (521389) | more than 5 years ago | (#25815151)

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.

Starflight (1)

dreamchaser (49529) | more than 5 years ago | (#25815187)

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:Fractal Generation (2, Interesting)

KlaymenDK (713149) | more than 5 years ago | (#25815323)

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.

Re:Fractal Generation (1)

Syberz (1170343) | more than 5 years ago | (#25815995)

Although true in the US and Canada, this does not apply to Europe (well, the cities that weren't bombed back to the stoneage and rebuilt from scratch anyways).

We (North America) were colonies built from the ground up, so engineers laid out the plans in a grid fashion because it was easier to manage. Actually, part of Quebec was laid out in some weirdo form which explains the odd shapes of the agricultural fields in the south east of the province, but most cities are grid-like.

In Europe, cities are hundreds, sometimes thousands of years old. They were built by squeezing buildings close together in order to provide safety from attackers. Most cities follow a ring pattern with a few streets interconnecting the rings. Makes it hard to find your bearings when few of the streets follow a North-South or East-West direction.

Re:Fractal Generation (1)

coopaq (601975) | more than 5 years ago | (#25817451)

I knew it was Sacramento from your description before clicking the link!

Also I am a student pilot and was wondering what it would be like to fly over a city that low.

Are there altitude restrictions flying single engines over Sac?

Practical applications (1)

StreetStealth (980200) | more than 5 years ago | (#25818149)

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.

Christopher Alexander's Patterns (1)

archeopterix (594938) | more than 5 years ago | (#25818843)

What you described reminds me of Christopher Alexander's Patterns [wikipedia.org] . Yup, the ones that inspired the pattern movement in software design.

Re:Absolutely (1)

nih (411096) | more than 5 years ago | (#25814659)

The same content in 2D that was easy, takes infinitely more time in the 3rd dimension

so thats why DNF is taking so long!

Re:Absolutely (1)

KDR_11k (778916) | more than 5 years ago | (#25814799)

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:Absolutely (1, Interesting)

Anonymous Coward | more than 5 years ago | (#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.

Re:Absolutely (1)

blahplusplus (757119) | more than 5 years ago | (#25816891)

I'm talking about the type of game and not just merely the process of creating art. I'm talking about overall content creation for 2D games, not the process of creating 2D art and textures for a 3D game (which still requires more work then a 2D game). Things also have advanced considerably since then in terms of hardware horsepower and graphical resolution, thereby increasing demands in both domains. Consider the level of detail of old 8-bit and 16-bit games, you don't need anywhere near the texture detail you need as in a modern 3d game that has many levels of zoom, mip maps, because the perspective (in 3D) changes, the textures have to look good at many angles and many levels of zoom, this is not the case for 2D games for most of them.

Re:Absolutely (0)

Anonymous Coward | more than 5 years ago | (#25817943)

I come from a PC gaming background, so I don't know about 8-bit games but 16-bit games like the Space Quest series certainly look as though a lot of work was required for the art. Back then they didn't have Photoshop or the other image editors that make things easy on us now. They had to draw everything basically by hand. They also had to handle things like perspective, lightsourcing/shading, glow/haze and animations manually. These are all things that a 3D game artist doesn't worry about because they are automatically taken care of by the 3D engine. Drawing a 320x200 resolution backdrop without computer assistance is just as difficult as creating a 3D scene with computer assistance.

I know of no game engine that requires an artist to produce individual levels of detail or mipmaps. Those are things that are handle by the engine automatically. Conversely a 2D game would require an artist to draw individual pieces for each level of zoom if they wanted to avoid pixelation (ie. click on that control panel to see it up close).

Ultimately what I am saying is that, from the artist's perspective, creating 3D game content only takes a marginal amount of extra work. The longest and hardest work still lies in the creation of the 2D art.

Re:Absolutely (2, Informative)

Xest (935314) | more than 5 years ago | (#25816799)

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 as you could if you were looking down, you had to redraw at different angles, something that took ages to get right.

Nowadays yes, 3D does take longer but there's a simple reason for that, graphics have moved on but 2D can't moved on, it's reached it's limit, you can draw just as beautiful sprites now as you could 15 years ago, it's reached it's peak. The only changes have been in resolution and colour depth here, but these are trivial to deal with in 2D still. 3D hasn't reached it's peak, it can still look better and better.

So you're right, 3D does take longer nowadays, but that doesn't mean 2D is superior, it just means 3D has higher bounds in terms of what it can do. To me it seems rather backwards to suggest we should stick to 2D because 3D takes longer.

Besides, I prefer recent games like Gears of War 2 that look jaw dropping over things like Megaman 9 anyway. There seems little point holding gaming back just because 2D is quicker and a few people like the nostalgic value of it. Companies don't make games in 3D because of "technolust", they do it because there's demand for it.

Re:Absolutely (1)

troll8901 (1397145) | more than 5 years ago | (#25814539)

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.

Re:Absolutely (3, Interesting)

jonaskoelker (922170) | more than 5 years ago | (#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.

Re:Absolutely (1)

tepples (727027) | more than 5 years ago | (#25816201)

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

Tell me about it [pineight.com] .

Re:Absolutely (1)

Xiroth (917768) | more than 5 years ago | (#25814767)

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 take advantage of this not-entirely-intuitive paradigm to create effective content. It's a really interesting movement, and flies directly against the prevailing outsourcing-friendly throw-more-staff-at-the-problem approach that's standard in most parts of the IT industry.

Re:Absolutely (1)

jonaskoelker (922170) | more than 5 years ago | (#25814771)

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'd also be reasonably simple to construct a random species for some easy computer-generated content [again, as a combination of legs, mouthes and bodies of different types].

There are ways to cut down on the content work and still get some good results.

Re:Absolutely (1)

KDR_11k (778916) | more than 5 years ago | (#25814775)

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.

Re:Absolutely (1)

ivucica (1001089) | more than 5 years ago | (#25814963)

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're creating a 96 kb 3D game [theprodukkt.com] .

Re:Absolutely (1)

savuporo (658486) | more than 5 years ago | (#25815363)

not so much for the generation of textures.
You are aware of DarkTree [darksim.com] , right ?

Re:Absolutely (1)

fatphil (181876) | more than 5 years ago | (#25816795)

I checked the screenshots for DT. Seems to have an awful lot of predefined patterns - I wouldn't call that procedural generation, it's just combining bitmaps with filters.

Re:Absolutely (1)

savuporo (658486) | more than 5 years ago | (#25817433)

Uh, you are awfully wrong. It is combining various outputs of various functions to generate other more complex functions, passed through filters, which results in a 3D bitmap, which in turn can be used either as gloss, specular, bump or whatever other maps you want for your shader. KKrieger btw used a similar techique with their own function mesh editor, its nothing too novel. There is even one open-source program doing similar function but im too lazy to dig it out on sourceforge now.

Re:Absolutely (1)

fatphil (181876) | more than 5 years ago | (#25818449)

"... which *results* in a 3D bitmap." eh?

Sorry, either it's you who is awfully wrong, or the screenshots on the website are awfully misleading. They _clearly_ show bitmaps as _inputs_.

Re:Absolutely (2, Insightful)

nEoN nOoDlE (27594) | more than 5 years ago | (#25815149)

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 for crappy level design and people will still be more impressed with the hand-modeled statue near the town hall and not the span of how much content you have. At the end, you're just left with a maze of twisty little passages, all alike.

Re:Absolutely (1)

savuporo (658486) | more than 5 years ago | (#25815259)

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.

Re:Absolutely (0)

Anonymous Coward | more than 5 years ago | (#25816655)

I shouldn't name any names, but I work in the game industry on big console games. Let me tell you that a typical blockbuster game these days involves:

- millions of lines of source code
- thousands of high-resolution textures
- thousands of geometric models
- tens of thousands of animations
- millions of triangles' worth of level geometry, terrain, etc.
- A 7-digit budget.

Its no understatement to say that these productions are as big as a major Hollywood blockbuster movie. We're talking about hundreds of people working full-time for several years, to create all of this content and code. Programming teams of 30 to 50 people are typical, and two or three times that many animators, artists, modellers, level designers, etc.

Please remember this huge expense, the next time you decide to save ten bucks by buying a used game (of which we get $0) instead of buying it new and supporting us.

Quantity Vs Quality (2, Interesting)

Bevilr (1258638) | more than 5 years ago | (#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.

Re:Quantity Vs Quality (3, Interesting)

Anonymous Coward | more than 5 years ago | (#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]

Re:Quantity Vs Quality (1)

Shadow of Eternity (795165) | more than 5 years ago | (#25814553)

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:Quantity Vs Quality (2, Interesting)

Bevilr (1258638) | more than 5 years ago | (#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.

Handcrafting is a procedure, too (2, Insightful)

Jesrad (716567) | more than 5 years ago | (#25815427)

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.

Re:Handcrafting is a procedure, too (1)

Zironic (1112127) | more than 5 years ago | (#25815567)

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:Quantity Vs Quality (2, Interesting)

grumbel (592662) | more than 5 years ago | (#25815709)

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:Quantity Vs Quality (1)

tomatensaft (661701) | more than 5 years ago | (#25815393)

It all depends on the algorithms you use to create procedural content.

Re:Quantity Vs Quality (0)

Anonymous Coward | more than 5 years ago | (#25816775)

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.

Yeah, it's almost as though there is some sort of invisible "force" in the air that pushes the tree limbs and grass around, always in the same direction.

Re:Quantity Vs Quality (0)

Anonymous Coward | more than 5 years ago | (#25814565)

I really liked the look of the LOVE trailer video (1 man produced MMO), hopefully it will live up to the video. Video is here: http://www.rockpapershotgun.com/2008/10/15/love-video/

Re:Quantity Vs Quality (1)

3.14159265 (644043) | more than 5 years ago | (#25814941)

You might just want to have a look at this...

http://www.infinity-universe.com/Infinity/index.php [infinity-universe.com]

Re:Quantity Vs Quality (1)

LingNoi (1066278) | more than 5 years ago | (#25816825)

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.

Re:Quantity Vs Quality (3, Interesting)

TheRaven64 (641858) | more than 5 years ago | (#25816143)

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.

Spell it out for me please (1)

Anonymous Coward | more than 5 years ago | (#25814445)

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:Spell it out for me please (0)

Anonymous Coward | more than 5 years ago | (#25814521)

I'm stuck in this weird parallel universe where sometimes people write 'for' instead of 'because'. Help!!

Re:Spell it out for me please (0, Offtopic)

Goodgerster (904325) | more than 5 years ago | (#25814557)

You've obviously never read _any_ English literature...

Re:Spell it out for me please (0, Offtopic)

MadKeithV (102058) | more than 5 years ago | (#25815301)

"For" is indeed possible in that sentence position, but it does not mean "instead" like it the grandparent seems to intend.
Dictionary.com: For: by reason of; because of.

Re:Spell it out for me please (3, Interesting)

Alwin Henseler (640539) | more than 5 years ago | (#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!

Re:Spell it out for me please (2)

KDR_11k (778916) | more than 5 years ago | (#25814853)

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.

Re:Spell it out for me please (1)

Scorchio (177053) | more than 5 years ago | (#25817607)

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? (2, Informative)

bkhl (189311) | more than 5 years ago | (#25814569)

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:Procedural? (3, Informative)

Anonymous Coward | more than 5 years ago | (#25814599)

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.

Mod parent up (0)

Anonymous Coward | more than 5 years ago | (#25816853)

Parent poster is correct. (The other replies to grandparent are not.)

CAPTCHA: blender. nice little in-joke there!

Re:Procedural? (1)

ASBands (1087159) | more than 5 years ago | (#25814687)

"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 effect of this is that the entire game fits into a 96 kilobyte executable (as in: you could fit 15 copies of this on a 1.44 MB floppy). Pretty cool stuff.

Personally, I'm working on a procedural map generation algorithm for a real-time strategy game.

Re:Procedural? (1)

StupiderThanYou (896020) | more than 5 years ago | (#25814749)

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

Re:Procedural? (0, Offtopic)

kwikrick (755625) | more than 5 years ago | (#25814745)

I guess its because the most used technique for these purposes is procedural programming, and perhaps some OOP, but that doesn't really help with writing algorithms.

It would be a good thing if other techniques, like functional and constrained-based programming were used more. But alas, most programmers will stick to what they know.

Re:Procedural? (1)

4D6963 (933028) | more than 5 years ago | (#25815519)

No it's called procedural because it's done by a procedure. Look it up.

Re:Procedural? (1)

kwikrick (755625) | more than 5 years ago | (#25816153)

That's what I said. It done by procedural programming = writing procedures. Point that the parent was making is that it doesn't have to be procedural; there are other ways of specifying algorithms for generating content.

Re:Procedural? (1)

4D6963 (933028) | more than 5 years ago | (#25816927)

No it has nothing to do with styles of programming. It's completely off-topic.

Re:Procedural? (1)

kwikrick (755625) | more than 5 years ago | (#25817185)

Not off-topic. The way that you program these content generators can have a great impact on how good your content is, and therefore this is relevant for 'The Importance of Procedural Content Generation in Games'.

By the way, i'm not talking about mere programming styles, but programming paradigms
[http://en.wikipedia.org/wiki/Programming_paradigm]

Re:Procedural? (1)

4D6963 (933028) | more than 5 years ago | (#25817395)

No that's complete and utter off-topic bullcrap. It's all about the algorithm. The programming "paradigm" doesn't change the results a bit, you can do anything and get the same results either way. Whether you use classes, operator overloading or whatever OOP is about doesn't change a damn thing. Get a clue and just drop it?

Re:Procedural? (0, Offtopic)

kwikrick (755625) | more than 5 years ago | (#25817989)

I'm waiting for you to get the clue and drop it.

You can write your content generator in Brainfuck for all I care, but it probably won't be any good, and nobody is going to think its a good idea. Of course programming languages and tools matter, why the hell do you think people bother with them?

For example, as remarked earlier in this thread, good special purpose languages for texture generation are functional languages.

So algorithmic content creation would be a better term than procedural content generation. But unfortunately, we're stuck with it, like I'm stuck with you.

Re:Procedural? (1)

Mr. Underbridge (666784) | more than 5 years ago | (#25817139)

That's what I said. It done by procedural programming = writing procedures.

The term has absolutely nothing to do with procedural programming vs. OOP. That would be an implementation issue that is far down into the weeds. The perm "procedure" here is meant much more generically to mean simply "not done by hand".

As an example, you could do procedural content generation using only OOP.

Point that the parent was making is that it doesn't have to be procedural; there are other ways of specifying algorithms for generating content.

Parent misunderstood the use of the term, or assumed that "procedural" has a fixed meaning outside of the software engineering community, which it doesn't.

Re:Procedural? (1)

kwikrick (755625) | more than 5 years ago | (#25817379)

Parent misunderstood the use of the term, or assumed that "procedural" has a fixed meaning outside of the software engineering community, which it doesn't

As in: the procedure we usually follow is that we get a graphics designer to make some sketches on paper, and if we like them, we give them to the 3D modelling people?

Algorithmic is a much better term, I think.

Re:Procedural? (1)

fatphil (181876) | more than 5 years ago | (#25817137)

A good language for almost all procedural content generation will often be functional. That may sound bizarre at first, but when you consider the recursive nature of most procedural content generation (such as landscape height-maps, textures, plantlife, etc.) it can be a perfect match for functional languages.

Cloud rendering (1)

mrbobjoe (830606) | more than 5 years ago | (#25814931)

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.

Procedural Muscle (1)

LS (57954) | more than 5 years ago | (#25814947)

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:Procedural Muscle (2, Interesting)

Koiu Lpoi (632570) | more than 5 years ago | (#25815733)

I recommend .debris [theprodukkt.com] . By the people who made .kkrieger, that game in under 100k. It's just really, really good looking.

Procedural Generation: The latest thing (2, Funny)

damburger (981828) | more than 5 years ago | (#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?

World simulation and crafting items (1)

Lonewolf666 (259450) | more than 5 years ago | (#25815415)

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.

Procedural Generation wiki (2, Interesting)

a.d.venturer (107354) | more than 5 years ago | (#25815433)

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

pfft (1)

moogord (904702) | more than 5 years ago | (#25815993)

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/ [pyweek.org] ) 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?

Procedural worlds from the creator of Bryce. (2, Interesting)

fraktus (632342) | more than 5 years ago | (#25818495)

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.

FarCry2 is terrible (0)

Anonymous Coward | more than 5 years ago | (#25818829)

Too bad Farcry 2 is a terrible game, and vastly misses the mark from the original.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>