GDC is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Use the GDC 2021 Session Viewer to browse and sort the ever-growing list of sessions by day, time, pass type, topic, and format. All registered attendees will be able to build their personal schedule directly within the event platform, once live early July 2021. All times are listed in Pacific Time.

Breaking the Ankh: Deterministic Propagation Netcode in 'Spelunky 2'

Guillermo NWDD García Romero  (Software Engineeer, BlitWorks)

Date: Thursday, July 22

Time: 8:30am - 9:30am

Pass Type: All Access Pass, Core Pass

Topic: Programming

Format: Session

Vault Recording: Video

Audience Level: N/A: I would like to deliver a virtual presentation only

This presentation will describe in detail the implementation of propagation netcode in 'Spelunky 2', an approach to real-time deterministic synchronization for scenarios where simulating 8 frames in 16 ms isn't feasible. 'Spelunky 2' is a simulation-intensive roguelike platformer with real-time, interactive, SPH-based fluids and big two-layer levels, as well as hundreds of traps, items and characters that interact with each other in emergent ways. Due to the complex, hardcore, and highly-interactive nature of the game's design, there were many tradeoffs to consider regarding clock-synchronization, network architecture, input delay, and type of netcode to use. The talk will also cover the various challenges of releasing and managing online multiplayer with servers and a tiny indie team.


Attendees will find approaches to deterministic synchronization with large states, find techniques for improving the QoL of network programming, learn from mistakes we made and get a gist of the problems that indie teams face when working on an online mode that isn't the main course of an IAP-free title.

Intended Audience

Programmers with networking notions from all disciplines are welcome.
Attendees who are considering, planning or actively work with determinism based networking models will benefit the most from this experience.