Radio power falls off with the inverse-square law (a simplified Friis free-space model): received power scales as 1/d². Each hop's usable signal is displayed as a percentage relative to a reference distance d₀ set by the transmit-power slider:
S(d) = 100 × (d₀ / d)² (clamped to [0, 100]%)
A relay chain of N drones between the fixed base station and the roaming search drone breaks the long base→drone hop into N+1 shorter hops, each with a much smaller d and therefore a much stronger signal — the same reason cell towers exist every few kilometres instead of one giant transmitter.
But range alone isn't enough: mountain terrain can physically block the radio path even at short range. Every hop is checked for line-of-sight by sampling the terrain height along the straight line between its two endpoints — if the ground rises above the line anywhere in between, that hop (and every hop past it in the chain) drops to zero signal:
for each hop (A → B):
for t in [0, 1]:
P = lerp(A, B, t)
if terrainHeight(P.x, P.z) + clearance > P.y:
hop is BLOCKED → chain broken here
- Relay drones — more relays means shorter, stronger hops, but each relay is one more link that can be blocked by a peak.
- Terrain ruggedness — taller mountains are more likely to poke above a relay's line-of-sight.
- Transmit power — a stronger radio raises d₀, so every hop reads a higher percentage before it drops off.
- Terrain-following vs. naive placement — the smart mode holds each relay at a fixed clearance above the ground directly beneath it, hugging the terrain like a real relay drone would; the naive mode just interpolates altitude in a straight 3D line from base to drone, which dips into valleys and gets blocked by ridges far more often.
This is exactly why real mountain-rescue operations chain multiple drones as mesh relays instead of relying on one long-range link back to base — terrain occlusion, not just distance, is usually what kills the connection.