LayerProcGen is a framework for Unity and any C#-compatible engines for implementing layer-based procedural generation facilitating a structured way to organize generation processes and how they depend on each other.
According to Rune, Game Developer and procedural generation enthusiast, LayerProcGen is best described as a tool for providing a structured way to organize generation processes and how they depend on each other and doesn't include any procedural generation algorithms on its own.
Essentially, this framework makes it possible to build many different chunk-based procedural data layers with dependencies between each other. It automatically generates dependent on chunks when they are needed by chunks in other layers, or by top-level requirements.
You implement your own data layers, and you can use whichever generation techniques you want there, as long as they are suitable for generation in chunks. LayerProcGen can be used for 2D or 3D worlds, but 3D worlds can only extend infinitely in two dimensions, similar to Minecraft.
Image Credits: Runevision, LayerProcGen
Image Credits: Runevision, LayerProcGen
Image Credits: Runevision, LayerProcGen
While the infinity referred to is infinite for all intents and purposes, it's limited by the range of 32-bit integer numbers since generation will typically be based on integer-based world space coordinates.
Rune describes the central feature of LayerProcGen as supporting contextual generation while staying deterministic. Procedural operations can be performed across chunk boundaries, producing seamless results for context-based operations. This is possible by dividing the generation into multiple layers and keeping a strict separation between the input and output of each layer.
It should be noted that LayerProcGen is not a terrain generation tool, but it's an example of what the framework can be used for. Rune has used LayerProcGen in his own game called The Big Forest:
Although only tested in Unity, LayerProcGen is designed to run in any C#-compatible engine, since its core framework doesn't depend on any Unity assemblies or API.
LayerProcGen is scheduled to be released later this year. If you make any changes or improvements to the framework, you must share those for free with the community. However, the rest of the source code is not licensed, meaning you're free to make commercial projects that use LayerProcGen.
Check out the documentation here and follow Rune on X/Twitter, where he often shares WIPs and updates on LayerProcGen, and highly encourages other procedural generation enthusiasts to share their thoughts and suggestions on this project.
Don't forget to join our 80 Level Talent platform and our Telegram channel, follow us on Instagram, Twitter, and LinkedIn, where we share breakdowns, the latest news, awesome artworks, and more.