Each lynx runs a two-phase stalk/sprint controller. Outside pounce range (1.4 m) it creeps toward the nearest hare at a low base speed; inside that range it breaks into a full sprint. Movement speed itself is the noise signal: a hare's chance of detecting a lynx each frame scales with how close the lynx is and how fast it is currently moving, so creeping slowly genuinely buys the lynx more approach distance before it is noticed:
noise = speed / sprintSpeed (0…1)
radius = baseRadius · (vigilance/100) · (0.55 + 0.9·noise)
p(detect | dt) = clamp(1 − distance/radius, 0, 1) · detectRate · dt
Snow depth raises the metabolic cost of every metre travelled (post-holing through deep snow is expensive) and caps top speed, so a deep-snow hunt drains energy faster per successful stalk even though it also muffles the lynx's approach less than the vigilance slider suggests — the two sliders pull in opposite directions on catch rate, which is the trade-off worth exploring. A caught hare respawns instantly elsewhere so the prey density — and therefore the search-time component of each hunt — stays constant while you compare settings.
- Amber triangle — a lynx; a thin ring appears once it enters pounce range.
- Grey/white dot — a hare; it flashes red and flees the instant it detects a lynx.
- Fading trail — the last few seconds of each lynx's path, useful for seeing the creep-then-rush shape of a hunt.