Skip to main content
Up and Coming
July 31, 2013

Procedural Game Asset Generation

I would like to keep this thread devoted to procedurally generated content (little or no art assets other than code), and similar related stuff. Feel free to contribute to this thread. Thanks...

You can change the subject of your post to match its content, like I did for the following posts in this thread.

    18 replies

    Up and Coming
    July 31, 2013
    Yes, I know the Demo Scene considers Procedural generation as a primary skill in programming. Hence the 64k demo competitions they have. Those are truly amazing. But in the mainstream electronic entertainment industry, it's become far less interesting. I hope it will make a return even in AAA games. Is there a reason why procedural generation has deteriorated from AAA game development? Is it because it takes too long for programmers to get it "right"?

    This city generator is absurd, truly impressive. 128kbit or 62kbit - either sounds insane to me. :D

    I haven't got a Rift devkit, since I'm not a developer, don't even know where to start. But I intend to fully get an Oculus Rift when it's out for consumers.
    DK2 ordered on March 19, 2014 at 11:03 AM PDT status: RECEIVED
    Up and Coming
    July 31, 2013
    "Shigawire" wrote:
    This city generator is absurd, truly impressive. 128kbit or 62kbit - either sounds insane to me. :D

    KB = kiloBYTE, not kilobit. Eight times larger, but still impressively tiny.
    This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
    Up and Coming
    July 31, 2013
    The important thing to understand about procedural character generation is that each adjustable parameter controls a facial feature that differs from the average face, and each of these parameters will fit into enough storage to hold this rather small quantity of distance variable. The entire Tom Hanks procedural character will fit into the fastest CPU cache without making a dent in available storage.

    When an entire CITY can be represented in tens of kilobytes, just how much will fit into a multi-megabyte CPU cache anyway? And some of these algorithms can be performed in the GPU with shaders (like that spider shader above, or the landscape shader). Video RAM is much faster than CPU RAM.

    I have believed for decades that procedural asset generation is the way of the future. Sadly, that future is coming slower than I want (but faster in some areas too).
    This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
    Up and Coming
    July 31, 2013
    You can't create a living planet with a regular AAA-team team of artists, that's for sure.

    Lets imagine a goal which we can reach today. I propose a city where the architecture from a century or more complies with building codes, where we have appropriate electric wiring, windows, plumbing and sewers, light fixtures of sufficient brightness and density, parking space, air conditioning, handicapped access, elevators, service elevators, traffic control which meets the needs of a diurnal rhythm, toilets, corridors... Everything which makes a city feel like people live there, and where players can make up their own games and tactics based on experience from the AFK world.

    I figure most of the people reading this are thinking "hmm, okay done" while the geekmaster types go "oooh... shit" with deep emphasis on the latter and start thinking about the nightmarish details of team-building. - Rockstar with their GTA IV couldn't do it and they have been at creating the city-sized sandbox for many years now. The first Grand Theft Auto was a gaming milestone, but the latest iteration still relied on textures for e.g. window-mounted AC units.

    I don't think it can be done inside a single company, period. For this open standards are needed, perhaps even open source. Building codes fortunately already are open standards, and there's this fascinating project at http://www.wikihouse.cc/ which aims to democratize the building of houses. It's called an "open source construction set".

    It may be relevant to our interests.
    Up and Coming
    August 2, 2013
    "geekmaster" wrote:

    And here is the full tutorial on how it was developed:
    http://www.shamusyoung.com/twentysidedtale/?p=2940


    Thanks for the link, I really enjoyed reading that article. I was always impressed by how good the Amiga demo scene was, and now I have a (very basic) understanding of how procedural generation works!

    Cheers
    Participant
    August 2, 2013
    I've actually been using isotropic noise for this sort of thing for a while now, it can be used for quite a few things. I've got a project that I've been working on in my spare time that will (hopefully) eventually generate an entire (very small scale) galaxy for exploring (with some RTS and space shooter stuff thrown in)

    libnoise is a really great library which has perlin, simplex, and cellular noise built in, with a lot of extensions for things like spherical noise generation, which I've been using to dynamically generate planets like this:



    I've also ported Stefan Gustavson's implementation of simplex to Java and added a tiny method for re-generating the permutation table, for anyone interested: http://paste.ubuntu.com/5940088/ (I maintain Stefan's license, public domain)
    Someone else ported it to C#/Unity aswell: https://gist.github.com/boj/1759876


    Also, for anyone interested in GPU noise, there's an implementation of many different algorithms in glsl at https://github.com/BrianSharpe/GPU-Noise-Lib


    If you're interested in this sort of thing, I'd also definitely recommend taking a look at this blog: http://briansharpe.wordpress.com/
    Up and Coming
    August 2, 2013
    "ganzuul" wrote:

    I don't think it can be done inside a single company, period. For this open standards are needed, perhaps even open source. Building codes fortunately already are open standards, and there's this fascinating project at http://www.wikihouse.cc/ which aims to democratize the building of houses. It's called an "open source construction set".

    It may be relevant to our interests.


    I think this might be the future of Google Earth. A virtual representation of reality where everyone can contribute and bit by bit the complexity grows. It might be unfeasible for a group to generate an entire city, but how hard could it be to add your own house? Populate it with open source representation of modern electronics, furniture, etc.

    We would need an universal item repository that holds objects that could be referenced to in multiple environments without a need to reconstruct them from scratch though. A wikipedia of objects perhaps?
    Participant
    August 7, 2013
    "geekmaster" wrote:
    Here is my fork of the source code for the "Pixel City" procedural city generation screensaver demo:
    https://github.com/geekmaster/pixelcity


    Forked and sent a PR to get it compiling under Visual Studio 2012 with a bug fix too :D

    This would be nice rift-ed