Hey everyone,

I wanted to share some progress on one of the biggest systems I’ve been working on for Virtual Medical Dispatch (VMD): the roster generation system.

At first, I thought crew scheduling would be relatively straightforward just assign available pilots and medical staff to missions and call it a day.

I was very wrong.

The deeper I went into how real medevac and air ambulance operators work, the more I realized roster planning is basically the heart of the entire operation. If the wrong crew is scheduled, the mission simply doesn’t happen.

And for a simulation that aims to feel realistic, I didn’t want the system to just “spawn crew” magically.

I wanted it to feel alive.

More Than Just Pilots

One thing I quickly learned is that medical aviation isn’t only about aircraft.

Sure, you need pilots.

But depending on the mission, you may also need:

  • Flight nurses
  • ICU doctors
  • Paramedics
  • ECMO specialists
  • Dispatch coordinators
  • Ground transport staff

A simple patient transfer might need:

  • 2 pilots
  • 1 nurse

But a critical long-range ICU transfer could need:

  • 2 pilots
  • 1 relief pilot
  • 1 ICU doctor
  • 2 flight nurses
  • Specialized equipment team

That changes everything for scheduling.

Not Every Crew Can Do Every Mission

This became one of the most interesting parts to build.

In most flight sims, crew are generic.

In VMD, every crew member has qualifications.

For pilots:

  • Aircraft type rating
  • IFR certification
  • Night operation clearance
  • Special airport training

For medical staff:

  • Trauma certification
  • Neonatal care
  • ICU experience
  • ECMO certification

For example, if you’re flying an ECMO mission using a long-range jet like a Bombardier Global 6000, you can’t just assign whoever is free.

The system checks whether that exact crew is qualified.

That immediately made dispatch feel much more real.

Fatigue Became a Huge Deal

This is where things got fun (and painful to code).

I didn’t want to stop at “legal duty time.”

In real life, someone can technically still be legal to fly while being completely exhausted.

So I built a fatigue model.

The system looks at things like:

  • Night shifts
  • Consecutive missions
  • Sleep disruption
  • Long duty periods
  • Time zone changes

Every crew member now has a fatigue score.

That means the dispatcher might see:

Captain available? Yes.
Safe to launch? Maybe not.

That small detail changed the whole feel of the sim.

Now decisions become much more human.

Do you launch immediately with a tired crew?

Or wait 45 minutes for a fresh team?

That’s exactly the type of pressure I want players to feel.

Home Base Matters Too

Another thing I added is crew positioning.

Crew aren’t teleporting around the map.

Each person has a home base.

Examples:

  • Nice
  • London
  • Dubai

So if a mission comes in from another region, the system asks:

  • Is the crew already nearby?
  • Do they need repositioning?
  • Will that delay launch?
  • Is hotel accommodation needed?

That adds a whole operational layer I really love.

The Hardest Part: Conflicts

This is where the sim starts feeling like controlled chaos.

Imagine this scenario:

You have one crew available.

Then suddenly:

  • Organ transport request comes in
  • ICU transfer comes in
  • One pilot reports sick
  • Weather worsens

What now?

The roster engine has to prioritize.

Current priority order is roughly:

  1. Critical life-threatening missions
  2. Organ transport
  3. Scheduled transfers
  4. VIP medical charters

That means the sim constantly forces tradeoffs.

And honestly, those moments are becoming some of my favorite parts.

Making It Feel Alive

The biggest design goal for me is simple:

I don’t want Virtual Medical Dispatch to feel like menus and spreadsheets.

I want it to feel like sitting inside a real operations control center at 3 AM while alarms go off and dispatch phones won’t stop ringing.

You’re not just managing aircraft.

You’re balancing:

  • Human fatigue
  • Medical urgency
  • Regulations
  • Costs
  • Aircraft availability
  • Time pressure

That’s what makes medical aviation fascinating to me.

It’s messy, stressful, and incredibly dynamic.

What’s Next?

I’m currently connecting roster generation with:

  • Mission generation
  • Finance system
  • Aircraft maintenance
  • Live dispatch board
  • ACARS messaging

Once all of that is integrated, crew planning won’t just affect operations — it’ll directly impact profitability and response capability.

That’s where things get really exciting.

More soon 👀

Wondering when did this project started?

First build is from summer 2025