· Nick  · 6 min read

Luminid Design

Dev Log 6: The Luminids Formula - Building a World That Feels Alive

A high-level look at the layered terrain pipeline behind Luminids, and why the order of operations matters as much as the noise itself.

Luminids terrain generation preview

Procedural terrain often looks impressive from a distance, but disappointing up close. Flat plateaus. Random noise. Mountains that feel sprayed on rather than shaped.

I did not want that for Luminids.

From the beginning, the goal was not just to generate land, but to build worlds with silhouette, flow, and intention. Places that naturally invite curiosity and exploration instead of feeling like mathematically correct noise fields.

This dev log is about the system that emerged from that goal: what I have come to call The Luminids Terrain Formula.

The principle (before the tech)

Before getting into layers, noise, or math, there were a few guiding ideas that shaped everything:

  • Worlds need silhouette. You should notice shapes on the horizon. Not just elevation changes, but forms that pull the eye.
  • Mountains should feel pulled, not sprayed. They should stretch, curve, and gather mass, rather than popping up randomly.
  • Terrain should guide curiosity. A ridge, a valley, a shelf. These should quietly ask “what’s over there?”
  • Caves should feel carved, not punched. They should respect the form above them, not destroy it.

These ideas came first. The formula came later.

Introducing the Luminids Terrain Formula

Over time, the terrain system solidified into a clear sequence. A layered process where each step depends on the one before it.

Terrain formula in action

The Luminids Terrain Formula

  • Gradient - the base height and global shape of the world
  • Ridge3D - mountains as the primary sculptor
  • Domain Warp - curved, organic landforms
  • Strata - vertical character and a sense of history
  • Cave Noise - controlled subtraction, not chaos
  • Shelf / Slope / Erosion Bias - places to explore and build
The Luminids Terrain Formula (formal view)
Surface first, then carve
1) Surface height
H(x, z) = G(x, z) + R(x, z) + W(x, z) + S(x, z) + B(x, z)
  • G is the base gradient that defines world scale and elevation flow
  • R is Ridge3D, the primary sculptor of mountains and large landmass
  • W is DomainWarp3D, bending forms into natural, curved structures
  • S is Strata, adding vertical banding and geological character
  • B is shelf, slope, and erosion bias, shaping coasts, rivers, and plateaus
2) Volumetric carve (SDF)
ϕ(x, y, z) = yH(x, z) − kc · C(x, y, z)
  • ϕ is the terrain signed distance field
  • Terrain is solid where ϕ ≤ 0
  • C is CaveNoise3D, a three dimensional subtractive field
  • kc controls cave strength and influence
Single-line form
ϕ(x, y, z) = y − (G + R + W + S + B) − kc · C

You can think of it less like stacking noise, and more like sculpting. Establishing mass first, then shaping, then carving.

What each layer contributes (visually)

Gradient Sets the overall rise and fall of the world. Without this, everything becomes local and noisy.

Ridge3D This is where the world gains its backbone. Mountains emerge as long, coherent forms rather than isolated bumps.

Domain Warp Nothing stays straight. Warping bends ridges and valleys into natural arcs, giving the terrain a sense of motion.

Strata Vertical bands add memory. Layers that suggest time, pressure, and erosion instead of uniform material.

Cave Noise Subtractive, restrained, and depth-aware. Caves exist within terrain, not at its expense.

Shelf / Slope / Erosion Bias These create the places players actually use: paths, plateaus, ledges, and buildable ground.

Each layer is simple on its own. The character comes from the order.

Why the order matters

This is the part that changed everything.

  • Ridges come before caves, because caves should respect the mass above them.
  • Warp happens early, because it shapes everything downstream.
  • Strata happens after form, not before, so it enhances shape rather than fighting it.
  • Caves subtract last, so they feel discovered rather than destructive.

If you reverse this order, the world collapses into chaos. Follow it, and the terrain starts to feel intentional.

What this unlocks for gameplay

The formula directly enables:

  • Natural paths and sightlines without hand-placed guidance
  • Meaningful biome transitions that feel gradual, not tiled
  • Buildable shelves instead of random sheer cliffs
  • Caves that feel found, not spammed

Most importantly, it gives the world structure players can read intuitively, even if they never think about why it works.

A living system, not a finished one

The Luminids Formula is not final.

It evolves as the game evolves. Each iteration teaches something new about scale, flow, and restraint.

But having a named, intentional foundation has already changed how I work on the game. Instead of asking “does this look okay?”, the question becomes:

Does this respect the formula?

That shift alone has been worth the effort.

What’s next

With the terrain foundation in place, the focus now moves toward:

  • deeper biome identity
  • more expressive erosion
  • tighter integration between world shape and Luminid behavior

All of it built on the same spine.

Thanks for reading, and as always, more soon.

Nick

Wishlist Luminids™ on Steam

If this dev log clicked with you, the biggest way to support is a wishlist.

Back to Blog

Related Posts

View All Posts »

Dev Log 3: Sculpting a Procedural Forest

Procedural forests are easy to promise and tricky to deliver. This week I finally cracked it: Luminids now has full scale procedural trees that feel alive, anchored in a voxel world, and powered by our favorite space colonization wizardry.

Dev Log 4: Building and Animating the Luminids

This week the focus was on the actual creation of the Luminids themselves. Model work, rigging, animation tests, and trying to lock down how these creatures look and move in the game. This is the first time Luminids have started to feel like real characters instead of placeholder blobs.

Dev Log 1: Welcome to Luminids

I'm building Luminids because I want a world that feels alive. Just a place that grows, where tiny beings make choices and the world reacts.