GGPO — or Good Game Peace Out — has now become available for free on any project via the creator releasing it under an MIT license.
Created by Tony Cannon, one of the brothers who founded the tournament superpower EVO, GGPO popularized rollback netcode in fighting games over a decade ago, and powered some of the fighting game community’s most beloved online experiences including Skullgirls, Killer Instinct (2013), and Street Fighter 3: Third Strike Online Edition. It’s notable among the FGC in that, despite its age, it is recognized as the absolute best netcode solution in the industry, and arguably only the failed Marvel Vs. Capcom Infinite has come close to matching its functions and stability.
Under the MIT License, GGPO can be used in essentially any commercial product or private endeavor without any fees. Plus, they can freely make any modifications they so choose going forward. This seems to mean that Capcom, Bandai Namco, Nintendo, or any indie developer can use GGPO and build upon its foundation if they so choose. No explanation was given for the release by Cannon (formerly, you had to pay to get the license), but it’s likely a completed legacy project on their part considering his team is currently hard at work developing their own fighter for Riot Games.
GGPO was first introduced to the world 13 years ago back in 2006 after Cannon and many others were not exactly pleased with the state of online play in fighting games in the early Xbox 360 and PlayStation 3 generation. This helped push the move to rollback netcode in many fighting games going forward, though Japanese developers like Bandai Namco, SNK, and Arc System Works have largely stuck with the delay-based online approach. Capcom implemented its own rollback system into Street Fighter V and MvCI, but unfortunately, the SFV implementation was very poor, and now a lot of people don’t understand the benefits of rollback netcode.
How rollback works is by actively trying to anticipate input from players to make matches feel like offline when used successfully. If the program makes the wrong prediction, however, the game will need to “rollback” to a previously correct state. In a poorly optimized context, like the aforementioned SFV, this means one player will see the other player teleport around the screen. Killer Instinct initially solved the problem by just activating an AI when a desync occurred, but more natural solutions were implemented over time. Fact of the matter is, rollback netcode is delay-based netcode, but with extra systems in play to keep fights as smooth as possible.
“Traditional techniques account for network transmission time by adding delay to a players input, resulting in a sluggish, laggy game-feel,” explains the GGPO GitHub page. “Rollback networking uses input prediction and speculative execution to send player inputs to the game immediately, providing the illusion of a zero-latency network.”
The release of free GGPO came on the tail-end of a debate within the FGC about the importance of netcode in fighting games and how it’s usually mediocre or outright bad, and this development sparked further discussion. Potential devs and fans alike are asking about its implementation in various types of games and how difficult it is to use, and Cannon is only too happy to reply. Generally speaking, a game must be designed to support rollback netcode in particular, but, as evidenced by Mortal Kombat 11, you can finagle it into just about any engine if you really work at it.
This is fantastic news for the fighting game genre, as a fast and seamless online experience has been cited by veterans as one of the best reasons to keep playing a fighter. I hope that GGPO and other rollback solutions become more widespread, as they would be one step closer to making fighting games easier to get into.