GGPO
Middleware preventing lag From Wikipedia, the free encyclopedia
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.
![]() | |
Developer(s) | Tony "Ponder" Cannon |
---|---|
Final release | 0.32
/ August 27, 2015 |
Repository | |
Written in | C, C++ |
Operating system | Microsoft Windows |
Type | Middleware |
License | MIT License[1] |
Website | www |
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]
The downloadable GGPO client supported many games from Capcom and SNK, including Super Street Fighter II Turbo, The King of Fighters 2002, and Metal Slug X through the use of a built-in emulator. Video game companies have also implemented a licensed version of GGPO. Games using it include Skullgirls and Street Fighter III: 3rd Strike Online Edition.[2][4]
On October 9, 2019, Cannon announced on his Twitter account that GGPO was now open source and available under the MIT License.[5]
Design
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.
Games using GGPO
- Final Fight: Double Impact[8] (2010)
- Dragon Ball: Zenkai Battle[9][10] (2011)
- Street Fighter III: 3rd Strike Online Edition[11] (2011)
- Skullgirls[12] (2012)
- Marvel vs. Capcom Origins[13] (2012)
- Darkstalkers Resurrection[14] (2013)
- Dungeons & Dragons: Chronicles of Mystara[15] (2013)
- Divekick[16] (2013)
- Metal Slug 3[17] (2014)
- Lethal League[18] (2014)
- Rising Thunder[19] (2015)
- Skullgirls (mobile)[20] (2017)
- Pocket Rumble[21] (2017)
- Windjammers[22] (2017)
- Punch Planet[23] (2017)
- Omen of Sorrow[24] (2018)
- Fantasy Strike[25] (2019)
- Them's Fightin' Herds[26] (2020)
- FOOTSIES Rollback Edition[27][28] (2020)
- Terrordrome - Reign of the Legends[29] (2020)
- Guilty Gear XX Accent Core Plus R[a][30] (2020)
- Melty Blood: Type Lumina[31] (2021)
- The King of Fighters XV[32] (2022)
- Breakers Collection[33] (2023)
- Samurai Shodown (2019)[a][34](2023)
- Under Night In-Birth II [Sys:Celes][35] (2024)
- Blazing Strike[36][37] (2024)
- Coreupt[38] (2024)
Games using rollback networking
- Super Street Fighter II Turbo HD Remix[39] (2008)
- Marvel vs. Capcom 2: New Age of Heroes[40] (2009)
- Touhou Suimusou: Immaterial and Missing Power[b] (2009)
- Street Fighter X Tekken[41] (2012)
- PlayStation All-Stars Battle Royale[42] (2012)
- Touhou Hisoutensoku[b][43] (2012)
- Killer Instinct (2013)[44]
- Killer Instinct Classic[a][45][46] (2013)
- Killer Instinct 2 Classic (2014)
- Eternal Fighter Zero[b] (2014)
- Melty Blood Actress Again Current Code[b][47][48] (2015)
- Brawlhalla (2015)
- Street Fighter V[49] (2016)
- Mortal Kombat XL (2016)
- For Honor (2017)
- River City Ransom: Underground[50] (2017)
- Injustice 2[51] (2017)
- Marvel vs. Capcom: Infinite[52] (2017)
- Umineko: Golden Fantasia[53] (2017)
- Acceleration of Suguri 2[54] (2018)
- The King of Fighters '97 Global Match[a][55] (2018)
- Street Fighter 30th Anniversary Collection[56] (2018)
- Lethal League Blaze (2018)
- Mortal Kombat 11 (2019)
- Fight of Gods[a][57] (2019)
- Samurai Shodown V Special[a][58] (2019)
- Power Rangers: Battle for the Grid (2019)
- Fight of Animals[59] (2019)
- Garou: Mark of the Wolves[a][60] (2020)
- Maiden & Spell[61] (2020)
- Mighty Fight Federation[62] (2020)
- The Last Blade 2[a][63] (2020)
- Samurai Shodown NeoGeo Collection[64] (2020)
- Super Smash Bros. Melee[b][65] (2020)
- Fighting EX Layer[a][66] (2020)
- Spelunky 2[67] (2020)
- The King of Fighters 2002: Unlimited Match[a][68] (2020)
- Dual Souls: The Last Bearer[a][69] (2020)
- Tough Love Arena[70] (2021)
- Guilty Gear -Strive-[71] (2021)
- Dengeki Bunko: Fighting Climax Ignition[b][72] (2021)
- The King of Fighters All Star[a][73] (2021)
- Rivals of Aether[a][74] (2021)
- Petal Crash Online[a][75] (2021)
- Nickelodeon All-Star Brawl[76] (2021)
- The King of Fighters '98: Ultimate Match Final Edition[a][77] (2021)
- Windjammers 2[78] (2022)
- BlazBlue: Central Fiction[a][79] (2022)
- BlazBlue: Cross Tag Battle[a][79] (2022)
- DNF Duel[80] (2022)
- MultiVersus[81] (2022)
- Persona 4 Arena Ultimax[a][82] (2022)
- Mega Man Battle Network[b][83] (2022)
- Mega Man Battle Network 2[b][83] (2022)
- Mega Man Battle Network 3[b][84][83] (2022)
- Mega Man Battle Network 4[b][83] (2022)
- Rockman EXE 4.5 Real Operation[b][83] (2022)
- Mega Man Battle Network 5[b][83] (2022)
- Mega Man Battle Network 6[b][83] (2022)
- Capcom Fighting Collection (2022)
- Teenage Mutant Ninja Turtles: Tournament Fighters SNES ver via Teenage Mutant Ninja Turtles: The Cowabunga Collection (2022)
- The Rumble Fish 2[85] (2022)
- Guilty Gear Xrd REV 2[a] (2023)
- IKEMEN-Go[86] (2023)
- Street Fighter 6[87] (2023)
- Mortal Kombat 1[88] (2023)
- Nickelodeon All-Star Brawl 2 (2023)
- The King of Fighters XIII: Global Match[89] (2023)
- Granblue Fantasy Versus: Rising[90] (2023)
- Tekken 8[91] (2024)
- Dragon Ball FighterZ[a](2024)
- SNK vs. Capcom: SVC Chaos (2024)
- Marvel vs. Capcom Fighting Collection: Arcade Classics (2024)
- Virtua Fighter 5 R.E.V.O.[92] (2025)
- Capcom Fighting Collection 2 (2025)
- Daemon Bride: Additional Gain[93] (2025)
- Slayers for Hire[94] (TBA)
- Fly Punch Boom![95] (TBA)
- Rushdown Revolt[96] (TBA)
- MerFight: Curse of the Arctic Prince[97] (TBA)
- Stormgate[98] (TBA)
- Metal Revolution[99] (Cancelled)
See also
Notes
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.