All articles
Tutorials · 8 min read

From greybox to gold: the pass order that keeps environments on schedule

The proven five-pass sequence for building game environments (blockout, macro, structure, set dressing, polish), with exit criteria, time budgets per pass, the vertical-slice trick, and the failure pattern each pass exists to prevent.

Illustration of a grey blockout turning into a fully dressed scene

In short: Environments blow their schedules in one predictable way: detail gets added before the layout underneath it is proven, the layout then changes, and the detail dies with it. The fix is a fixed pass order with written exit criteria: each pass answers exactly one question, and the next pass does not start until that answer is signed off.

Demolition site with the exposed concrete skeleton of a building Every finished building is layers: structure first, finish last. Environments are built the same way, and fail the same way when the order is skipped and someone tiles the bathroom before the walls are proven.

Why order beats talent

The single most expensive sentence in environment production is "we'll fix the layout later." Later never gets cheaper: a wall moved in greybox costs seconds; the same move after set dressing costs 10–20× more.

Teams that ship on time aren't faster artists; they simply refuse to build on unproven ground. A wall moved in blockout costs seconds. The same wall moved after set dressing costs the wall, its trim, its decals, the navmesh, the lighting build, and an artist's afternoon, routinely a 10–20× multiplier on the original change. Every pass in this sequence exists to make sure that when change happens (and it always does), it happens while it's still cheap.

Pass 0: Intent (half a day, on paper)

Write one paragraph stating what the space is for, its mood, and the three moments a player should remember. No tools involved.

Skipping this produces the most common kind of dead level: technically clean, emotionally empty. The paragraph is a contract you can test every later pass against: if a dressing decision doesn't serve one of the three moments, it's decoration for its own sake and can be cut without loss. Budget: less than 1 % of total time, and it saves multiples of that in aimless iteration, because it gives every later decision a yes/no test instead of an argument.

Pass 1, Blockout: "does it play?" (~15 % of time)

Grey primitives, real character metrics, zero art. Exit when playtests stop producing structural changes.

Rules that keep this pass honest:

  • Use your locked metrics (door widths, cover heights, jump distances) from day one. A blockout at the wrong scale validates nothing, because you're testing a space players will never actually move through.
  • Ban materials and props. A pretty blockout is a lie: reviewers go easy on layouts that look finished, and bad spaces survive review because they look done.
  • Playtest with the real character controller, not fly-cam. Fly-cam approves spaces that are miserable to walk and fight in.
  • Iterate here brutally. Ten layout revisions in blockout are a healthy sign, not churn, since the same ten revisions after art would be a catastrophe.

Pass 2, Macro: "does it read from far?" (~10 %)

Terrain silhouette, primary landmarks, main value masses. Exit when a squinted screenshot still communicates the space.

This is composition at the largest scale: the horizon line, the one landmark that orients the player, the big light-versus-dark masses. A useful tool is the three-value test: reduce a screenshot to black, mid-grey and white. If the important shapes don't separate at three values, no amount of texture detail will rescue the vista, because texture reads only after value does. Get the macro composition right here, while it's still a handful of grey masses you can shove around, and everything downstream inherits a scene that already looks intentional.

Spiral staircase, structure defining how a space is traversed The structure pass is where walkable space becomes real. Collision, traversal and guidance all get decided here, before a single decorative prop is placed, while moving a staircase still costs seconds.

Pass 3, Structure: kits and large placement (~25 %)

Modular architecture, hero rocks and trees, roads, bridges: everything that defines walkable space. Exit when the level is navigable start to finish at final scale with guidance working.

Collision becomes real in this pass, and so does player guidance: light, leading lines and landmarks should already steer a first-time player through the space without UI. Verifying guidance before set dressing matters, because dressing can only reinforce a route that already works; it cannot rescue one that doesn't. If a fresh playtester gets lost in a greybox with the structure pass done, more foliage won't help; the structure is the problem, and this is the last cheap moment to fix it.

Pass 4, Set dressing: the visible 80 % (~35 %)

Vegetation systems, ground clutter, storytelling scenes. Exit when the priority sightlines are dressed, NOT when the map is uniformly full.

This is where schedules traditionally die, because manual placement scales linearly with density. Two disciplines change the math:

  1. Dress the camera paths, not the map. Players see perhaps a third of most levels up close. Uniform density spends two-thirds of your effort on space nobody examines.
  2. Let systems place the bulk layer. Painting density with masks and per-species rules, then baking to native engine instances, compresses days into hours. That workflow is the core of Numivo, and because the result is ordinary foliage and instanced meshes, everything in the next two passes treats it like hand-placed content.

Hand-place only what tells stories: the overturned cart, the camp, the shrine. Systems for the forest, hands for the narrative: that division is what keeps this 35 % pass from becoming a 60 % pass.

Pass 5, Polish: the last 5 % that reads as quality (~10 %)

Decals, wear, edge wetness, final lighting balance, ambience. Exit at the deadline, because polish is the one pass that legitimately ends by clock rather than by criterion.

Small touches with outsized perceived-quality impact: darkened ground where water meets shore, dust motes in light shafts, a decal breaking every long straight edge, a light that flickers just enough to feel alive. Polish belongs exclusively on stable ground; a polished corner that gets re-blocked was pure waste, which is exactly why this pass is last and why sneaking it earlier, with "just this one hero corner" thinking, is the discipline failure to watch for. The moment polish starts before structure is signed off, you're gambling that the layout won't change, and the layout always changes.

Pass 6: Performance & sweep (~5 %)

Measure the three worst views against your budget, set cull distances, audit collision, check out-of-bounds. Exit when the numbers are green on target hardware.

If budgets were respected during the earlier passes, this is verification, not rescue. Fixed "budget cameras" (worst vista, densest combat space, busiest interior) make regressions visible in a way random flythroughs never do. A team that ignored performance until now discovers a crisis here; a team that measured along the way discovers a checklist.

Satisfying the "we need beauty shots now" demand

Build one vertical-slice corridor to full quality and keep the rest honest greybox. One polished path costs a fraction of polishing wide and produces better shots than a uniformly half-dressed map.

Publishers and marketing ask for early beauty shots, and the wrong response is to polish the whole level thinly, which violates the pass order everywhere at once and produces a map that's simultaneously unproven and half-finished. The right response is the vertical slice: pick one representative path through the level, take it all the way to gold, and leave everything else in honest greybox. The slice gives marketing a genuinely finished shot, gives the team a quality target to calibrate against, and because it's one path, not the whole map, costs a fraction of the alternative while risking far less rework.

Field numbers worth stealing

  • Layout change cost multiplier from blockout to dressed scene: 10–20×
  • Healthy blockout iteration count: 5–10 structural revisions
  • Share of a level players inspect closely: roughly one third, so dress there
  • Time split that works for most teams: 15 / 10 / 25 / 35 / 10 / 5 across the six passes
  • Exit criteria per pass: one. More means the pass is secretly two passes.

Mini-FAQ

Can passes overlap between levels? Yes, that's the healthy version of parallelism: level A in dressing while level B is in blockout. What breaks schedules is overlapping passes within one level, where polish races ahead of unproven structure.

Who signs off an exit criterion? Someone who didn't build the pass: designer signs art passes, artist signs layout passes. Self-certification is how unproven work slips through: you're the worst judge of whether your own layout is done, because you've stopped seeing its problems.

What if a late playtest demands a layout change after dressing? It will happen occasionally despite everything, and that's what the 10–20× multiplier buys you the right to complain about. Localize the change, re-run the affected passes for that area only, and treat it as evidence to strengthen the blockout sign-off next time, not as proof the process failed.

Isn't this too rigid for a small team? The passes are smaller for a small team, not absent. Even solo, "prove it plays before you make it pretty" is the whole lesson. The failure mode (beautiful corner, deleted layout) is identical at every team size.

The pass order isn't bureaucracy. It's the promise that nothing is built on sand. Write the exit criteria where everyone can see them, hold each other to them, and the last month of the project becomes shipping instead of triage.