Procedural Generation

For Going home we want to do some cool procedural generation. for the coral reefs, and perhaps for some rocks etc. So this is some research Into the basics.

This talk from GDC, by Kate Compton is good for an overview. https://www.youtube.com/watch?v=WumyfLEa6bU

Her blog also has a lot of good information about generation principles and examples of her work, and others work she finds interesting. https://www.galaxykate.com/blog/generator.html

This document (can’t remember were I found it probably on Kate’s website) has more great overview information. http://pcgbook.com/wp-content/uploads/chapter01.pdf

From these resources a quick write up of the important stuff I have learnt is…

Good Procedural content generation is.

>Fast (We don’t want players to be waiting for days to play the game.)

>Controllable, real things are rarely truly random pseudo random elements often look a lot more natural than actual randomness.

>Expression/Diversity whats the point in generating content which all looks the same even if it’s actually different. (Think every oak forest in Minecraft, they are random but all feel the same.) Its a balance between identifiable as the thing you want, and something interesting.

> Creativity/believablility, does your thing look like it’s generated or natural. you want natural. But again to much naturalness written into the design can make your designs bland.

There are a lot of definitions which define different types of generation. I will only list the ones that I find that apply to what I will be creating.

Generic/adaptive : Generic describes that the content wont be affected by player behaviors.

Necessary/Optional: Describes content which is needed/ vs supplementary content for a game to function. The content will be optional, because the player doesn’t need coral in order to progress through the game.

Stochastic / Deterministic: Deterministic content will be reproducible with the same algorithm. for example In No man’s sky content isn’t saved, an algorithm simply uses the same seed to produce the same content when needed. Thus resulting in the same worlds and plants, etc being created. all that needs to be stored are the players changes to said worlds. Stochastic will produce different content each time. I plan to use a seed so the content I create will probably be Deterministic.

Constructive/Generate-and-test : constructive content is generated in one pass, as oppose to being generated then tested until a satisfying solution is found. My content will be constructive, and tweaked by the designer.

At the end of the day Procedural Content generation describes a huge range of ways to create content. So much general information is not very helpful to this specific project.

more specific behaviors/ descriptors.

Barnacling : 1 big object, a few smaller, lots of little. Looks natural.

Footing : adding a base to the bottoms of trees walls etc, anything that shows a bit of interaction as oppose to a perfect intersection really helps with a natural look.

Greebling : (Thanks star wars) coined from George Lucas sticking things to things to make star destroyer textures… Sticking things to other things. to make them more natural.

Parametric: Basically describes the method I want to use to generate the coral. It describes taking parameters and then outputting a different random thing incorporating those parameters.

Parametric algorithms can then be put through a genetic algorithm. (Not something I will use because I don’t need to, but interesting to note.) For example you could find the versions of the algorithm which create the tallest coral, or the most colorful.

Interpretive: Starts with input, and interpret it. Usually make it more complex. Incorporated into most algorithms in the form of some sort of input (seeds).

Simulations : Can be used for interesting more natural looks. Runs some sort of algorithm to create a desired effect based on actions taking place. (fluid sims particle sims etc.)

Published by Syriph

I am just a person, who wants to be happy. I hope sharing my art and stories will make others happy as well! If you like my work... Thank you! :) please leave a comment or email, I would love to hear any feedback.

Leave a comment

Design a site like this with WordPress.com
Get started