You are the ecologist, not the pack: change prey, snow, people and the rival pack and watch how a wolf pack patrols, marks, hunts and raises pups through a year.
Close-up and follow views run close to real time so the wolves move naturally; the map view is a time-lapse (a year takes about 25 minutes at the default speed).
The science
Energy. Each wolf spends P = 1.5 · 3.0 m^0.75 + cv m v (1 + ks hs) watts (metabolism plus the cost of moving, increased by snow depth hs, reduced to 70 % when stepping in the leader's tracks) and gains 5 MJ per kg of meat eaten, up to 8 kg per meal. The ledger ΔE = intake − expenditure is closed exactly.
Prey. Logistic growth with a seasonal carrying capacity, an influx from the wider landscape, and removal by kills: dN/dt = r N (1 − N/K) + m (K − N) − kills. The functional response is Beddington-DeAngelis, f = aN / (1 + a h N + c (Nw − 1)), and a Lotka-Volterra pair is the idealised mirror: equilibrium N* = d/(e a), W* = r/a with a conserved quantity.
Hunting. A hunt is search, stalk, chase, then success or abandon. The success chance is a logistic of stamina advantage, pack size and snow: p = σ(a (Sw − Sp) + b nw − c hs + d); in the model a few attempts in ten succeed, as in real studies of wolves hunting elk and deer. Prey in poor winter condition are taken more often. Kills are shown only as a meal marker.
Territory and scent. Each post holds a scent strength that halves every t½ days, p(t) = p₀ 2^(−t/t½); the pack walks to the stalest posts and refreshes them. The field of the own pack and of the rival (Lewis-Murray idea) is a sum of Gaussians; where the rival field exceeds the own one the path cost rises and the pack avoids it, so a stale territory shrinks. Paths are found with A* on a cost grid (snow, slope, ice, human fear field); the reference check compares A* with Dijkstra.
Seasons. T(day) = Tmean − 16.5 cos(2π (day − 20)/365); snow follows a degree-day model (snowfall below 0 °C, melt 3 mm per °C per day, depth = water equivalent / 250 kg m⁻³); lake ice grows like dh/dt ∝ |T|/h (Stefan) and carries the pack only above 15 cm. Pups are born around day 120, survive according to food and disturbance, and join the pack in autumn. Wolves are more active at dawn and dusk.
Home range. The 95 % utilisation distribution is the smallest set of cells holding 95 % of the visits; it is compared with the minimum convex polygon. Real home ranges are 100-500 km²; the map here is about 16 km² so that you can see everything.
Simplifications and honesty. One pack of 3-12, herds as point groups, constants are round illustrative values, no fights (a rival simply wins ground where its scent is stronger), no blood or injuries shown, weather is a seeded daily draw. Educational, not a management tool. Models built with Blender, scene by Three.js.