Home▸Animals & Their World▸Addax Desert Migration Lab (2D)

Addax Desert Migration Lab (2D)

A 2D top-down simulation of an addax herd navigating a patchy desert of sparse forage and waterholes, balancing travel cost against resource gain. Adjust the season slider to see the herd's migration range change.

Animals & Their World2DModerate60 FPS📱 Mobile-adapted⇄ 3D version
2d-3d-addax-desert-migration-lab ↗ Open standalone

This 2D companion strips the addax's migration behavior down to the resource economics that actually drive it. A herd moves across a desert of scattered forage clumps and a handful of sparse, slow-regenerating waterholes, spending energy to travel and gaining hydration and energy back by grazing. The key biological detail is the threshold at which an animal breaks off to find a waterhole: a typical desert grazer heads for water at a fairly high hydration level, but addax tolerate far lower hydration first, because they draw a large share of their water directly from the moisture in the plants they eat. That single difference is what lets the herd range — and migrate — across distances a less water-independent grazer could not survive. The season slider changes how much moisture the forage itself carries, reshaping how far and how often the herd needs to detour toward a waterhole.

⚙ Under the hood

2D agent-based desert-migration simulation: a herd forages sparse, Poisson-distributed vegetation patches that deplete on grazing and regenerate at a season-scaled rate, alongside a handful of waterholes with their own slow regeneration. Each animal actively seeks a waterhole only once its hydration drops past a fixed low threshold — modeling the addax's real capacity to derive moisture from forage — shown against a reference threshold for a typical, more water-dependent grazer. A season slider scales forage moisture content and regrowth rate, driving how far the herd migrates between waterhole visits.

addaxdesert migrationwater-source seekingresource depletionherd behavior2D

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)