TimeWalk Event Manager - TimeWalkOrg/Manhattan GitHub Wiki
TimeWalk Event System – Spec (v0.1)
User Stories / Scenarios
- Battle of Long Island (August 29, 1776)
- 4:00pm-8:30pm: cannon explosions heard, smoke and flames on Brooklyn Heights
- 10:45pm-6:00am: fog covers the East River
- 12:12pm-10:45pm: 6 British ships anchor in East River, retreat with fog
- Crickets Chirping
- Crickets begin chirping at sunset and stop at sunrise.
- The Great Fire of 1776
- Fires ignite and rage through Manhattan on the night of September 21, 1776, starting at 9:10 PM, progressing through specific areas over time.
Core Features
Central Event Manager
- Single manager (Blueprint/C++) processes all registered events per frame.
- Objects do not poll time-of-day independently.
Event Registration
- Any object can register timed events (appearance, disappearance, actions).
- Events attach Blueprint or Unreal Object handlers.
Scheduling
- Events specify:
- Absolute times (e.g., "Sept 28, 1776, 9:10 PM")
- Variable times (e.g., "sunrise", "sunset", or dynamic offsets by season/date)
- Central system resolves dynamic times each simulated day.
Actions
- Supported: Spawn/despawn, move, trigger Blueprint logic, start audio/FX (e.g., fire, crickets).
- Examples: Ship movement, ambient sound triggers, progressive fire outbreak.
Performance
- Central manager evaluates all events per frame.
- Only fires events relevant to the current time.
- Optimized using sorted/timed lists or equivalent efficient structure.
Extensibility
- Supports arbitrary triggers, conditional logic, and event sequences.
Debug/Control
- Manual override and visualization for debugging, timeline scrubbing, and cinematic use.
Ready for more user stories, requirements, or clarifications.