Skip to content
0:00 / 0:00

#rollbacknetcode#mortalkombat#gameengine

8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2

GDC Festival of Gaming

555K subscribers • 54 videos on Hallway • Conference channel

YouTube
  • Recommended by 4 people: 4 on Hacker News.
  • A classic. People kept recommending it from 2020 to 2025.
  • Presented by Michael Stallone, Technical Director at NetherRealm Studios
  • May be out of date. Uploaded 7 years ago, in an area where tools change fast.

Advanced. Deep dive for people who know the field.

94K views7 years ago4 recommendations

Game developmentSystems programmingGame programmingNetworking and protocolsPerformance and optimization

Michael Stallone explains the engine changes, optimizations, and tools required to implement deterministic rollback netcode in fighting games.

In this 2018 GDC talk, Netherrealm Games' Michael Stallone describes the drastic engine changes, optimizations, and tools that are involved in rolling back and simulating up to 8 game frames in 16ms in games like Mortal Kombat and Injustice 2. Register for GDC: ubm.io/2yWXW38 Join the GDC mailing list: gdconf.com/subscribe Follow GDC on Twitter: twitter.com/Official_GDC GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every day. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives.

Why it's here

4 people recommend this

What people say. Highly recommended as an excellent, in-depth GDC talk on implementing deterministic rollback netcode in game engines.

syspecon Hacker News • Recommends

On “Dolphin Progress May and June 2020”

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 link to this video

syspecon Hacker News • Recommends

On “How fighting games use delay-based and rollback netcode (2019)”

Here's another great video on the subject: 8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2 link to this video One of my favorite topics, partially because there's not that much literature on the subject but it's so important

dilapon Hacker News • Recommends

On “1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond (2001)”

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: link to this video (From 2019.)

Oberdiahon Hacker News • Recommends

On “Ready Player Two – What the Multiplayer Web Can Learn from Video Games”

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: link to this video

c4wrdon Hacker News • Recommends

On “Activision Cut Call of Duty's Build Time by 50%”

…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: link to this video - It IS Rocket Science! The Physics of Rocket League Detailed: link - link…

u/Smoke_Maxin r/haskell • Mentions

On “Introducing alpaca-netcode: Rollback/replay NetCode for realtime, deterministic, multiplayer games.”

I helped develop a game (in C++) where we used this kind of netcode. It worked pretty great for our kind of game (fighting / arena-ish), where it's pretty much standard to use rollback. Fighting games used to use lockstep netcode, where each step had to have all player inputs to be computed. This caused a ton of slight freezes, making online matches straight up unplayable. Once games started to switch to rollback, you can find stories basically everywhere on how much matches were improved. This GDC talk is about Injustice 2's switch and is pretty much what inspired us to do the same. It's not all roses though, by far the biggest challenge was making computations be completely deterministi…

honkycaton Hacker News • Mentions

On “DreamWorld (YC W21) MMO raises all red flags”

…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 right0. Now make that much harder when dealing with millions of players in one world, with mold-able terrain and an exotic networking stack. 0: link to this video…