Forty-Six Degrees · model v4 · September 2026
The model
Everything the game computes, in one place, so a reviewer can check it. The same constants and formulas are in model.js, which also runs the enumeration: node model.js prints the table on the story page in about three seconds.
State
Four numbers, updated each hour from 7 am to 9 pm (15 hours): body heat s (0 to 100), water bottle w (0 to 100, starts at 60), cash (starts at 0), orders delivered (starts at 0).
Inputs
| Hour | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Temperature °C | 32 | 34 | 36 | 39 | 41 | 43 | 45 | 46 | 46 | 45 | 43 | 41 | 39 | 37 | 35 |
| Orders available | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 2 |
Constants: pay per order ₹22; peak boost +₹15 per order from 12 pm to 4 pm; fuel ₹15 per hour ridden; bonus ₹150 for 28 or more orders; water refill ₹20; target ₹650; heat coefficient K = 1.3. The temperature curve and every rupee figure are illustrative, set so a full day lands in the ₹500–750 range riders report.
Each hour
- If w < 45: w = min(100, w + 40); cash −20 (he buys water).
- Ride: orders o = available (minus 1 if s ≥ 60); cash += o × (22 + boost) − 15; s += max(0, T − 32) × 1.3, plus 8 if w < 30; w −= max(0, (T − 25) × 1.2).
- Shade: s += (T − 40) × 0.8 − 6; w −= 8.
- Stop and drink: s += −20 + (T − 32) × 0.5; w = min(100, w + 20).
- Clamp s and w to 0. If s ≥ 100 the day ends (collapse). After hour 21, add ₹150 if orders ≥ 28.
Zones on s: below 30 coping; 30 to 44 heat stress; 45 to 69 heat exhaustion; 70 to 99 heatstroke danger; 100 collapse.
Enumeration
Every sequence of the three choices over 15 hours is a number from 0 to 315 − 1 = 14,348,906, read in base 3. Each is run once. Days that end in collapse are excluded. We record the highest cash among days whose peak s stayed below 30 (coping only), below 45 (never exhausted), and overall.
| Result (model v4) | Cash |
|---|---|
| Best day never leaving coping (peak < 30) | ₹433 |
| Best day never reaching exhaustion (peak < 45) | ₹509 |
| Target | ₹650 |
| Best day of all (peak 51, in exhaustion) | ₹681 |
What this is not
The body-heat score is a simple running number built for play. It is not WBGT, not a heat index, and not a physiological model; it does not use humidity, radiant heat, clothing or acclimatisation. The results above are properties of this model under these assumptions. They say what the model allows, not what a real rider's body does. If a partner's public-health advisers want a recognised index, we build to their guidance and version the model.