A playtester walks into the atrium you spent three weeks building, turns a slow circle, walks back out the door they came in, turns around again, and finally asks: "Where am I supposed to go?" You know the answer — the broken staircase on the far wall, the one with the light shaft on it. They never looked at that wall. Forty seconds of confusion, and not a single line of your level geometry was at fault. The space simply never told them where to look.
Most teams fix that moment by adding a waypoint marker. It works, in the sense that the player now reaches the staircase. It also quietly removes the reason the room existed. Wayfinding — the craft of guiding players through space without a floating arrow — is a design discipline with its own tools, its own failure modes, and a playtest protocol you can run in an afternoon.
The waypoint marker is a painkiller, not a cure
A compass marker answers one question — which direction — and answers it identically everywhere. That makes it a useful accessibility option and a terrible diagnostic. With the marker on, players follow the arrow, reach the goal, report that navigation was "fine," and you ship a level that collapses the moment someone turns the HUD off.
The practical rule: build and test every space marker-off first. Treat the marker as a late-added assist, like subtitles or aim assist, not as the primary navigation system. If a room only works with the arrow on, the room doesn't work.
Three tiers of signposting
Guidance operates at different ranges, and confusion usually means one tier is missing. Audit a space by asking what the player can see at each distance.
| Tier | Range | Question it answers | Tools |
|---|---|---|---|
| Beacon | Visible from most of the level | "Where is the world's centre?" | Skyline silhouette, tall structure, distant light, weather or sound direction |
| Landmark | Visible across one zone, roughly 30–80 m | "Which part of the map am I in, and which way is forward?" | Unique silhouette, unique colour, broken symmetry, a vista framed by a doorway |
| Affordance | Within 2–10 m | "Can I interact with this specific thing?" | Climbable paint, rope, ledge trim, interactive glow, footstep decals |
Breath of the Wild's Hyrule Castle is a beacon; its Sheikah towers are landmarks; the yellow-green climbing surfaces in Uncharted and Horizon are affordances. Journey runs the same stack with almost no UI: the mountain, then the ruins and banners, then the glowing cloth strips.
Most "I'm lost" reports come from a missing middle tier. Players know roughly where the goal is and what they can touch, but nothing in the 30–80 m band distinguishes corridor A from corridor B. Four grey hallways with the same crate set is the classic version.
Build a landmark registry
Wayfinding fails most often because nobody owns it. The level artist adds a statue, the lighting pass adds three more bright spots, and by the end of the week your unique silhouette is one of nine. Keep a single list of every landmark, with these fields:
- Name and zone — "Rusted Crane, Docks"
- Tier — beacon / landmark / affordance
- Silhouette note — what it looks like as a black shape at 80 m
- Unique colour or light — and whether that colour is reserved
- Visible from — the specific rooms or approach angles where it must be legible
- Owner — the one person who signs off on changes
The Locations module in GameDesignerX is a reasonable home for this: one entry per landmark, linked to the level it anchors, with silhouette and approach references attached. Pair it with a mood board of those silhouettes in pure black — if two shapes are hard to tell apart there, players will confuse them in play.
Reserve your colours explicitly. If climbable is yellow, then nothing decorative is yellow. The moment a yellow banner appears for art reasons, your affordance language is broken everywhere, and players stop trusting it within minutes.
Light, framing and the attention budget
Players look at the brightest readable thing in frame, at contrast against the background, and at motion. That's your attention budget, and it is small — in any given view you get roughly one strong focal point before players start scanning randomly.
Concrete techniques that cost you nothing in engine time:
- Lead with light. The exit is the brightest surface in the room; everything else is at least one stop darker. Half-Life 2 uses this relentlessly.
- Frame the goal through the entrance. Stand at the doorway in blockout: is the objective inside the centre third of the screen at default FOV? If not, rotate the room, not the player.
- Use motion where light won't do. Flapping cloth, dripping water, a flickering sign — motion wins attention in dim scenes where contrast cannot.
- Break symmetry. Symmetrical rooms destroy orientation on the way back. Offset a pillar, scuff one wall, light one side warmer.
- Walk every route backwards. Doorways you never see from the far side are where players stall on the way out.
The three-second doorway check
For each entrance: spawn there, start a three-second timer, and ask whether a first-time player could name the forward direction before it expires. Beyond that, players start wall-hugging — and wall-huggers report that the level "felt like a maze," because that is the behaviour a maze produces.
The lost-player test
You can test wayfinding before any art exists. Run it on greybox with placeholder landmarks (coloured primitives work fine).
- HUD markers off, map off, compass off.
- Tell the player the goal in one sentence: "Get to the roof."
- Say nothing else — no hints, no nudging. Note the urge to help; don't act on it.
- Record four numbers per space: time to first correct exit, number of wrong doors entered, longest stall (seconds standing still or circling), and backtracks past a point already visited.
- Ask one question afterwards: "Draw me the route you took." A sketch reveals the player's mental map far better than a rating.
Useful thresholds for a linear or semi-open space: a stall over 10 seconds means a tier is missing; more than two wrong doors in one room means doorway hierarchy is unclear; passing the same landmark three times means it isn't distinctive enough to anchor memory. Five players is enough — if four hesitate at the same corner, the corner is the bug.
Log those sessions where the rest of your playtest notes live. A playtest session per build with per-location notes keeps "everyone missed the north stair in 0.4.2" attached to the location rather than buried in a chat thread, and an issue-log entry for "atrium has no mid-range landmark" survives the sprint.
Fix in the cheapest order
When a space fails the test, work from cheapest to most expensive. Teams reach for geometry rebuilds when moving a light would have solved it.
- Lighting. Brighten the goal, darken the alternatives. Minutes of work.
- Material and colour. One distinctive surface on the correct path; strip competing colour elsewhere.
- Props and motion. Add a unique silhouette prop or a moving element at the decision point.
- Framing. Rotate the doorway or narrow the opening so the goal falls into view.
- Geometry. Move walls, change the route, cut a window that reveals the landmark from inside.
- Explicit systems. Signs, breadcrumb trails, NPC callouts, the objective marker.
Step 6 is legitimate — signage in a real city exists, and a marker as an accessibility option is good practice. It just shouldn't be your first move, or the only thing holding the level together.
A one-page checklist
Run this on every space before it leaves blockout:
- A beacon is visible from at least half the space
- One mid-range landmark with a unique silhouette anchors the zone
- The affordance colour appears only on interactive surfaces
- The goal sits in the centre third of the frame from the main entrance
- The exit is the brightest readable surface in the room
- The space is asymmetrical enough to orient on the return trip
- Every route has been walked backwards
- Five players reached the exit marker-off with no stall over 10 seconds
Good wayfinding is invisible — players never report that a level was easy to navigate, they just never mention it. That silence is the goal. The arrow can stay in the options menu where it belongs.