GGPO
   HOME

TheInfoList



OR:

GGPO (Good Game Peace Out) is
middleware Middleware is a type of computer software program that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to imple ...
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 The Evolution Championship Series, commonly known as Evo, is an American annual esports event that focuses exclusively on fighting games. The tournaments are completely Open (sport), open and use the Double-elimination tournament, double elimina ...
.


History

Before its creation, GGPO creator Tony Cannon was completely dissatisfied with the 2006
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the Xbox (console), original Xbox, it is the second console in the Xbox#Consoles, Xbox series. It was officially unveiled on MTV on May 12, 2005, with detail ...
re-release of '' Street Fighter II: Hyper Fighting'' after experiencing its criticized online capabilities. 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. The downloadable GGPO client supported many games from
Capcom is a Japanese video game company. It has created a number of critically acclaimed and List of best-selling video game franchises, multi-million-selling game franchises, with its most commercially successful being ''Resident Evil'', ''Monster ...
and
SNK is a Japanese video gaming and interactive entertainment company. It was founded in 1978 as by Eikichi Kawasaki and began by developing arcade games. SNK is known for its Neo Geo arcade system on which the company established many franchises ...
, including ''
Super Street Fighter II Turbo ''Super Street Fighter II Turbo'', released in Japan as is a 1994 fighting game developed and published by Capcom for arcades. It is the fifth installment in the '' Street Fighter II'' sub-series of ''Street Fighter'' games, following '' ...
'', ''
The King of Fighters 2002 ''(KOF 2002'', or ''KOF '02)'' is an arcade fighting video game originally released for the Neo Geo in October 2002, published by Playmore, the spiritual successor to the original SNK. It is the ninth title in ''The King of Fighters'' series ...
'', and
Metal Slug X is a Platform game#Run and gun platformers, run and gun arcade game developed by SNK. It was originally released in 1998 for the Neo Geo (system), Neo-Geo MVS arcade platform as the sequel to the 1996 game ''Metal Slug (1996 video game), Metal ...
through the use of a built-in
emulator In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run sof ...
. Video game companies have also implemented a licensed version of GGPO. Games using it include ''
Skullgirls ''Skullgirls'' is a 2012 fighting game, fighting video game developed by Reverge Labs and published by Autumn Games, originally released digitally for PlayStation 3 and Xbox 360 and ported to various other home and portable systems afterwards. ...
'' and '' Street Fighter III: 3rd Strike Online Edition''. On October 9, 2019, Cannon announced on his Twitter account that GGPO was now
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
and available under the
MIT License The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unl ...
.


Design

GGPO uses a
netcode Netcode is a blanket term most commonly used by gamers relating to networking in online games, often referring to synchronization issues between clients and servers. Players often blame "bad netcode" when they experience lag or reverse state tr ...
technique called "
rollback In political science, rollback is the strategy of forcing a change in the major policies of a state, usually by replacing its ruling regime. It contrasts with containment, which means preventing the expansion of that state; and with détente, ...
". 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. 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


See also

* Fightcade * Kaillera


Notes


References


External links

* * {{GitHub, pond3r/ggpo 2006 software Free and open-source software Middleware for video games PlayStation 3 software PlayStation 4 software Software using the MIT license Video game emulation Xbox One software Xbox 360 software Free software programmed in C Free software programmed in C++