Jump to content
  • Advertisement
  • 06/11/16 02:02 PM

    Procedural Generation: Implementation Considerations

    Graphics and GPU Programming


    Originally posted at procgen.wordpress.com

    This article discusses considerations when you are implementing procedural generation (procgen) systems. [subheading]Define Objectives[/subheading] If you are dealing with runtime (real or load-time) procedural generators in a game, you need to create rules in a way to guarantee that the game objectives are not compromised. The right rule set and logic can sometimes be tricky to fine tune and narrow down. [subheading]Testing[/subheading] As part of guaranteeing the previous line, runtime ProcGen systems require you to thoroughly test its results. The more freedom you give your ProcGen system to create content the more you need to test it. You really want to make sure the resulting content is plausible, so that nothing weird is generated or something that stops you from completing the game's objective.
    [subheading]Perception[/subheading] The question is: do all these trees look alike? Is this room memorable? Or will the user distinguish similar type content? If you want them to, you should make sure you know what aspects and details help you to achieve this perception. GalaxyKate brought this to my attention and you can read her interesting post on it (and her experience on spore) on her Tumblr here. [subheading]ProcGen by necessity[/subheading] There are some types of games that require you to use ProcGen systems, like Infinite runners and Roguelikes, or games that learn and adapt with your inputs and gameplay. There are also other good to have situations like creating special effects or textures (like with Substance).
    [subheading]Prototyping[/subheading] If you have a ProcGen system or tool, it could help you to prototype game levels that require content in scale, like open-worlds. If you are using ProcGen at design-time you can use the resulting content as your starting point. [subheading]Rewarding[/subheading] Another thing you need to worry about is the sense of reward, if the generated content somehow influences it. Normally, you'll want the game to give you a sense of accomplishment, be rewarding and fun. Again, testing is important. Tanya Short from Kitfox Games talked about it at GDC 2015 (below).
    [subheading]Replayability[/subheading] If you have a runtime ProcGen system that guarantees a good variation of your game experience every time you play it, that can increase the game's longevity, meaning people would take longer to get bored of it. Gives it a sense of novelty that can, at times, surprise even its creator. [subheading]Discussion Value[/subheading] You need to manage this value properly. Runtime ProcGen, depending on the cases, will give you less walkthrough material (sometimes more) to talk about with other gamers. This mainly because each player will have a different experience. On the other hand, there are other things you can discuss. Minecraft gives you a lot of creative power which you can share with others. Infinite games, for instance, use the point system to allow gamer comparison. [subheading]Art perfection[/subheading] It's not easy to get ProcGen to produce art like a human artist would. It can be difficult for (random) runtime ProcGen art to satisfy 100% of the time. This mainly because it can be difficult to test all possible outputs and, if you decide to change one little variable, you can define a whole new set of outputs. I hope you guys enjoyed this list. Let me know if you have any comments or other considerations that I missed :)

      Report Article

User Feedback

This article doesn't seem to say very much. For example, the Testing section says that when developing procedurally generated games,  you need to test thoroughly. That can be true of any game. And there's one line that says make sure you can still complete the objectives on procedurally generated levels. But it doesn't give any advice on how to accomplish that. The rest of the sections are equally light on content.


Also, around the large pictures, there are div tags visible in the text.

Share this comment

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!