Multiplayer · Android
Pocket Blaster Multiplayer
A research demo I built solo: my own ECS multiplayer engine, a two-region AWS backend and a record-and-replay test platform.
The demo for a research grant on a multiplayer ECS engine and test platform, built solo. It was a public open beta, not a long-running production service.
What I built
- 01
A multiplayer engine on Unity, Entitas (ECS) and Zenject: components marked for remote sync replicate between client and server on their own, so the rest of the game is written like a single-player one.
- 02
A two-region AWS backend: Fargate tasks each hosting several Unity server processes, 11 Lambdas for geo-routing, matchmaking and autoscaling, DynamoDB fleet state and a Jenkins pipeline building for four platforms.
- 03
A record-and-replay regression test platform (recorder and player modules, serverless backend, Angular web app) that automated every test scenario against an 80% target.
- 04
Chose player-hosted servers over dedicated ones to fit free-to-play economics, and planned a deterministic anti-cheat to make up for the lost control.
- 05
Shipped it as a public open beta on Google Play in 2020, then measured it.
Tech & numbers
- Round trip
- 97.64 ms average over 500+ samples, against a 150 ms target
- Frame rate
- 51 FPS average, 30 minimum
- Anti-cheat
- Deterministic match resimulation on the same ECS engine: every planted cheat caught, 0 false positives, 25 lab matches
- Backend
- 2 AWS regions (EU and US), Fargate, Lambda, DynamoDB, S3, Route 53. Built in 2019, then extended through EU research to 2022
- Afterwards
- Test bed for EU Horizon 2020 edge and cloud research: network optimisation, a 32-bot load tester, telemetry on AWS
- Status
- A public open beta, not a long-running production service