Hey! I'm Tom ๐
I've been working on A&E: Under Pressure, a browser-based simulation of a busy UK emergency department.
Rather than being a traditional hospital tycoon, I'm trying to make the department behave as one interconnected system. Individual patients arrive, get triaged, wait for clinicians and physical space, have investigations, deteriorate, get reassessed and eventually leave or get admitted into the wider hospital.
Which has also meant discovering increasingly creative ways for the entire simulation to break ๐ญ
๐ v1.2
I've just finished the biggest update I've made to the game so far.
The medical library has gone from 42 to 196 conditions, with more than 300 different patient presentations now possible.
But most of the work actually ended up being underneath the surface.
One of the biggest changes is that clinical areas now have actual physical capacity.
Previously, an area could say Majors 18/18 and the simulation could still quietly put another patient there. During testing I managed to get things like:
Majors: 39/18
Paediatrics: 24/8
Mental Health: 10/3
Not ideal. ๐ญ
Now when an area is full, it's actually full.
Patients have to wait for appropriate space, Resus has proper surge capacity, stable Resus patients can be stepped down where appropriate, and ambulance patients can remain with their crew if there genuinely isn't anywhere safe for them to go.
๐๏ธ This then broke the hospital
Once I made physical capacity real, another problem became much more obvious.
Patients waiting for hospital beds were occupying A&E bays for ridiculous amounts of time.
In one test, the median boarding time reached around 7 hours and the longest was nearly 25 hours.
So the hospital bed system ended up getting reworked too.
Patients can now be considered for clinically suitable alternative wards, long-waiting patients are reconsidered more frequently and newly available ward beds can actively trigger another attempt at placement.
Specialist placements such as Critical Care, Paediatrics and Mental Health are still protected.
๐จ Emergency scenarios
v1.2 also adds 16 emergency scenarios across six types:
- Mass Casualty Incident
- Influenza Surge
- Staff Crisis
- Heatwave Emergency
- Bed Block Crisis
- Chaos Mode
Most have different difficulty levels.
And then there's Chaos Mode.
It sends 500 patients into the department.
There is absolutely no sensible operational reason to press the button, which obviously means people will press it.
๐ Ambulance divert and department closure
You can now close the department to new arrivals while continuing to treat everyone already inside.
Ambulance divert can also become available when Resus reaches 75% of its normal capacity.
Walk-ins can continue while ambulance demand is redirected elsewhere.
These systems have been interesting because I don't want them to just be buttons that magically remove pressure. They need to interact properly with the rest of the simulation.
๐ค More patient variety
The patient generator also needed some attention.
During testing it produced highlights including elderly patients apparently injuring themselves while sprinting and some extremely questionable age/presentation combinations.
Generation is now much more age-aware while still allowing genuinely unusual cases to occur.
The game now has:
- 196 medical conditions
- 300+ patient presentations
- Individual observations
- Medical histories
- Medications
- Allergies
- Deterioration
- Reassessment
- Investigations
- Admission and discharge
๐พ Saving nearly became the final boss
A&E: Under Pressure is designed so you can leave a department running over multiple sessions.
When you come back, it works out how much real time has passed and catches the simulation up.
That sounds fairly innocent until you're trying to simulate hours of missed activity without freezing someone's browser, replaying every sound simultaneously or destroying an old save.
v1.2 substantially reworks saving, loading and catch-up, including support for repairing older save data where possible.
๐งช Testing
I've also started using a separate Testing Department build for updates before they reach the main game.
The final v1.2 test suite reached:
89 tests passing.
Alongside that I've been running longer simulation probes looking for capacity breaches, stuck patients, broken arrival chains, duplicate events, staff problems and other issues that only become obvious after the department has been running for a long time.
One of my favourite bugs was extra staff being reapplied every shift change.
3 โ 6 โ 12 โ 24 โ 48 โ oh no.
๐ What I'm working on next
I'm already starting work on v1.3.
The first thing I've been experimenting with is a proper main menu rather than immediately throwing you into the simulation.
I'll add a screenshot of that below ๐
I'm also looking at what should come next without making another update quite as enormous as v1.2.
Some things I'm considering are deeper operational systems, better statistics, achievements, ambulance pre-alerts and more things to do with long-running departments.
I'll keep updating this thread as development continues.
I'm particularly interested in hearing what people think makes a simulation feel detailed without crossing the line into unnecessary complexity.