Steamforge Time - wwestlake/Steamforge GitHub Wiki
Steamforge World Time System – Requirements Document
1. Core Time Framework
- Base unit: Ticks driven by real-time DeltaSeconds.
- Time units: Seconds, Minutes, Hours, Days, Seasons, Years.
- Custom calendar:
- 7-day week with named days (e.g., Sparkday).
- 12 custom months (e.g., Kindlemoon).
- Starting Year: 731 FT (Forge Time).
- Time scaling: Adjustable for gameplay tuning.
2. Day/Night Cycle
- Defined time slots:
- Dawn
- Sunrise
- Morning
- Noon
- Afternoon
- Sunset
- Dusk
- Night
- Sync Visual + Audio:
- Lighting changes
- Ambient sounds (crickets, birdsong, wind)
- Ritual windows:
- Example: Sunset Prayers, Midnight Summonings
3. Seasons
- Four Seasons:
- Spring
- Summer
- Autumn
- Winter
- Seasonal Effects:
- Weather patterns
- Resource availability (e.g., berries, snow)
- Wildlife behavior
- Farming/gathering logic
4. Lore-Tied Events
- Stored in DataTables:
FTimeMarkerEvent
FTimeEventMetadata
- Event Types:
- Natural: Sunrise, Sunset
- Astral: Solstices, Equinoxes, Moon Phases (optional)
- Cultural: Founding Day, War Remembrance, Seasonal Festivals
- Metadata Includes:
- Display name, tags, description
- Optional: Actor to spawn, color, criticality flags
- Event Triggers:
- Can spawn actors
- Trigger audio/visual effects
- Change environmental state
5. Event Dispatch System
- Dispatcher Component:
- Blueprint or C++
- Interfaces via
OnTimeEventTriggered
- Loose Coupling:
- Uses interface
BPI_TimeEventListener
- Uses interface
- Event Resolution:
- Metadata pulled from tables
- Support for:
- One-off Events
- Daily/Weekly Recurring Events
6. Developer/Designer Tools
- Debug UI:
- Time scrubber: Pause / Fast-forward / Jump-to-Time
- Calendar View (Editor Tool):
- Displays current time
- Highlights upcoming events
- Lore calendar: holy days, rare celestial alignments
- Hot-Reload Support:
- Update event tables without restart
This time system supports narrative design, player immersion, and dynamic world simulation within the Steamforge engine architecture.