GGPO (Good Game Peace Out) is middleware designed to help create a near-lagless online experience for various emulated arcade games and fighting games. The program was created by Tony Cannon, co-founder of fighting game community site Shoryuken and the popular Evolution Championship Series.
History
Before its creation, GGPO creator Tony Cannon was completely dissatisfied with the 2006 Xbox 360 re-release of Street Fighter II: Hyper Fighting after experiencing its criticized online capabilities.[2] As a reaction to its service, Cannon began development on GGPO and released the first version in late 2006. Cannon later demonstrated GGPO to Capcom, and it was positively received.[3]
GGPO uses a netcode technique called "rollback". Rather than waiting for input to be received from other players before simulating the next frame, GGPO predicts the inputs they will send and simulates the next frame without delay using that assumption. When other players’ inputs arrive, if any input didn't match the prediction, GGPO rolls back the state of the game to the last correct state, then replays all players’ revised inputs back until the current frame. The hope is that the predictions will be correct most of the time, allowing smooth play with minimal sudden changes to the game state.[6][7] The system in itself is highly similar to client-side prediction, but applied to a peer-to-peer setup.
The client program can allow players to manually adjust native input delay in high-ping situations, either creating a possibly-jerky yet accurate representation or a smoother game with input delay.
GGPO client
GGPO was originally bundled with a client which enabled users to play supported games online with other players. A matchmaking system allowed players to request challenges from other users, while non-participants could spectate the match and chat. Once a challenge initiated, the match ran a ROM through its prepackaged emulator, FinalBurn Alpha. This client was discontinued, and superseded by other clients which make use of GGPO's networking middleware, such as Fightcade or RedGGPO.
^Cannon, Tony (September 2012). "Fight the Lag!". Game Developer Magazine. Archived from the original on 20 September 2012. Retrieved 12 September 2012.
^"Capcom: Final Fight". Retrieved 2019-10-04. GGPO network technology creates a frame-accurate arcade experience across the internet, and with online voice chat and the ability to join games in progress, it's just like playing in the arcade.
^佐伯憲司 (2010-11-25). "バンダイナムコ、AC「ドラゴンボール ZENKAIバトルロイヤル」". GAME Watch (in Japanese). Retrieved 2019-10-04. ICカードによるプレイ履歴を参照することにより、プレーヤーレベルに応じたマッ1チングが行なわれるという(ICカード1枚で全キャラクター使用可能)。このあたりのシステムには、海外で評価の高いネットワークライブラリ「GGPO」が使われており、遠隔地同士のマッチングなどで起きがちなネットワーク遅延などにも対応できているという。
^"新機能". CAPCOM:STREET FIGHTER III 3rd STRIKE ONLINE EDITION -Fight for the Future- (in Japanese). Retrieved 2019-10-04. 最高のオンラインゲームプレイを提供するGGPOシステムを使用。
^"Lethal League". Retrieved 2019-10-04. High performance online GGPO multiplayer.
^Partridge, Jon (2015-08-31). "Rising Thunder interview with Seth Killian". Red Bull. Retrieved 2019-10-04. It's a beat'em up built for online play too: it's built on the backend of GGPO for lag-free play, and it's also just so happens to be free.
^Sirlin, David. "Street Fighter HD Remix Features". Sirlin.Net. Retrieved 2020-02-06. Note that the networking uses Tony Cannon's ggpo technique, and he consulted to ensure it was done correctly.
^Svensson, Christian. "Where's Yo Curleh Mustache? Yes, MVC2 is Real!". capcom-unity.com. Retrieved 2020-02-20. With the game being developed by Backbone, we are using largely the same, critically acclaimed net code that we used in Super Street Fighter 2 Turbo HD Remix and with that will come our player match quarter mode/lobby system that has proven so popular.
^"Touhou Hisoutensoku Rollcaster Official Release". #hisouten@irc.rizon.net. 2012-12-25. Retrieved 2020-07-18. Thanks to Fireseal, Touhou Hisoutensoku can now be played with rollback enabled; long story short, intercontinental play with low delay is now possible.
^Torres, Josh (2016-04-22). "Branching Path: Melty Blood Actress Again Current Code's Steam Version". RPG Site. Retrieved 2020-05-18. As a matter of fact, two very talented individuals from the Melty Blood community, Mauve and Madscientist, built custom online multiplayer clients for the PC versions of Act Cadenza Ver. B and Actress Again Current Code respectively. While they were easy to use after spending a little bit of time understanding their interface, it still required a separate program. These clients are still impressive to this day because they minimized input lag by incorporating rollback netcode (now seen in Street Fighter V) and kept frame stuttering or "laggy matches" to a minimum.
^Wright, Steven T. (2017-03-31). "Reviving 'River City Ransom' and Reinventing the Brawler". VICE. Retrieved 2020-01-29. Crenna and co. even coded the online multiplayer around a "rollback driver," a challenging technical feature usually reserved for popular fighting games like Street Fighter.
^Walker, Ian (2017-04-27). "Marvel vs. Capcom Infinite Wants Even Newbies To Have A Blast". Kotaku. Retrieved 2020-01-11. Once players have a firm grasp on the fundamentals, they can hop online and test their burgeoning skills against worldwide opponents, one-on-one or in lobbies, using Capcom's proprietary rollback netcode.
^"Golden Fantasia & Rollback Netplay". MangaGamer Staff Blog. 2017-12-07. Retrieved 2019-10-22. Of course, once a game goes worldwide, this no longer holds true, and something has to be done to account for network issues, which is why we made a point of implementing rollback netplay into our version of Umineko: Golden Fantasia.
^"Acceleration of SUGURI 2". Steam. Retrieved 2020-01-28. Online and Split-screen Multiplayer with rollback netcode
^Wong, Andy (2018-03-20). "Street Fighter 30th Anniversary Collection Arrives on May 29, 2018". PlayStation.Blog. Retrieved 2019-10-22. Online play also features rollback technology that provides low-latency matches with the ability to adjust your own input buffer speed via the in-game menu to keep your online experience smooth.
^Digital Crafter Team (May 8, 2019). "Jesus is back!! Balance adjustment and new netcode tech (Roll back) online!". Steam Community. Retrieved February 26, 2020. On Net code, we were using delay base before this update. And this time we changed to (Roll Back) method, it should bring you better input experience. Please give it a try!
^넷마블 TV (2021-03-24). [킹오파올스타] 실시간 PVP 개선 상황 최초 공개! [[King of Fighters All Star] First look at real-time PVP improvements!] (in Korean). Netmarble. Retrieved 2024-05-21 – via YouTube.
^ abcdefg"Tango". Tango. Retrieved 2022-06-19. Works with every English and Japanese Battle Network game.
^mars. "MMBN3 PvP Balance Patch". n1gp.dev. Archived from the original on 2021-10-08. Retrieved 2021-09-26. Lots of changes have been made under the hood in order to make BBN3 work with rollback netcode.
^"Slayers for Hire Kickstarter". Retrieved 2019-11-28. We take netcode very seriously, and investigated several different solutions to give the best possible experience. We ended up deciding on Photon's Quantum netcode, which you can read all about on their website. Quantum is a deterministic, server-based, rollback netcode.
^Vortex Games. "Rushdown Revolt - Pre-Beta Testing". Steam. Retrieved 2020-08-08. Vortex Rollback been in development for four years to fully embed it into every aspect of our game engine in order to minimize delay and rollback impacts.