Hacker News new | past | comments | ask | show | jobs | submit login
Procedural Content Generation in Games (pcgbook.com)
102 points by ingve on July 8, 2014 | hide | past | favorite | 25 comments



My favorite example is the FPS .kkrieger (https://www.youtube.com/watch?v=2NBG-sKFaB0) which is entirely contained in a 96 KB EXE. Recently I learned the source for that (and other projects) was released a couple years ago, even if in a pretty messy state: https://github.com/blog/1103-ten-years-of-farbrausch-product...

Skimming around I found this snippet at the end of chapter six. Are the authors even aware of .kkrieger?

As we can see, all existing work on generating graphical game has targeted games in the style of classic arcade games and home console games from the early 80’s, or simple arcade games. There is still considerable work to be done here, and nobody has yet constructed a system that could generate novel graphical games of high quality, comparable to the novel high-quality board games produced by Cameron Browne’s Ludi system. However, there is also considerable opportunities in devel- oping game description languages that can effectively and economically describe other types of games, and game generators that take into account the specific game design affordances and challenges that come with such games. For example, what would it take to generate playable, interesting and original FPS games?


Codewise, the most horrifying/amusing bit of .kkrieger is probably the insane metaprogramming to save 230 bytes of space:

http://fgiesen.wordpress.com/2012/04/08/metaprogramming-for-...


Excited to see a chapter on L-systems. I just discovered these recently and was amazed at the beautiful results from simple grammars.

For anyone else interested, there's a free PDF book all about the subject. It's "The Algorithmic Beauty of Plants"

http://algorithmicbotany.org/papers/abop/abop.pdf


Here's a cached version of the first chapter, as the site appears to be down:

http://webcache.googleusercontent.com/search?q=cache:I4Ikw4K...




Every once in a while, I've been reading the articles in this interesting blog[1] that covers various topics on procedural world generation. I've found that some of the articles (like, for example, this one[2] covering the creation of vegetation using space colonization instead of L-systems) are very educating.

[1] http://procworld.blogspot.com/

[2] http://procworld.blogspot.com/2011/02/space-colonization.htm...


The old PC game Star Flight used a procedural system to generate planets on the fly because there wasn't enough storage space on disks:

http://en.wikipedia.org/wiki/Starflight



The Elder Scrolls : Daggerfall is another notorious early user of procedural generation to generate an incredibly large open world.


I couldn't find a single pdf version of the book, and I failed to find the copyright to know whether I'm allowed to upload such a version myself. In any case, the following two lines are what I used to unite the files using bash and the pdfunite utility (available as the poppler-utils package in ubuntu) for my own personal use.

    for i in {1..12}; do wget `printf "http://pcgbook.com/wp-content/uploads/chapter%02d.pdf" $i`; done
    pdfunite chapter*.pdf ProceduralContentGenerationInGames.pdf


or on OSX:

    for i in {1..12}; do wget `printf "http://pcgbook.com/wp-content/uploads/chapter%02d.pdf" $i`; done
    "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o ProceduralContentGenerationInGames.pdf chapter*.pdf


Can anyone point to some good/well known mobile games that use procedural content generation?

I can think of AoE and Worms on the PC, and i enjoyed both of these tremendously.


Brogue[1] is an acclaimed roguelike that follows in the tradition of substantial procedural content for that genre, and exists on IOS[2], at least. You might find others at: [3]

[1] https://sites.google.com/site/broguegame/

[2] https://itunes.apple.com/us/app/brogue/id613921309?mt=8

[3] http://forums.roguetemple.com/index.php?topic=3697.0


Minecraft at a minimum uses a variant of perlin noise for the terrain generation.

Also, while it doesn't have the replay value found in the Minecraft sandbox, Starbound procedurally generates not only the map/terrain but also the mobs.

http://en.wikipedia.org/wiki/Starbound


My personal favorite is Pixel Dungeon, which was the best rogue-like on mobile i could find


Minecraft. The whole 3d world is generated proceduraly.


Most one-runners do this to keep the gameplay fresh and unpredictable (tiny wings, canabalt, temple run)


did AoE really use procedural generation? it could have been due to the immaturity of the genre, but i think you'd be hard pressed to procedurally generate balanced RTS maps. seems more forgivable for something like Worms, but still kind of dangerous.


Age of Empires on the PC did indeed have random map generation. Age of Kings also included the scripting language that let modders create their own scripts to generate new types of procedural maps. The cells from the random generation were also repurposed as part of the pathing.

Most of the default scripts ensured balance by having a set of identical resources by each player's start. An example of the scripting language, placing a gold resource near the player start:

  create_object GOLD 
  { 
     number_of_objects 7 
     group_placement_radius 3 
     set_tight_grouping 
     set_gaia_object_only 
     set_place_for_every_player 
     min_distance_to_players 8 
     max_distance_to_players 14 
     min_distance_group_placement 4 
  }


if you can play different races or have different terrain abilities, symmetry is not the only balance issue


There's a bunch of articles and info related to procedural content at http://pcg.wikidot.com which might be of interest to people reading the linked book. I haven't read enough of either to comment on their overlap or relative merits.


How Hackable is it? ¹ FOSS ² Limited Access to API ³ Closed/DRM Only god, the developers and xkcd can know how it works.

The Division (Ubisoft) WazHack (Some very enjoyable and challenging gameplay) CubeWorld The Dead Linger Elite ³ X3 Reunion/Terran Conflict ² (a few sectors) nice script interface. Starlight Inception (Proprietary) FUEL 2009 (team Asobo) Looks great. Dead Rising 3 (zombies appear "unique" ) Limit Theory.

Also: (Hackable is anyones guess.) http://www.pcgamer.com/tag/procedurally-generated/ Sir, you are being hunted. GUN_MONKEYS Nowhere Chasm Dustforce Race the Sun A Valley Without Sun

DLC and MODS Neverwinter Nights: Hordes of the Underdark. (DRM killed it. no longer playable) Legend of Grimrock. ² (Excellent Scripting.)

Engines (Nearly every modern engine is well represented.) Irrlicht3D ¹ (FOSS, Source, API and documentation are super.) Unreal ² Excellent Editor and Scripting. Unity ² Excellent Editor and Scripting. Affordable Minetest ¹ (FOSS, Irrlicht3D -> LUA script API) Minecraft ¹ (Source code available for early releases.)

From Giantbomb.com for release in 2014-15. http://www.giantbomb.com/procedural-generation/3015-328/game... Daylight (Unreal Engine) similar to Amnesia:The Dark Descent Invisible, Inc. StarCrawlers Darkest Dungeon Sunless Sea Mountain Outpost Save Yourselves Fancy Skulls Mew-Genics Unreleased ( The teaser is a great. Put the coffee away before watching this.) http://www.youtube.com/watch?v=KXCp8xS0YzI

Unfinished Infinity MMOG No Mans Sky The compilation of GCC. (Not funny? Please, accept my apology..)


Eek! - I'll do better next time, sry.


What were you trying to do? I don't understand your original post at all.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: