Search Unity

Procedurally generated content

Discussion in 'General Discussion' started by Nikolay116, Nov 7, 2010.

  1. Nikolay116

    Nikolay116

    Joined:
    Mar 21, 2010
    Posts:
    421
  2. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Apart from procedural textures I'd be surprised if you find any tools out there that do procedural generation, mainly because generating stuff procedurally is something that needs a lot of customization and tweaking and tends to be very game-specific. Or in other words, if you want to do procedural generation you usually have to do it yourself.
     
  3. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
  4. Nikolay116

    Nikolay116

    Joined:
    Mar 21, 2010
    Posts:
    421
    I see guys, post more if you know. I was looking for some code that makes custom vehicles like airplanes or cars. WOuld be cool
     
  5. Westmark

    Westmark

    Joined:
    Nov 1, 2009
    Posts:
    187
    Makehuman was sooo creepy hahaha :p
     
  6. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I don't think there is a whole lot of code out there for procedural generation. I mean, there is some, but procedural generation is not very commonly used and is something that's likely to be used more in future. I think there is going to gradually be a shift away from pre-generated graphics/textures/animation/worlds towards generating it at runtime in realtime.
     
  7. Mixamo

    Mixamo

    Joined:
    Oct 20, 2010
    Posts:
    163
  8. Blacklight

    Blacklight

    Joined:
    Dec 6, 2009
    Posts:
    1,241
  9. Alex Mat

    Alex Mat

    Joined:
    May 14, 2010
    Posts:
    177
    SideFX Houdini. *closing the thread* :d
     
    Last edited: Nov 8, 2010
  10. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    I love procedural generated stuff.

    http://www.theprodukkt.com/home

     
    Last edited: Nov 8, 2010
  11. Unified

    Unified

    Guest

    Joined:
    Mar 25, 2009
    Posts:
    236
    Not sure if that counts as procedural, as nearly everything in the demo looks to have been created manually. But still, nice demo anyway.
     
  12. LamentConfig

    LamentConfig

    Joined:
    Sep 28, 2010
    Posts:
    292
    Possibly the most amazing use of procedural stuff, if you can get your head around the ASCII :

    http://bay12games.com/dwarves/

    Generate a world, then view the history for it, and be amazed :)
     
  13. Unified

    Unified

    Guest

    Joined:
    Mar 25, 2009
    Posts:
    236
    I think we're all derailing the thread here, but this is cool. It's a real time 3D fractal box type thingy.
     
  14. Nikolay116

    Nikolay116

    Joined:
    Mar 21, 2010
    Posts:
    421
    I made this thread after watching a video from some thread here about endless procedurally generated city. I think future is with such technologies, that can facilitate development pipe line.

    2LamentCoding

    I know about such thingy, but I am mostly interested in 3d stuff I can use in unity.

    Thanks to all anyway
     
    Last edited: Nov 9, 2010
  15. Unified

    Unified

    Guest

    Joined:
    Mar 25, 2009
    Posts:
    236
    yes, I agree Nikolay. Lots of potential with procedurally generated worlds. It's going to be interesting to see which approach people take. One approach is to generate the worlds in real time while another approach is to procedurally generate the worlds at edit time. Obviously pros and cons to both approaches. Generating the worlds in real time takes time away from the CPU. Whereas large precomputed worlds means long download times.
     
  16. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    @Unified
    .detuned was done by .theprodukt and they a.o. use a generative/procedural generation tool. That's why i also posted the link to the page but that's obviously of no help if you don't read it.

    There exist many procedural stunning demos done with some of those tools or coded from scratch. Games related there are two types, those which rely almost fully on procedural routines and others which only use procedural techniques for certain aspects of the games, for example for track generation. Anyway there are many great games driven by it like for instance The Sentinel, Elite, Nethack, Darwinia, Spore, ....
     
    Last edited: Nov 9, 2010
  17. Unified

    Unified

    Guest

    Joined:
    Mar 25, 2009
    Posts:
    236
    Yeah, I've known about theprodukt and the demo scene for quite some time. I just wasn't sure what the video had to do with procedurally generated stuff. But yeah, I suppose it is an indirect link to the procedural stuff they've made.
     
  18. LamentConfig

    LamentConfig

    Joined:
    Sep 28, 2010
    Posts:
    292
    That video is creepy as hell, methinks its gonna be nightmare fodder ;)
     
  19. Sprocket

    Sprocket

    Joined:
    Sep 18, 2010
    Posts:
    31
    Nice thread. :)


    Here's a list of tools I have found interesting. Most of them are commercial software, but at least most of them have free trial/demo/limited versions available.


    Trees and Plants

    SpeedTree - http://www.speedtree.com/ (really high end - both quality and prize - even getting the trial requires a lot of paperwork)

    XFrog - http://www.xfrog.com/ (comercial, somewhat dated - especially the stand-alone editor and "tune" utility)

    ngPlant - http://ngplant.sourceforge.net/ (open source with liberal license for use of its libraries - editor is somewhat similar to Xfrog, but with less features)

    There's some other toolkits, but most of those are for very specific uses (and most of them very outdated). Most 3D software packages do have some sort of 3D tree/plant generation features, either built-in or available through 3rd party plug-ins. The most advanced I've seen is Vue (definitely worth a look for anybody interested in procedural stuff). Exporting models from these 3D packages might not be simple, since the programs/plugins often support dynamic level of detail.

    There's some decent open source libraries available if you search for "L-system" or "groimp", but these seem to mostly be aimed at academia. I guess the main reason is that although these grammar based methods are very elegant, they are close to impossible for humans to edit by hand.


    Textures

    Filter Forge - http://www.filterforge.com/ (Awesome software, reasonably prized with trial available. Paying customers has access to their huge online library of textures that can be downloaded and modified free of charge. Definitely worth it to check out their online texture library on their website)

    Genetica - http://www.spiralgraphics.biz/genetica.htm (A bit pricey - limited trial available. Has some unique advanced features, such as hierarchical graphs and animation support, but in my opinion not as easy and flexible to use as Filter Forge)

    Darktree - http://www.darksim.com/ (Reasonably prized, trial available. Not as intuitive to use as Filter Forge, but does have some unique features including build-in rendering and a free plug-in API)


    Terrain

    There's a *lot* of procedural terrain tools available, so I won't try to list them all - I'll stick to mentioning the most prominent (and ignore all the ones that aren't node-based).

    World Machine - http://www.world-machine.com/ (Reasonably prized, Free limited version available. Defintely my favorite terrain generation tool - it's extremely powerful yet very simple and easy to use. Its fast preview functionality makes trying out ideas fast, easy and fun. There's a plugin API available, but it's not up-to-date with the newest version)

    Terragen 2 - http://www.planetside.co.uk/ (Somewhat reasonably priced. Free limited non-commercial version available. Includes built-in support for Xfrog trees/plants including a somewhat pricey bundle of both Terragen and a big library of Xfrog plants. In my opinion Terragon 2 is over-hyped and not all that useful, unless you need the built-in render pipeline)

    Mojo World - http://www.pandromeda.com/products/ (Somewhat reasonably prized. Free limited demos are available. This program has been around for ages and is supposedly quite advanced. However the user-interface is extremely weird and non-standard and my impression is that the learning curve is extremely steep. It also lacks basic features such as a live preview when editing node-graphs. From what I've seen it's useless unless you really like creating alien-looking artsy worlds, but since I've never really managed to get anywhere with it I may not be the right person to judge it)


    Cities

    City Engine - http://www.procedural.com/ (Expensive! - even for the limited indie license. 30 day trial available. Looks very impressive.)

    Suicidator City Generator (for Blender) - http://arnaud.ile.nc/sce/ (Free. Don't have any experience with this)


    Characters

    Someone else already mentioned Mixamo, Morpheme and Make Human.

    If you're looking for inspiration Spore's creature editor is worth a look too.


    General Procedural Modeling

    Houdini looks cool from what I've seen on Youtube, although it seems the recent versions focus less on procedural modelling and more on dynamic effects generation.

    Generative Modeling Language - http://www.generative-modeling.org/ - might also be worth a look.

    Google Sketchup is not truly a procedural editor, but it does come pretty close if you take the scripting functionality into account.


    Procedural Sound

    Not my strong area of expertise, but there's some tools out there aimed at musicians (an old-school synthisizer is a good example of procedurally generated sound created in hardware). One modern software toolkit is Reaktor from Native Instruments: http://www.native-instruments.com/#/en/products/producer/reaktor-55/ (there are others, but I forget their names)


    Would be cool if we could try and keep this thread as complete as possible. :)


    - Rasmus Bertelsen
     
    Last edited: Nov 11, 2010
  20. Sprocket

    Sprocket

    Joined:
    Sep 18, 2010
    Posts:
    31
    Also, as other mentioned it's definitely worth it to check out demo scene releases - especially the super small intros, since these are 100% procedural.

    Best approach is to search for "4k intro" (and "1024 intro" and "256 intro" etc.) on YouTube. Another approach is to look for interesting 4k intros on http://scene.org/ (the awards section is a good start) and then searching for their names on YouTube. (getting 4k intros to run on Windows can be quite a hassle, so YouTube is usually preferable).

    If you're a programmer it's also quite a trip to contemplate how these guys manage to create these demos (including the music) in 4096 bytes or less.


    Some of my favorites:

    Elevated - http://www.youtube.com/watch?v=_YWMGuh15nE (really awesome terrain generation!)

    Darwinism - http://www.youtube.com/watch?v=07XiEjlluZw (real-time genetic selection of creature behavior and animation!)

    Rudebox - http://www.youtube.com/watch?v=iRW742aIa1E

    Sult - http://www.youtube.com/watch?v=foR64ZObAXA

    yes we can - http://www.youtube.com/watch?v=_zc9ShGmkSU

    Untraceable - http://www.youtube.com/watch?v=AMaNxyHhH6A (1024 bytes)

    puls - http://www.youtube.com/watch?v=R35UuntQQF8 (256 bytes!)

    spongy - http://www.youtube.com/watch?v=36BPql6Nl_U (128 bytes!!)

    Farbrausch fr-062 - http://www.youtube.com/watch?v=wXE2pn_s818 (full size demo, but awesome procedural stuff - especially impressive that it doesn't not polygon based at all)
     
  21. Nikolay116

    Nikolay116

    Joined:
    Mar 21, 2010
    Posts:
    421
    wow man you made my day!
    This is what I was looking for, thanks a lot!
     
  22. gl33mer

    gl33mer

    Joined:
    May 24, 2010
    Posts:
    281
    This : http://js1k.com/ doesn't compare with those amazing intros, but the source code to some of them is included and it's in Javascript.
     
  23. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I think there is quite a big difference between content creation tools which generate geometry and stuff `off-line` which you then import into your application, versus true procedural generation which is done at runtime.

    The whole point, largely, of generating stuff procedurally is that you save on all the storage space that would be needed to store all the files that represent your models and stuff. You generate them either on the fly or at least on program-startup using scripting and graphics techniques. The idea is that you didn't precalculate stuff or have to load in extra files or distribute extra files. True procedural generation saves storage space and bandwidth, usually at the expense of extra computation during runtime.

    All those tools listed about are not what I'd call procedural generation. They're content creation tools that happen to have some programming to generate content using higher level tools without having to get in there and code the generators yourself.

    I think also in the Unity crowd there are a lot of people who think that anything that's done in a script is procedural generation. That's stretching it ;-)

    Mostly the only software that is procedural is the stuff like those demoscene demos which hardly need any files to generate entire worlds, or code in your game which might e.g. create special effects or terrains or whatever using scripting rather than someone else's tools.
     
  24. Nikolay116

    Nikolay116

    Joined:
    Mar 21, 2010
    Posts:
    421
    Indeed, I personally more interested i nb ff-line generation,
     
  25. Unified

    Unified

    Guest

    Joined:
    Mar 25, 2009
    Posts:
    236
    What amuses me about those demos is that while they're often only 64k in size, by the time they've procedurally generated their data they could've actually downloaded just as much data. And in most cases downloaded data would be better quality too, lightmaps etc.

    I think the real strengths of procedural data is the infinite amount of variations that can be obtained. Yet for some reason most procedural demos I've seen don't play to these strengths, instead they just generate the exact same data every time.
     
  26. windexglow

    windexglow

    Joined:
    Jun 18, 2010
    Posts:
    378
    I'm making a zombie-survival based during the winter of 1800s/1900s. The terrain, towns, and even buildings are all procedurally done so they will never be the same twice. Game play wise this won't do a whole lot, but it's fun for me as it's an area I love.

    So yes, most things can be done procedurally in unity. But it takes a lot more work than I expected :p
     
  27. Nikolay116

    Nikolay116

    Joined:
    Mar 21, 2010
    Posts:
    421
    I bet it saves you lots of time.
     
  28. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    The `spirit` of the demo scene is that you try to get the hardware to do stuff that people thought it could not do, or effects which people can't figure out how they work. Many people could not imagine seeing an entire procedural realistic procedural landscape coming from a 64k executable. You are correct it could've been downloaded faster but that's not the point of the demo movement, it's more about programming prowess than practical usefulness to the average web surfer, and they're definitely not targetted at the mainstream population.
     
  29. gl33mer

    gl33mer

    Joined:
    May 24, 2010
    Posts:
    281
  30. gl33mer

    gl33mer

    Joined:
    May 24, 2010
    Posts:
    281
    Here are some topics from the call for papers for the Special Issue on Procedural Content Generation
    IEEE Transactions on Computational Intelligence and AI in Games
    Special issue

    * Procedural game level, scenario and quest generation
    * In-game procedural creation of game objects
    * Procedural creation of urban and natural environments
    * Automatic layout techniques and generation of interiors
    * Procedurally-assisted generation of art assets
    * Adaptive game balancing and dynamic content generation
    * Automatic generation of game rules and game variants
    * Deployment of procedural generation within game design
    * Case studies of industrial application of procedural generation
    * Systematic evaluation of procedural content generation
    * Combining manual editing with procedural generation of content


    I suspect this is more along the lines ImaginaryHuman was pointing to.


    The above was taken from
    .
     
  31. gl33mer

    gl33mer

    Joined:
    May 24, 2010
    Posts:
    281
    Here's a short text I found interesting in this regard:

    (taken from the Workshop on Procedural Content Generation in Games)

    (for those so inclined here are the full text papers from this workshop)
     
  32. Nikolay116

    Nikolay116

    Joined:
    Mar 21, 2010
    Posts:
    421
    thanks gl33mer,

    I found it also on web, it becomes a big thing. Indeed with the advent of such tools it would be a way easier for smaller groups of people to devellop games. That would be awesome, and these big slow companies may perish
     
  33. gl33mer

    gl33mer

    Joined:
    May 24, 2010
    Posts:
    281
    It's not so much in the tools but rather in coding and thought. Or, at least so it seems to me.

    I'm not waiting for anyone to parish.

    It's a big forest and there's room for big giants and little tiny faeries.
     
  34. GorrylIard

    GorrylIard

    Joined:
    May 4, 2008
    Posts:
    44
    Generally speaking the way to go is to make the computer do the boring tedious tasks, while you do the fun and creative tasks.
     
  35. gl33mer

    gl33mer

    Joined:
    May 24, 2010
    Posts:
    281
  36. Ashkan_gc

    Ashkan_gc

    Joined:
    Aug 12, 2009
    Posts:
    1,124
    i made a script that does simple procedural generations.
    Asset Store link
    it does procedural generation with specified patterns like cubical and based on bool arrays and is not that advanced but could be quite useful when creating levels of games like pacman and many other 2D tile based games. i made them originally for a pacman game that we are making as an advergame.