Procedural Environment of Streamfall’s Wildlands

The Crash ( and Streamfall games in general) will be naturalistic and procedural. The version of The Crash posted elsewhere has a tile-based system, which works pretty well. What would be more natural looking would be voronoi cells. This means an entirely procedural approach, but some time I’d like to give it a try.
What The Crash looks like right now, using 3d tiles
http://www.streamfall.com/wordpress/wp-admin/customize.php?theme=elevation-lite&return=http%3A%2F%2Fwww.streamfall.com%2Fwordpress%2Fwp-admin%2Fthemes.php
Consider – A voronoi graph both in the macro and micro scale. In the macro scale, it might look like one of the situations below. However, each cell is a different zone.
Macro View
http://www.streamfall.com/wordpress/2018/12/procedural-environment-progress-using-voronoi/
The zones are then also voronoi, with slabs of rock, flat plain areas, rivers, etc, and with landscape assets and ruins scattered about. It wouldn’t be the first time I dabbled into this concept but I had to drop it due to time and project constraints. Reminder to self – it isn’t possible to align a marching cubes like comparison for voronoi… is it? some amount of googling later http://www.cs.carleton.edu/cs_comps/0405/shape/marching_cubes.html I’m just beginning this again because I found a great article : https://squeakyspacebar.github.io/2017/07/12/Procedural-Map-Generation-With-Voronoi-Diagrams.html Also, check out this voronoi planet generator! https://crushingcups.itch.io/voronoi-planets

Notes

Objects

  1. Zones are of a type
    1. With Characteristics
      1. Island
      2. Beach
      3. Woods
      4. Plains
      5. Steppe
      6. Tundra
    2. Each with a varying level of different details
      1. Food amount
      2. Resource types
      3. Ruins amounts
      4. Topographical variation(s) of type
        1. Soft
        2. Jagged
        3. Manufactured
  2. Character has
    1. Hunger
    2. Exhaustion
    3. Dehydration
    4. Health
    5. Exposure
  3. World has
    1. Time
      1. Time decrements exhaustion, dehydration, health, and exposure
    2. NPCs
      1. Some of which are friendly
      2. Some of which are enemies
      3. Some of which are simple animals
      4. Each of which can be food
      5. Each of which can be friendly
  4. Linear

Process

  1. Generate Voronoi graph
  2. Populate Voronoi with
  3. Generate Zones along a randomized fractal path (Zig Zagging and hard to guess at)
  4. Display Zones on map (Display Map and zones, represented by voronoi)
  5. A voronoi cell from above becomes the bounds (just testing position for within) for a new voronoi graph. Using the topographical variation type and perlin noise (or other noise), stagger the voronoi cell’s height.
  6. Identify the scale of the cells. Based on the size and height we will decide if a cell is a patch of grass (if its large), if its a jagged rock (if its small), or if its a large boulder (if its tall). In the lowest points, we’ll add bodies of water or streams. That’s a whole other complicated thing.

Share