GGPO Netcode: What It Is, Why It Works, And Why More Titles Are Using It For Fighting Games

GGPO Netcode: What It Is, Why It Works, And Why More Titles Are Using It For Fighting Games
Credit: ManeSix DevTeam via YouTube

Browsing through Humble Bundle Choice for January, and I stumbled across an interesting title called Them’s Fightin’ Herds.  It features characters and voices surprisingly similar to My Little Pony all beating the hay out of each other, and the community seemed to be a fascinating mix of 4Chan users that like My Little Pony because of reasons (best not to look too closely at that), and 2D fighter fans that are drawn to its adorable characters.  There’s a specific statement in there that fans were tremendously excited about; the usage of GGPO netcode.

It’s widely considered to be the best Netcode that fighting games currently have, leading many to be miffed that big titles such as Street Fighter V opt to use their own netcode, which is widely regarded as inferior to those in the know with fighting games.  Yet lets no dwell too much on who is and is not using GGPO; let’s instead explore what it is.

Street Fighter via YouTube

Way back in 2006, Street Fighter II: Hyper Fighting was released on the Xbox 360, and its online play was…lackluster at best (so nothing much has changed, ha).  It was nearly impossible to play well online without abusing specific moves that worked against the netcode, and it irritated some random lad named Tony Cannon.

So much, in fact, that he went about designing his own Netcode.  He showed the Netcode to Capcom, and they liked it enough that they began using it in their titles.  This middle-man software was called GGPO, short for ‘Good Game, Peace Out’.

Not to bore everyone by getting too specific in the details, but the system employs a technique known as rollback; the machine assumes what will occur next, and begins to display those inputs without waiting for user interaction.

If the system guessed correctly, all is well; if not, a rollback occurs once again synchronizing everyone with the actual gameplay state while playing the inputs received during that time period.  It’s client-side prediction on a networked peer-to-peer basis, and it works very well considering the alternatives.  Gameplay on GGPO is consistently smooth and clean, with minimal latency affecting gameplay for either side.

On October 9th, 2019, Tony Cannon took to Twitter to announce that the GGPO netcode was open source under the MIT license, allowing anyone who wanted to include it in their titles to do so, free of charge. Worth noting that Tony Cannon now currently works with Riot Games.

This bodes well for fans of fighting games, as we’re less likely to get titles on release that looked like Street Fighter V, and perhaps more like Them’s Fightin’ Herds.  Which is quite the strange sentence to craft.