Fixing the Internet for Games (GDC 2019)

The internet is broken for games. Let's fix it!

Networked Physics in Virtual Reality

Networking a stack of cubes in VR with Unity and PhysX

Why can't I send UDP packets from a browser?

A solution for enabling UDP in the web

Client Server Connection

How to create a client/server connection over UDP

Reliable Ordered Messages

How to implement reliable-ordered messages on top of UDP

Sending Large Blocks of Data

How to send blocks quickly and reliably over UDP

Packet Fragmentation and Reassembly

How to send and receive packets larger than MTU

Serialization Strategies

Smart tricks that unify packet read and write

Reading and Writing Packets

Best practices for reading and writing packets

State Synchronization

Keeping simulations in sync by sending state

Snapshot Compression

Advanced techniques for optimizing bandwidth

Snapshot Interpolation

Interpolating between snapshots of visual state

Deterministic Lockstep

Keeping simulations in sync by sending only inputs

Introduction to Networked Physics

Three ways to network a physics simulation

Floating Point Determinism

Is it possible to make floating point calculations completely deterministic?

What Every Programmer Needs To Know About Game Networking

A short history of game networking techniques

Reliability and Congestion Avoidance over UDP

How to implement reliability and congestion avoidance in a completely different way to TCP

Virtual Connection over UDP

How to create a virtual connection over connectionless UDP

Sending and Receiving Packets

How to send and receive packets over UDP with BSD sockets


Which protocol is best for games?

Networked Physics (2004)

How to network a physics simulation