Game development

Game backend development services

Authoritative state, matchmaking and autoscaling, built to a concurrency target and proven against it before launch rather than after.

What a multiplayer game backend includes

The shape, before the detail.

Four separable parts: a stateless edge that terminates player connections, authoritative session services that exclusively own game state, a low-latency event fabric between them, and an autoscaler driven by connection count rather than CPU. In a live mobile title built this way the result was 52,000 peak concurrent players at 62 ms average latency and 99.98% uptime.

Go services with gRPC between them, Redis for pub/sub and durable queues, Kubernetes for the runtime, Grafana for the dashboards your live-ops team will actually use at three in the morning. Deliberately unexotic: a game backend is operated under pressure, and cleverness is a liability at that hour.

Multiplayer backend architecture

One rule decides most of the design: exactly one writer per piece of state.

Players — game clients Stateless edge — connections only, no game state Redis — pub/sub and durable queues PostgreSQL — progression, purchases Authoritative session services exactly one writer per piece of state connect, authenticate fast path, lossy durable path match events writes
Every mutation to game state goes through one authority. The edge tier holds connections and nothing else — the moment it caches "just a little" player state, the single-writer property is gone and the hard bugs come back.

And what those four tiers are built out of.

Server languages and transport

GogRPCWebSockets

State and messaging

Redis Pub/SubDurable queuesPostgreSQL

Runtime and orchestration

KubernetesAgonesAWS GameLift

Autoscaling and zero-downtime deploys

Connection-count scalingConnection drainingVersion tolerance

Load and soak testing

Protocol-level harnessPeak multiplesPer-sprint runs

Game client integration

UnityUnreal Engine 5Netcode for GameObjectsUnreal Online Subsystem

Game backend development services

Six work packages, priced individually because studios genuinely need different subsets.

Server-authoritative game state

The services that own game state and are the only writers to it. Duplicate item grants and two clients disagreeing about who won become impossible by construction rather than patched later.

Matchmaking service development

Queueing with skill, party, region and mode constraints. These do not compose additively — four constraints is considerably worse than four times one — and it is the usual source of queue-time complaints.

Player data, inventory and in-game economy

Inventory, progression and purchases: anything a player would open a support ticket about. Idempotent writes and an audit trail, because "the item vanished" has to be answerable.

Live ops tooling and remote config

Events, seasons and remote config — how much can change without shipping a client patch. Costs real money to build and repays it every subsequent season.

Game server scalability and failover

Autoscaling on the right signal, connection draining so deploys are not player-visible, and load simulation from the first vertical slice. The package most often cut and most often regretted.

Monitoring, alerting and on-call handover

Dashboards and alerts chosen by the people who will be on call, handed over well before launch so they are familiar rather than novel during the first peak.

Backend development process

The sequence that makes a concurrency target something you designed for rather than hoped at.

Establish the target

Peak concurrent players, update rate, authority model, and what must survive a crash. Four facts, and no honest quote exists without them.

Map the domain

Separate gameplay-critical paths from live-ops paths, so the architecture prioritises what players actually feel.

One vertical slice

Matchmaking and session orchestration end to end before widening. A thin working system beats six half-built ones.

Load-simulate from there

Every sprint, against the real protocol, at a multiple of the target — not as a release gate in the final week.

Harden the deploy path

Connection draining, version tolerance and scaling policy, tuned so a patch during a live event is routine.

Hand over the controls

Dashboards, alerts and runbooks to your live-ops team, with us close during the first peak windows.

How much does a multiplayer backend cost?

Two numbers: what the build costs, and what running it costs every month.

Priced against peak concurrent players, not registered users — those are different numbers, frequently two orders of magnitude apart, and only the first decides what has to be built. A backend that holds 500 and one that holds 50,000 are different systems rather than different sizes of one.

The build runs $40,000–$90,000, priced by development time — the concurrency target decides what has to be built, what has to be built decides how long it takes, and the price follows the time. The second cost is the one budgets miss: the monthly infrastructure to run it, which is compute for the session tier, the in-memory fabric, and egress bandwidth that scales with the product of player count and update rate. That one is calculable before anything is built, so we publish it too. On AWS list prices a server-authoritative backend at 30 Hz runs about $1,200 a month at 500 peak CCU, $6,900 at 5,000 and $48,000 at 50,000, and at the top of that range egress alone is more than half of it — the table, with the assumptions. The build is scoped per project: a free 30-minute call establishes the four facts above and a written scope with a fixed price follows within 48 hours.

Common questions

What studios ask before committing to a backend build.

Both, and we prefer both. The interesting bugs in multiplayer live exactly at the seam — prediction and reconciliation on the client against authority on the server — and splitting that seam across two teams is how a project spends a month on "it works on our side". We cover Unity and Unreal client integration as part of the same engagement.
Whoever you want, and it is worth deciding before the build rather than after. We hand over Kubernetes configuration, scaling rules and Grafana dashboards built around the questions live ops actually asks, and the target is that your team can operate it without us. Where you would rather we stayed on it, that is a separate ongoing engagement rather than something folded silently into the build price.
The honest answer is that you find out in load simulation months earlier, because that is when we run it — every sprint, against the real protocol, at a multiple of the target. A backend that has never been tested above its target has not been designed for it, it has been hoped at. Where the peak genuinely exceeds the plan, headroom and pre-warming are the levers, and both are cheaper to have configured than to configure during an incident.
Yes, and for most studios it should. Running in your account means the infrastructure bill, the access controls and the data all stay yours, and there is no handover event later. We work in AWS and GCP; the stack is Kubernetes and standard managed services rather than anything that ties the design to one vendor.
$40,000 to $90,000, priced by development time: the peak concurrency target decides what has to be built, what has to be built decides how long it takes, and the price follows the time. A backend that holds 500 concurrent players and one that holds 50,000 are different systems rather than different sizes of one, which is why the target is the first thing a discovery call establishes. The monthly infrastructure to run it is a separate and calculable number - roughly $1,200 a month at 500 peak CCU and $48,000 at 50,000 on AWS list prices, most of the largest figure being egress.

Multiplayer backend case study

The delivery the numbers on this page come from.

Scoping a backend that has to hold up?

Tell us your peak CCU target, update rate and launch window. We come back with a scope and a fixed price inside 48 hours — or tell you that a managed service does the job.

Message received

We’ll review your enquiry and respond within one business day.

Related