8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2
GDC Festival of Gaming4 HN recommenders · recommended in 5 months, 2020-2025
94K views · 7 years ago · talk · evergreen
A 2018 GDC talk by NetherRealm's Michael Stallone on the engine changes, optimizations and tooling needed to roll back and re-simulate up to 8 frames in 16 ms in Mortal Kombat and Injustice 2. It is a deep dive into deterministic rollback netcode.
HN treats it as the definitive practical talk on rollback networking in a shipped AAA fighting game.
1:05:25Robocalypse Now: Using Deep Learning to Combat Cheating in Counter-Strike: Global Offensive
GDC Festival of Gaming
35K views • 6 years ago
1:49:07I Shot You First: Networking the Gameplay of Halo: Reach
GDC Festival of Gaming
58K views • 8 years ago
1:05:33GDC 2018: John McDonald (Valve) - Using Deep Learning to Combat Cheating in CSGO
max4warn
128K views • 8 years ago
31:00Exploring the Tech and Design of Noita
GDC Festival of Gaming
288K views • 6 years ago
1:07:22HandmadeCon 2015 - Pat Wyatt
Molly Rocket
33K views • 10 years ago
26:56The Implementation of Rewind in Braid
GDC Festival of Gaming
141K views • 9 years ago
1:07:26Procedurally Crafting Manhattan for Marvel's Spider-Man
GDC Festival of Gaming
89K views • 7 years ago
1:04:04Overwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
196K views • 7 years ago
1:06:37Destiny's Multithreaded Rendering Architecture
GDC Festival of Gaming
45K views • 10 years ago
13:04VACNET Anti-cheat
3kliksphilip
574K views • 8 years ago
59:34Multithreading the Entire Destiny Engine
GDC Festival of Gaming
65K views • 9 years ago
1:00:34Pitfall: A Classic Game Postmortem
GDC Festival of Gaming
63K views • 10 years ago
56:03The Early Days of id Software
GDC Festival of Gaming
165K views • 10 years ago
1:00:271,500 Slot Machines Walk into a Bar: Adventures in Quantity Over Quality
GDC Festival of Gaming
184K views • 7 years ago
53:44Console Hacking 2016 (33c3)
media.ccc.de
166K views • 9 years ago
1:19:06Netdev 0x16 - Keynote: It's Time to Replace TCP in the Datacenter
netdevconf
5K views • 3 years ago
26:13Animation Bootcamp: An Indie Approach to Procedural Animation
GDC Festival of Gaming
786K views • 9 years ago
44:40DCEmu Reviews - 27C3 - Chaos Communication Congress 2010 - fail0verflow - FULL VIDEO
1KIND Reviews
47K views • 15 years ago
59:47Failing to Fail: The Spiderweb Software Way
GDC Festival of Gaming
570K views • 8 years ago
2:49:19John Carmack Keynote - Quakecon 2013
IGN
101K views • 13 years ago
6 comments from Hacker News
For those who aren't in the video game development field and like technical content, I cannot recommend watching GDC's content enough (even better, attending!). Although this blog post isn't as detailed as I've seen them do in the past, I appreciate that game developers have the opportunity to share their wins like this externally. If you enjoy watching technical content and video games, the following videos are greatly entertaining deep dives into ludicrously technically complicated bugs or performance optimizations done to deliver the gaming experience that I myself take for granted. - I Shot You First: Networking the Gameplay of Halo: Reach: link - 8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2: ▶ this video - It IS Rocket Science! The Physics of Rocket League Detailed: link - link
Specifically "Deterministic Rollback", as the clients don't wait for the server's response before displaying the change locally. For an in-depth explanation, see this excellent GDC talk on its implementation in Mortal Kombat and Injustice 2: ▶ this video
I guess it depends on how high a level you're looking at it from. Both lockstep and rollback are variants of the general approach of "shared deterministic simulation" where you're mostly just sending inputs. ("Mostly" 'cuz on reconnect or desync or whatever you'll probably want to send full state.) I really enjoyed this GDC talk on rollback networking: ▶ this video (From 2019.)
I do indie game dev as a hobby, and I have taken multiple classes on networked multiplayer, and I've also implemented VERY SIMPLE proof of concepts for multiplayer fighting games in Unreal Engine. I think what a lot of people are missing here is the context that there is STILL not a "make it multiplayer" button in game engines. They do NOT do most of the work for you for any facet of game development. Making games is still a ton of work. To name a few things that Unreal Engine does not do for you: networked movement prediction, acceptable LERPing to positions when client/host disagree, anticheat... basically it has a nice client/server model API you can use. You can annotate structs to efficiently be transmitted over the internet, and query the API to see if you are "host" or "client". There is an amazing talk on this from the Mortal Kombat creators about how long it took them to get their netcode right[0]. Now make that much harder when dealing with millions of players in one world, with mold-able terrain and an exotic networking stack. 0: ▶ this video
Here's another great video on the subject: 8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2 ▶ this video One of my favorite topics, partially because there's not that much literature on the subject but it's so important
Do you have a link to any blog posts, i would love to read about it. I tried to look on link , but development appears to be closed source? I'm just an outside observer, but i love the topic. For others like myself, this is a great GDC video to watch on the topic > 8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2 ▶ this video