|
Title: Learning Procedural Level Generation? Post by: theRaddRedd on July 26, 2012, 11:51:13 AM Howdy :)
To get straight to the point, how did you folks learn procedural content generation (specifically for levels)? I'm working on a game that I think could benefit from it, but I don't even know where to start! Some specific questions: 1) How do you test for "win-ability"? 2) Ensuring logical flow/no funky oddball levels? If anybody could recommend a book, or even just do some quick psuedo-code, I'd really appreciate it! Title: Re: Learning Procedural Level Generation? Post by: fraxcell on July 26, 2012, 12:01:13 PM First of all, the Procedural Content Generation Wiki (http://pcg.wikidot.com/) is a fantastic resource for learning pcg.
More specifically, to answer your question on generating levels which are always winnable, read this article on environment trees (http://www.squidi.net/three/entry.php?id=4). You might also find this article (http://www.squidi.net/three/entry.php?id=37) interesting, written by the same dude. Title: Re: Learning Procedural Level Generation? Post by: Ashkin on July 26, 2012, 12:05:52 PM Behold, the best thread (http://forums.tigsource.com/index.php?topic=5174.0).
Title: Re: Learning Procedural Level Generation? Post by: Evan Balster on July 26, 2012, 12:15:00 PM The methods for doing these things vary dramatically based on the type of game. Some more specific information would probably get you better advice.
Title: Re: Learning Procedural Level Generation? Post by: Fallsburg on July 26, 2012, 02:21:47 PM In my opinion, it's far easier to construct a level via rules that guarantee winnability than it is to construct a level and then test.
Same for flow. Title: Re: Learning Procedural Level Generation? Post by: Paul Jeffries on July 26, 2012, 03:39:24 PM You might find these articles useful:
http://roguebasin.roguelikedevelopment.org/index.php/Articles#Map (http://roguebasin.roguelikedevelopment.org/index.php/Articles#Map) You can't really learn 'procedural content generation' though because it's too broad a topic - the things you need to know will vary wildly depending on what you're trying to achieve. The most vital skill I would say is honing your ability to pick apart and analyse the process of creating whatever content it is you're trying to generate. Think about how you would go about building up a level manually and then gradually start thinking about ways of removing the human element and automating it. Title: Re: Learning Procedural Level Generation? Post by: Hedgehodg on July 27, 2012, 01:53:07 AM To learn about the how procedural functions actually work I found this to be quite helpful: http://freespace.virgin.net/hugo.elias/models/m_perlin.htm And like mentioned above, the "Procedural Content Generation Wiki" looks pretty good.
Title: Re: Learning Procedural Level Generation? Post by: theRaddRedd on July 27, 2012, 05:31:30 AM Thanks everybody! Some really great stuff here.
To be more specific about my game, I posted a link to it here, in the Feedback forum. (http://forums.tigsource.com/index.php?topic=27287.0;topicseen) (be nice, its an obsolete version now ;) ) The idea is to get the other players to fall to the bottom of the level, without falling yourself. I think that the rules are basic enough where PCG could really enrich the experience. Thanks again! :beer: [EDIT] Oops, forgot to mention that the game's world is all psuedo-grid based (hand placed tiles), but the actual movement and physics are continuous. If you play it, you'll see what I mean. Title: Re: Learning Procedural Level Generation? Post by: Crimsontide on July 27, 2012, 08:02:24 AM This guy has a blog that covers all sorts of noise. Standard gradient noise (aka Perlin), cellular, simplex, 'cubist' (something he made up but looks quite useful), ect... And he has GLSL code to go with it.
http://briansharpe.wordpress.com/ Just go back through his blog entries. He explains things like smoothing and falloff curves, derivatives of the noise functions, various tweaks, ect... |