Game Dev · · 2 min read
Noise, light and trails — three ways to be found
The detection model behind the island game: one channel that summons, one that identifies, and one that outlives the moment you made it.
Every survival game eventually has to answer one question: how does the world know you are there? Most answer it with a single aggro radius and move on. That radius is why so much of the genre feels the same — one number, one counterplay, one texture of tension.
The island game answers it three times, on purpose.
The three channels#
Each channel behaves differently, and the difference is the whole design.
| Noise | Light | Trail | |
|---|---|---|---|
| Shape | Omnidirectional, from a point | Cone, plus the source | A line on the ground |
| Lifetime | Instant | While lit | Minutes to hours |
| Causes | Investigation | Sighting | Pursuit |
| Target | Where the sound happened | You, continuously | Your route, including home |
| Counterplay | Move away, throw a decoy | Turn it off, break line of sight | Wait it out, take the long way back |
Noise is forgiving. It summons them to a place, so walking away works. Light is unforgiving: it identifies you, and keeps doing it until you kill the source. Trails are the cruel one — they persist after you have gone, and they point at where you went next.
Noise is an event, not a state#
A noisy action emits a noise event with a position, a radius and an intensity. Zombies inside the radius path toward the position with error proportional to distance. They walk to where the sound was.
public readonly struct NoiseEvent
{
public readonly Vector2 Origin;
public readonly float Radius;
public readonly float Intensity;
public Vector2 PerceivedOrigin(Vector2 listener, Random rng)
{
// Error grows with distance: far-off sounds are a direction, not an address.
float distance = Vector2.Distance(listener, Origin);
float error = Mathf.Lerp(0.5f, 6f, distance / Radius);
return Origin + rng.InsideUnitCircle() * error;
}
}That single choice — a position rather than a target — is what makes running away a real tactic rather than a losing race.
The howl is the failure state#
A zombie that sees you enters Alert and may howl: a 90 m noise event that also tags your last known position. Every zombie it wakes can spot you and howl again. That cascade, not death, is what a bad outing actually looks like.
The howl has a visible wind-up, three animation frames long. Kill the zombie during the wind-up and the howl never happens.
One rule turns every sighting into a decision under time pressure. You can spend the noise of a melee swing now, or the noise of a district later.
Why trails matter most#
Blood, snow prints and wet footprints are the same system with different lifetimes: a decaying line of markers on the ground that a wandering zombie can pick up and follow in your direction of travel.
- Blood — the longest-lived, left by an infected player. It leads home if you go home.
- Snow — records your route until the next snowfall. Snow muffles your steps but writes them down.
- Wet prints — shortest, mostly indoors. They give away which room you went into.
Building it generically the first time means infection, winter tracking and rain all cost almost nothing once one of them exists. That is the kind of leverage worth designing for.
Next devlog: the director that migrates dormant density toward noise, so the exit is never the entrance.