Changelog

shape
shape
shape
shape
shape
shape
shape
shape

The Flight Recorder: Deterministic Replay & Bug Reconstruction

In complex medical simulations, a bug that happens at minute 14 of a chaotic scenario is a nightmare to debug—unless you can play it back like a movie. This week, we launched The Flight Recorder, a deterministic replay engine that allows us to capture, share, and reconstruct any simulation session with bit-perfect accuracy.

A JSON history log being replayed through the simulation UI with a playback slider

The Problem: The “Ghost” in the Simulation

As we added more concurrent actors (patients, doctors, and room timers), we encountered the classic distributed systems problem: a bug would appear once in a session but vanish when we tried to recreate it. Without a way to “freeze” the state of every patient machine and the game clock simultaneously, debugging was a game of guesswork.

The Solution: Deterministic Event Sourcing

We overhauled the game’s core architecture to ensure that every session is a pure function of its inputs. By centralizing the “Game Heartbeat,” we transformed the simulation into a recordable event stream:

  • ⏱️ Integrated Timeline: We record both the “heartbeat” of the simulation (GAME_ELAPSED_UPDATED) and every user command with high-resolution timestamps. This ensures that when a player re-orders a triage queue or moves a specialist, that specific intervention occurs at the exact same logical tick during playback, maintaining perfect causality.
  • 🆔 Stable Identity: We replaced random uuid() generation with a deterministic ID system. This ensures that a “Shock Room” or a “Patient Actor” has the same identity across every playback, preventing broken references during state reconstruction.
  • 📂 Portable Histories: Every session now generates a “Flight Log”—a lightweight JSON file containing every command and tick. These logs can be exported and “hot-swapped” into the engine to jump to any specific moment in a scenario.

Why This Matters

For developers, this means the end of the “I can’t reproduce it” era. For the simulation, it paves the way for Post-Simulation Debriefs, where players can scrub back through their decisions, analyze their triage priorities, and see exactly where a treatment plan succeeded or failed.

The Logic of Urgency: Scaling the Shock Room

The Logic of Urgency: Scaling the Shock Room

Managing a mass-casualty event requires more than just clinical knowledge; it requires the ability to prioritize chaos. This update focuses on the “Logic of Urgency,” giving players the tools to sequence interventions and manage resources across a full hospital trajectory.

Dynamic Prioritization Engine

In high-stakes environments, the order of operations is everything. We have implemented a Dynamic Orders Queue, allowing players to manually re-order medical commands in real-time. This tactical layer forces players to make critical trade-offs:

  • Sequencing: Deciding between a 1-minute life-saving intervention and a 25-minute diagnostic procedure.
  • Global Oversight: Managing and re-ordering tasks across multiple patients simultaneously.

Personnel Management & Staff Tracking

A trauma center is only as fast as its team. We’ve introduced a dedicated Staff Management system to track healthcare providers in real-time.

  • Role-Specific Logic: Differentiating between Specialists, Residents, and Nursing staff.
  • Assignment Status: Visualizing staff availability to prevent bottlenecks during critical waves of arrivals.

Expanding the Hospital Footprint

The simulation has now expanded beyond the initial Shock Room. The architecture has been overhauled to support a complete patient trajectory, ensuring the system is ready for:

  • Triage & Care Units: Dedicated spaces for lower-acuity and stabilization tasks.
  • Imaging & Surgery: Foundational support for the upcoming CT Scan and Operating Room modules.

What’s on the Horizon

The infrastructure for a full-scale hospital is now in place. Our next sprints will focus on functional Surgery rooms, post-simulation performance reports, and stress-testing the engine with even more complex disaster scenarios.

Semantic Activity Icons & Live Tooltips

Small UI changes have a massive impact on clinical workflows. This week, we moved away from generic progress bars to Activity-Specific Icons on our patient cards to provide instant clinical context.

Before and after: generic progress indicators vs. activity-specific icons with tooltips

The Problem: “Mystery Meat” Progress

In a high-pressure triage environment, generic progress indicators created a bottleneck. They signaled that something was happening, but forced users to click into cards to understand the clinical intent. In a mass casualty scenario, those extra seconds of guesswork matter.

The Solution: Intent-Based Design

We’ve implemented a type-driven icon system that pulls live metadata directly from the patient’s state machine. This allows coordinators to see the “pulse” of the room at a glance:

  • 🧪 Diagnostic Clarity: Icons like the lab beaker immediately signal research or blood work in progress.
  • 💊 Intervention Focus: Dedicated icons for stabilization, surgery, or medication highlight active treatments.
  • 🤝 Real-Time Team Sync: Activity icons are mirrored across patient and staff cards. Hovering over a nurse now shows exactly what they are doing and for whom (e.g., “Oxygen — Mr. John Doe”).

The Result

A UI that speaks the language of the ER. By prioritizing activity type over simple time remaining, we’ve reduced cognitive load and created a faster, clearer path to treatment.

The Scenario Library: Beyond the Single Event

The Scenario Library: Beyond the Single Event

The emergency department never sees the same day twice. To reflect that reality, we’ve overhauled the game’s core architecture to move beyond our original single-scenario limit.

From One to Many

Until now, the system was built around a single, fixed simulation. While effective for learning the basics, it didn’t capture the breadth of challenges a trauma center faces. We have now implemented a Scenario Library, allowing the engine to load entirely different crisis events, patient loads, and environmental hazards.

New Feature: Flight 100 Aviation Disaster

To kick off this expansion, we’re introducing the Flight 100 Aviation Disaster. This scenario serves as the first of many new “worlds,” shifting the focus toward:

  • Mass Casualty Triage: Managing a sudden surge of high-acuity trauma.
  • Pre-hospital Integration: Accessing detailed Ambulance Handovers and field interventions like pelvic corsets.
  • Dynamic Flow: Patients no longer start in the ED; they arrive via ambulance based on scenario-specific timelines.

Scheduled Intelligence

To help you stay ahead of the curve, we’ve introduced Scheduled Messages. These are real-time situational updates providing evolving data on casualty counts, hazards, and ETA waves, allowing you to prep your staff before the first patient hits the door.

Project Youfers: Revolutionizing Emergency Medical Training

The Mission

Emergency room doctors, physicians, and nurses operate under tremendous pressure during mass disasters. In these critical moments, a single mistake can have a devastating impact on patient outcomes. Youfers is being built to bridge the gap between protocol and practice.

Our goal is to provide a high-stakes, virtual training environment where medical professionals can sharpen their effectiveness when it matters most.

What we are building

Youfers is a specialized web application that simulates catastrophe scenarios, allowing teams to practice:

  • Triage & Protocols: Mastering the ‘START’ protocol and other life-saving procedures in real-time.
  • Resource Logistics: Strategic planning for limited resources, such as prioritizing access to a single CT room among dozens of patients.
  • Crisis Management: Managing a mass influx of patients from varied trauma sources including:
    • Natural disasters (Earthquakes)
    • Industrial accidents (Chemical plant explosions)
    • Large-scale transport accidents (Airplane or mass vehicle crashes)

Development Status

The simulation engine for resource planning is currently in active development.

Stay tuned as we build the tools that will help save lives in the face of disaster.