Summary
24-hour in-game clock governing upkeep, raid risk, and city map visuals. Replaces the standalone upkeep timer. Raids can dispatch anytime, but daytime raids are riskier.
Time Ratio
1 real second = 1 game minute
1 real minute = 1 game hour
24 real minutes = 1 full game day
Day / Night
| Period | Game Hours | Real Duration |
|---|---|---|
| Night | 20:00–06:00 | 10 real min |
| Day | 06:00–20:00 | 14 real min |
Night is the natural raiding window. Day is for base operations, training, and prep.
Systems That Read the Clock
| System | How It Uses the Clock |
|---|---|
| Upkeep | Fires once per game-day at a fixed hour (e.g., 06:00 dawn). Replaces the old flat 180s recurring timer. Each tick consumes 1 food per raccoon from Pantry. See Economy. |
| Raid encounter chance | Daytime raids suffer 2× encounter base chance. Night raids use base chance unmodified. See Raid Encounters. |
| City map visuals | Lighting and sky shift with clock. Cosmetic only — no gameplay effect beyond the encounter modifier. |
Raid Timing Rule
Raids can dispatch anytime. No hard gate. Daytime raids double encounter risk, creating a soft incentive to raid at night without blocking desperate or strategic daytime runs.
Implementation Notes
- Clock state is a single
float GameClockTime(0.0–1440.0 game-minutes, wrapping) on the save file. - Clock ticks in real time — no pause, no fast-forward in MVP.
IsDaytime()helper: returns true ifGameClockTimeis between 360 (06:00) and 1200 (20:00).- Upkeep binds to clock via callback when
GameClockTimecrosses the upkeep hour.
Links
Open Questions
- Should the clock pause when the game is paused / player is in a menu?
- Should there be a visible clock HUD element, or just ambient lighting cues?
- Exact upkeep hour: 06:00 (dawn) feels natural but is it the right pacing?