Skip to content
0:00 / 0:00

#ecs#entitycomponentsystem#netcode

Overwatch Gameplay Architecture and Netcode - GDC 2017

Jasper V

12 subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Timothy Ford, Lead Gameplay Programmer at Blizzard Entertainment

Advanced. Deep dive for people who know the field.

5.7K views9 months ago1 recommendation

Game developmentDistributed systemsUnity, Unreal and GodotNetworking and protocolsConcurrency and parallelism

Timothy Ford explains how Overwatch uses an Entity Component System architecture and deterministic netcode to handle multiplayer simulation.

Speaker: Timothy Ford Company: Blizzard Entertainment 'Overwatch' uses a cutting-edge Entity Component System (ECS) architecture to create a rich variety of gameplay. Each hero in 'Overwatch' must stand on their own in terms of depth. Blizzard's team leverages ECS to curtail complexity, even as they continue to add new crazy features. From Swedish dwarves building turrets on moving trucks, to Brazilian DJs shooting giant soccer balls with their sonic guns, there are no constraints on the types of gameplay they have to author. 'Overwatch' is a multiplayer shooter, so it is critical that all game features are responsive and accurate. In this session, Blizzard's Timothy Ford will cover how this networked simulation works, and how it leverages determinism to achieve responsiveness and precision. -------------------- Newly archived because the original has been deleted from YouTube.

Why it's here

1 person recommends this

What people say. Recommended as a seminal talk on Entity Component System architecture and multiplayer netcode design.

u/dechichiin r/C_Programming • Recommends

On “Just finished my multiplayer system in C and turns out we can support 50k players in a single server at 60hz simulation tick”

I've been writing this engine in C since 2024, yes, before AI. The netcode architecture is ECS based, inspired by this 2017 GDC talk. The server is authoritative, and replicated state is just regular ECS components tagged for the network, with each field quantized (e.g. position at 1 mm). Codegen writes the serializers. Clients send inputs (each packet repeats the last 4 ticks so a lost packet costs nothing), each client predicts its own character and rolls back and re-simulates on corrections, and everyone else is interpolated. The transport layer is QUIC over UDP, but we'll support swapping out for different layers. Every client receives every player, in three tiers of relevancy: * ne…