Procedural generation
Procedural generation builds content with algorithms: dungeons, terrain, mazes, cities and levels. This section covers noise, cellular automata, wave function collapse, Voronoi maps, hex and grid worlds, and how to keep generated content playable. Good for replayability and for shipping big worlds with a small team. 118 hand-picked Unity guides, tutorials, videos and repos, kept current.
- Hex Map 5.6: Create Climate Burst Job
Hex Map 5.6 update converting climate creation into a Burst job.
catlikecoding.com · Oct 2026 - Barely Breathing: procedural puddles that follow the environment
Updated procedural puddle generator that spreads around obstacles and follows environment shape.
jettelly.com · Sep 2026 - Hex Map 5.5: The First Burst Job
Hex Map 5.5 update converting a mock job into a Burst job.
catlikecoding.com · Aug 2026 - A procedural wall system like StoneWorks in Unity
Procedural stone wall building and real-time damage, inspired by StoneWorks.
jettelly.com · Aug 2026 - Xorshift Generators
Deep dive into xorshift pseudo-random number generators.
alanzucconi.com · Aug 2026 - Xorshift Generators: Appendix
Appendix listing maximal triplets and technical details for xorshift generators.
alanzucconi.com · Aug 2026 - Hex Map 5.4: New Map Generator
Hex Map 5.4 update starting an experimental new map generator.
catlikecoding.com · Jul 2026 - Can AI Finally Write Unity DOTS Code?
⌚ Time stamps for key topics ⌚
youtube.com · Jul 2026 - Shifting Castle: procedural dungeon generator and combat systems breakdown
How a solo team built a procedural dungeon generator and combat system from scratch.
jettelly.com · Jul 2026 - Generating a Living Sea
The three systems behind a Privateer battle are really one pipeline: wave function collapse builds an island map, the jump flood algorithm turns its coast into a distance field, and the boids fish read that field to stay in the water.
bartouv.github.io · Jul 2026 - Charting a New Sea Every Run
How the run map is generated: Poisson disc scatter for even beacons, Delaunay triangulation for natural links, then pruning and connectivity guarantees so an FTL-style sea is always playable start to boss.
bartouv.github.io · Jul 2026 - Generating Island Maps with Wave Function Collapse
Wave function collapse explained from scratch: superposition, entropy, and constraint propagation, taught through the hex island battle maps it generates in a Unity naval tactics game.
bartouv.github.io · Jul 2026 - Simulating surf breaks in Unity with bathymetry depth maps
Wave system behind a surfing game, driven by bathymetry depth maps.
jettelly.com · Jun 2026 - Hex Map 5.3: Storing the Found Path
Hex Map 5.3 update storing the found path.
catlikecoding.com · Jun 2026 - @halisavakis.com: setting a vertex UV to (0,0) gives free growth rings
Procedural branch end caps got automatic tree growth rings from a placeholder UV coordinate on the middle vertex.
bsky.app · Mar 2026 - Hex Map 5.2: Save and Load Menu
Hex Map 5.2 update converting the Save and Load menu to UI Toolkit.
catlikecoding.com · Feb 2026 - Hex Map 5.1: New Map Menu
Hex Map 5.1 update converting the New Map menu to UI Toolkit.
catlikecoding.com · Feb 2026 - Hex Map 5.0: New Input System
Hex Map 5.0 update switching to the new Input System.
catlikecoding.com · Jan 2026 - Maze 5.1.0
Tutorial: adds windows to maze walls in Unity (Maze 5.1.0).
catlikecoding.com · Oct 2025 - Exploring procedural design in Rain World: The Watcher
Procedural animation and emergent enemy behaviors that drive Rain World's living ecosystem.
unity.com · Sep 2025 - Hex Map 4.1: Better Dragging
Hex Map 4.1 update improving dragging UX.
catlikecoding.com · Aug 2025 - Maze 5.0.0
Tutorial: adds ornaments to maze cells in Unity (Maze 5.0.0).
catlikecoding.com · Jul 2025 - Procedurally Generate Entire Buildings With Unity Splines
Generates entire buildings procedurally using Unity's Splines package.
youtube.com · Jun 2025 - Blue Prince: Can a random puzzle game actually work?
Looks at how Blue Prince combines randomised room drafting with handcrafted puzzle solutions.
youtube.com · May 2025 - Hex Map 4.0: UI Toolkit
Hex Map 4.0 update recreating the map UI with UI Toolkit.
catlikecoding.com · Mar 2025 - Oskar Stålberg: Landscapes of Hex and Square - Summer School on AI and Games 2023
How to build procedural content systems on hex and square grids, from Bad North to Townscaper.
youtube.com · Feb 2025 - Maze 4.0.0
Tutorial: upgrades the Unity maze project to Unity 6 and UI Toolkit (Maze 4.0.0).
catlikecoding.com · Jan 2025 - Maze 3.0.0
Tutorial: builds maze cells from smaller parts in Unity (Maze 3.0.0).
catlikecoding.com · Aug 2024 - Hex Map 3.3: Hex Cell Data
Hex Map 3.3 update restructuring hex cell data.
catlikecoding.com · Apr 2024 - Hex Map 3.4: Cell Struct
Hex Map 3.4 update replacing the cell class with a struct.
catlikecoding.com · Apr 2024 - Hex Map 3.2: Separating Search Data
Hex Map 3.2 update separating search data.
catlikecoding.com · Feb 2024 - Hex Map 3.1: Condensing Hex Values
Hex Map 3.1 update condensing hex values.
catlikecoding.com · Dec 2023 - Hex Map 3.0: No More Cell GOs
Hex Map 3.0 update removing cell game objects.
catlikecoding.com · Nov 2023 - Maze 2.2.0
Tutorial: cuts corners in the Unity maze project (Maze 2.2.0).
catlikecoding.com · Oct 2023 - Hex Map 2.3: Leaner Cells
Hex Map 2.3 update making cells leaner.
catlikecoding.com · Oct 2023 - How To Build Roads Procedurally In Unity with the Splines Package
Builds procedural roads along splines with Unity's Splines package.
youtube.com · Jun 2023 - GitHub - leth4/InstantPipes: Unity editor tool for quickly generating pipes—with pathfinding
Repo: editor tool that generates pipes with pathfinding.
github.com · May 2023 - Hex Map 2.0: URP
Hex Map 2.0 update migrating the project to URP.
catlikecoding.com · Apr 2023 - How Minecraft ACTUALLY Works (terrain generation)
Explains how Minecraft generates its terrain.
youtube.com · Mar 2023 - Hex Map 2.2: Cell Visuals Upgrade
Hex Map 2.2 update upgrading cell visuals.
catlikecoding.com · Mar 2023 - Hex Map 2.1: Code Cleanup
Hex Map 2.1 update cleaning up code.
catlikecoding.com · Dec 2022 - GitHub - BorisTheBrave/sylves: C# Grid Library
Repo: Sylves, a C# grid library.
github.com · Nov 2022 - Spherical Elevation
Catlike Coding tutorial on using noise to adjust the radius of a sphere.
catlikecoding.com · Nov 2022 - The World Generation of Minecraft - Alan Zucconi
Explains how Minecraft generates worlds, biomes and terrain with noise-based layers.
alanzucconi.com · Nov 2022 - Oskar Stålberg- Townscaper- A tour of Townscaper
Tour of Townscaper's technology, grid design and aesthetics, presented to an architecture audience.
youtube.com · Aug 2022 - Surface Elevation
Catlike Coding tutorial on generating surfaces with varying elevation.
catlikecoding.com · Jul 2022 - Konsoll 2021: Oskar Stålberg - The Story of Townscaper
How Townscaper was built: irregular quad grid, WFC-driven tiles and the design decisions around them.
youtube.com · Mar 2022 - Triangle Grid
Catlike Coding tutorial on generating triangle and hexagon grid meshes procedurally.
catlikecoding.com · Dec 2021 - SGC21- Oskar Stålberg - Beyond Townscapers
Experimental tile-based procedural generation beyond Townscaper: irregular grids, dual meshes and new tile setups.
youtube.com · Dec 2021 - Modified Grid
Catlike Coding tutorial on sharing vertices in a grid mesh and modifying it.
catlikecoding.com · Dec 2021 - Infinite Modifying in Blocks
Technique for lazy, deterministic, constant-time infinite modification of block worlds.
boristhebrave.com · Nov 2021 - Model Synthesis and Modifying in Blocks
Explains model synthesis and modifying generated results in blocks, related to Wave Function Collapse.
boristhebrave.com · Oct 2021 - EPC2021 | Q&A session with Oskar Stålberg | Oskar Stålberg
Q&A under Townscaper's hood: Marching Cubes plus WFC on an irregular quadrilateral grid at interactive speed.
youtube.com · Jul 2021 - GDC 2018: Creativity of Rules and Patterns - Designing Procedural Systems
Designing procedural systems as rule languages and patterns, with Houdini-style building examples.
youtube.com · Jul 2021 - How the Nemesis System Creates Stories
How Shadow of Mordor's Nemesis system generates personal stories from procedural enemy hierarchies.
youtube.com · Jan 2021 - Organic Variety
Catlike Coding tutorial on making a fractal look more organic.
catlikecoding.com · Jan 2021 - Anastasia Opara - Rust for Artists. Art for Rustaceans. — RustFest Global 2020
Translating an artist's search process into code through a computational drawing algorithm in Rust.
youtube.com · Dec 2020 - How Watch Dogs: Legion Generates Infinite Londoners
How Watch Dogs: Legion procedurally generates playable characters with traits and backstories.
youtube.com · Dec 2020 - Randomizing Props – Procedural Bookshelves! – Game Dev Zone
Explains randomizing props in a procedural bookshelf generator.
gamedev.zone · ~Oct 2020 - Wave Function Collapse Explained
Beginner-friendly explanation of Wave Function Collapse as a constraint-solving method.
boristhebrave.com · Apr 2020 - ORGANIC TOWNS FROM SQUARE TILES - a talk by OSKAR STÅLBERG at INDIECADE EUROPE 2019
Generating cozy towns from cube tiles by combining Marching Cubes with Wave Function Collapse.
youtube.com · Mar 2020 - Wave Function Collapse tips and tricks
Practical tips for constraint-based procedural generation with Wave Function Collapse.
boristhebrave.com · Feb 2020 - The Two Types of Random in Game Design
Distinguishes input and output randomness and how each affects strategy and player agency.
youtube.com · Jan 2020 - EPC2019 | More Like This, Please! Single Example Texture Synthesis & Remixing | Anastasia Opara
Single-example texture synthesis: generating, remixing and inpainting textures from one reference image.
youtube.com · Nov 2019 - Procedural Geometry - An Improvised Live Course
Improvised live course on procedural geometry in Unity.
youtube.com · Aug 2019 - Recreating Metal Gear Rising's Blade Mode | Mix and Jam
Recreates Metal Gear Rising's slicing Blade Mode in Unity.
youtube.com · Aug 2019 - Dungeon Generation in Enter The Gungeon
Analyzes how dungeon generation works in Enter the Gungeon.
boristhebrave.com · Jul 2019 - Planar Meshing from Outline Part 3
Part three of a series building a planar mesh from a drawn outline.
linkedin.com · Jun 2019 - Unexplored 2 dev blog: tiles to curves
Dev blog on turning tile-based paths into smooth curves in Unexplored 2.
gamasutra.com · Jun 2019 - Konsoll 2018: Oskar Stålberg - Developing The Bad North Look
Procedural techniques, technical challenges and art reasoning behind Bad North's minimalist island look.
youtube.com · Jan 2019 - GitHub - BorisTheBrave/DeBroglie: DeBroglie is a C# library implementing the Wave Function Collapse algorithm with support for additional non-local constraints, and other useful features.
Repo: DeBroglie, a C# Wave Function Collapse library with extra constraints.
github.com · Sep 2018 - Mapgen4: procedural map generator
Painted-mountain map generator with rainfall, rivers and erosion, plus a write-up of how it works.
redblobgames.com · Jul 2018 - EPC2018 | Proceduralism and Deep Learning | Anastasia Opara
How deep learning can complement procedural content pipelines, from texture to shape generation.
youtube.com · Jul 2018 - Tech Toolbox (GDC 2018) – includes Oskar Stålberg
Short GDC tool talks; Stålberg's segment covers his tile-based Wave Function Collapse workflow.
gdcvault.com · ~Mar 2018 - Hex Map 27: Wrapping
Hex Map part 27: supporting wrapping maps.
catlikecoding.com · Mar 2018 - Hex Map 26: Biomes and Rivers
Hex Map part 26: procedurally generating biomes and rivers.
catlikecoding.com · Feb 2018 - Hex Map 25: Water Cycle
Hex Map part 25: simulating a partial water cycle.
catlikecoding.com · Jan 2018 - Hex Map 24: Regions and Erosion
Hex Map part 24: generating regions and applying erosion.
catlikecoding.com · Dec 2017 - Hex Map 23: Generating Land
Hex Map part 23: procedurally generating land.
catlikecoding.com · Nov 2017 - WaveFunctionCollapse/README.md at master · mxgmn/WaveFunctionCollapse
Repo docs: reference WaveFunctionCollapse algorithm that generates bitmaps and tilemaps from a single example.
github.com · ~Nov 2017 - Hex Map 22: Advanced Vision
Hex Map part 22: more advanced unit vision.
catlikecoding.com · Oct 2017 - Hex Map 21: Exploration
Hex Map part 21: adding map exploration.
catlikecoding.com · Sep 2017 - Resource placement on a map
Placing trees, ore and other resources with blue noise and spacing rules instead of pure random.
redblobgames.com · Sep 2017 - Mapgen2: procedural island map generator
Voronoi-based island generator with elevation, rivers, moisture and biomes, plus source code.
redblobgames.com · Sep 2017 - Hex Map 20: Fog of War
Hex Map part 20: adding fog of war.
catlikecoding.com · Aug 2017 - Hex Map 19: Animating Movement
Hex Map part 19: animating unit movement.
catlikecoding.com · Jul 2017 - Hex Map 18: Units
Hex Map part 18: adding units.
catlikecoding.com · Jun 2017 - Hex Map 17: Limited Movement
Hex Map part 17: pathfinding for turn-based limited movement.
catlikecoding.com · May 2017 - Hex Map 16: Pathfinding
Hex Map part 16: adding pathfinding.
catlikecoding.com · Apr 2017 - Hex Map 15: Distances
Hex Map part 15: calculating distances between cells.
catlikecoding.com · Mar 2017 - Hex Map 14: Terrain Textures
Hex Map part 14: supporting terrain textures.
catlikecoding.com · Feb 2017 - Hex Map 13: Managing Maps
Hex Map part 13: managing multiple maps.
catlikecoding.com · Jan 2017 - Hex Map 12: Saving and Loading
Hex Map part 12: saving and loading maps.
catlikecoding.com · Dec 2016 - Hex Map 11: More Features
Hex Map part 11: adding special structural features.
catlikecoding.com · Nov 2016 - Hex Map 10: Walls
Hex Map part 10: placing walls between cells.
catlikecoding.com · Oct 2016 - GitHub - mxgmn/WaveFunctionCollapse: Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics
Repo: Wave Function Collapse bitmap and tilemap generation, with notable ports.
github.com · Sep 2016 - Hex Map 9: Terrain Features
Hex Map part 9: adding terrain features to cells.
catlikecoding.com · Sep 2016 - Hex Map 7: Roads
Hex Map part 7: adding roads.
catlikecoding.com · Jul 2016 - Hex Map 6: Rivers
Hex Map part 6: adding rivers.
catlikecoding.com · Jun 2016 - Hex Map 5: Larger Maps
Hex Map part 5: supporting larger maps.
catlikecoding.com · May 2016 - Hex Map 4: Irregularity
Hex Map part 4: making cell edges irregular.
catlikecoding.com · Apr 2016 - How (and Why) Spelunky Makes its Own Levels
How Spelunky procedurally generates levels from room templates with guaranteed paths.
youtube.com · Apr 2016 - Hex Map 3: Elevation and Terraces
Hex Map part 3: elevation levels and terraces.
catlikecoding.com · Mar 2016 - Hex Map 2: Blending Cell Colors
Hex Map part 2: blending cell colors.
catlikecoding.com · Feb 2016 - Hex Map 1: Creating a Hexagonal Grid
Hex Map part 1: creating a hexagonal grid.
catlikecoding.com · Jan 2016 - Polygonal Planet Project – a study in tilesets
Playable browser study of marching-style tilesets wrapped around a polygonal planet surface.
oskarstalberg.tumblr.com · ~Jan 2016 - Procedral Grid, a Unity C# Tutorial
Catlike Coding tutorial on creating a grid of vertices and triangles by code.
catlikecoding.com · ~Jul 2015 - Making maps with noise functions
Turn noise into islands, biomes and terrain, with octaves, redistribution and moisture explained.
redblobgames.com · Jul 2015 - 1nsane Carpet 2 – Repetitive Worlds
Looks at how 1nsane Carpet 2 builds repetitive, endlessly tiling worlds from reused elements.
simonschreibt.de · Jul 2013 - Dungeon Keeper 2 – Walls
Shows how Dungeon Keeper 2 builds its dungeon wall visuals from simple geometry and textures.
simonschreibt.de · Jun 2013 - Hexagonal Grids: coordinates, neighbours, distances and conversions
The reference guide to hex grids: coordinate systems, neighbours, distance, rotation, rings and pixel conversion.
redblobgames.com · Mar 2013 - Polygonising a scalar field (Marching Cubes)
Describes the marching cubes algorithm for polygonising a scalar field.
paulbourke.net · ~Feb 2011 - Infinite procedurally generated city with the Wave Function Collapse algorithm
Generates an infinite procedural city with the Wave Function Collapse algorithm.
marian42.de - EPC2018 | Wave Function Collapse in Bad North | Oskar Stalberg
Talk on how Wave Function Collapse is used in Bad North.
youtube.com - DeBroglie Documentation
Documentation for DeBroglie, a library that generates tile-based maps with wave function collapse and fine control.
boristhebrave.github.io - Curves and Splines, a Unity C# Tutorial
Catlike Coding scripting tutorial on building curves and splines in C#.
catlikecoding.com - Cube Sphere
Catlike Coding tutorial on generating a cube sphere procedural mesh.
catlikecoding.com - Coding Adventure: Marching Cubes
Video experimenting with the marching cubes algorithm for terrain meshes.
youtube.com