catbarf on 4/5/2009 at 23:29
I happened upon (
http://www.shamusyoung.com/twentysidedtale/?p=3220) this site recently, and was amazed by this procedurally-generated cityscape. It got me thinking about the potential applications for such content in mainstream games, as opposed to flash shooters and the like.
And, well, I'm having some trouble. The typical design ethos revolves around fine-tuning and carefully crafting every last detail. So what does procedural generation have to offer games?
Chade on 5/5/2009 at 00:35
play
The benefit of procedural generation is that
a) the computer can do the work (possibly during play), and
b) there is a consistent underlying logic to the construct.
None of which really shines through in a procedurally generated cityscape.
How are we distinguishing "procedural generation" from "algorithm", anyway? Subject matter?
The Alchemist on 5/5/2009 at 01:24
I'll bite.
Procedural generation is a vaster mechanism. Algorithms for randomizing cityscape tiles or whathave you != procedural generation. Cityscapes happen to be a bad example for this. Procedural generation is probably better related to the ideas of life itself. You give a gameworld rules, much like the rules of physics that control our own. For example, if you're creating a creature it should (probably) have some sort of structural system, a skeleton that controls its anatomy. More over, this skeleton would determine how said creature walks. I guess Spore is the defacto example for this. Yata yata, my girlfriend is nagging.
Papy on 5/5/2009 at 02:21
That's not what I thought procedural generation meant. My idea of procedural generation was more what was implemented with Elite or The Sentinel. To me, having internal rules is just constraint added to the procedural generation, it is a part of the algorithm, it is not the defining characteristic.
As to the benefit of procedural generation, I guess it is essential for any truly open ended game.
Phatose on 5/5/2009 at 03:09
Procedural Generation is a superclass of random generation. Basically, it means "Not Handcrafted" - anything where a designer didn't go through a place every individual bit, instead putting parameters into some kind of program which creates.
It's important in the near term primarily because it allows for more expansive worlds without the development cost of hand placement, which is frigging expensive. The general idea would be to give the program the parameters and create the basic city scape, then have your designers go back and plug in/alter the important parts. If you can get it done well enough, then you get a nice backdrop for your game, with the benefits of hand placement for the important stuff without having to deal with the huge budget drain of designers creating everything.
Really, if designers have to create every single building in your game...most of the buildings are something you will not be able to go in, because budget restraints will prevent you from making those insides.
We already see plenty of this, especially for outdoor worlds. You've probably seen the speedtree logo once or twice. It's a procedural generator for trees. People don't model trees in outdoor landscapes anymore, they toss parameters into the program and it produces the trees. I'd expect more then a few expansive type games have heavily relied on the same concept for generation of entire landscapes. Oblivion, for example, was probably a landmass originally computer generated which was then altered to put in the important bits.
In the longer term, it's got huge potential for flexibility. I'm sure we've all encountered those obnoxiously generic sidequests in a game or two, that were clearly machine generated. Now, the potential here is to keep pushing the technology forward to the point where those are indistinguishable from one designed by a human. It's a long way off, but just imagine the potential there.
It has other uses too - procedural voice generation, for example. If you've played oblivion (or quite a few other games), you've no doubt encountered the "There are more people in the world then we have voice actors, so they tend to sound alike." Procedural voice synthesis could prevent this, by having the machine generate the voice based on the parameters of the speaker. Long, long way off, but it's certainly something their looking into. Also, again, huge cost and/or content benefits. It's simply far, far cheaper to have a writer write text then it is to also voice record it. Remove the need for voice actors, and you can have large quantities of dialog without needing large voice acting budgets.
Consider Mass effect for a second. You can make Shepard look like any race - but there is only one voice per sex, and at the risk of sounding racist, it's a very white voice. You can give Shepard any first name you want, but can't change that last name, and no one will ever call him/her anything but Shepard. Procedural voice generation would let you make an Black hero, with whatever name you might like, and have them sound like a Black hero, and have the NPCs in the game refer to them by the name you gave them.
Plus, you can apply the same principle to other things. Not Shepard catches a claw to the face when his shields are down. Procedurally, you add a gaping wound to the model. After it gets treated, it becomes a scar.
Now that's all distant future - in the near future, we're looking at city scapes, landscapes, procedurally generated guns, and the like. But it's main goal is to do the same thing for design the automation has done for everything else - allow people to get more done by having the machine do as much of the work as possible. Because as much as placing every detail by hand does for a game, designers artists and voice actors want to get paid. Which creates a limit on how much you can do.
demagogue on 5/5/2009 at 03:40
A recent indie game with procedural generation I liked was Dyson.
I like to think about the relationship between procedural generation and sandbox. First, while they often go together, they still have different goals (obvious point, I know, but for discussion's sake...)
Procedural generation is about the way in which the game world and conflict situations are created for the player to face.
Sandbox is about the freedom of action, and engagement-opportunties, you have to do things in that world.
They often go together, but don't have to be. GTA3 is sandbox but not procedurally generated (very much; not enough to be its trademark). Dyson is procedurally generated but not sandbox. Dwarf Fortress, Civilization, and Spore are good examples of a game having both.
Sulphur on 5/5/2009 at 06:45
Procedural generation also helps in areas like texture generation. If you have procedural shaders produce your textures, they can be made for literally any resolution you desire.
Procedural shaders have been a part of Pixar's Renderman package for a good long while, but procedurally generating textures is still extremely slow when it comes to real-time applications. (
http://www.theprodukkt.com/kkrieger#20) .kkrieger actually did this to an extent: the executable stores the steps used by the artist to create the textures instead of the textures themselves, and builds them upon runtime - which is partly the reason why it takes a good long while to load.
Shakey-Lo on 5/5/2009 at 15:13
Civilization and (
http://forums.tigsource.com/index.php?topic=4017) Spelunky are an example of two very different games that use procedural generation in a similar way. They both generate maps procedurally according to certain rules, and then task the player with 'overcoming' those maps in a man-versus-environment type approach. In both games, no single factor (a cornfield in civ or an arrow trap in spelunky) will prove decisive, but the procedurally-generated
arrangement of the different factors structures the player's experience. The experience will be different each time thanks to the random element, but the consistent underlying logic still allows players to improve their skills. Subsequent playthroughs give the player the best of both worlds: a deeper understanding of the game,
and a new space in which to use it.
They are both games about exploration, and as RPS rightly pointed out in their Spelunky critique, you can't explore a space you've seen before - which is why Spelunky works so well.
I like these games because they provide an element of chance, but chance only determines what is presented to you, and it is up to your skill to overcome it. It's like poker. What you're given is pure luck, but the way you use it is pure skill.
Papy on 5/5/2009 at 16:55
There's something I wonder... Could some AI be considered as procedural generation?