Agent-based epidemic simulation engine. Agents move on a hex grid, infect neighbors based on distance-weighted probabilities, and recover over time.
Full stack run
# terminal 1: Backend
sbt "runMain simulator.SimulatorServer"
# terminal 2: Frontend
cd src/main/frontend && npm install && npm run devHeadless CLI:
sbt "runMain simulator.Main"Edit application.conf:
- Board — Hex grid with preprocessed neighbor layers for fast distance queries
- Person — Agent with hex movement patterns and infection state
- Disease — Trait defining transmission rules (distance decay, recovery time, mortality)
- InfectionMap — Spatial infection probability calculator using independent event composition
- SimulatorServer — Akka HTTP WebSocket server streaming simulation state to frontend
- Add new diseases by implementing the
Diseasetrait - Customize movement patterns in the
Personclass - Modify infection logic in
InfectionMapfor different transmission models