This prototype displays a textured 3D landscape, rendered from a 2D height map. Students can stack and parameterize arbitrary generation layers, each layer able to modify existing heights according to the specified algorithm. Currently, four stackable algorithms are implemented:
- Diamond-square.
- Perlin noise (via Unity's implementation).
- Fault generation.
- Cellular automata.
- Per Bak sandpile (very slow, and not very good results)
This prototype is used to showcase each technique after an in-lecture exposition of the underlying algorithm.
Terrain layer classes extending AbstractGenConfig
(or
StochasticGenConfig
if using PRNGs) are automatically found via reflection,
and can be configured in the Unity editor. Adding new types of layer is simple,
and consists of creating one such class and placing it in the
Assets/Scripts/GenConfig
folder.
This prototype uses:
- The
PCG
andUtils
module of the libgameai library (MIT License). - Mysteryem by qubodup (CC-BY-SA 3.0)
- Using the prototype (video) (deprecated)