GGPO
   HOME

TheInfoList



OR:

GGPO (Good Game Peace Out) is
middleware Middleware is a type of computer software 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 implement co ...
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 annual esports event that focuses exclusively on fighting games. The tournaments are completely open and use the double elimination format. As with Super Battle Opera, contestants ...
.


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 original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation ...
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 developer and video game publisher, publisher. It has created a number of List of best-selling video game franchises, multi-million-selling game franchises, with its most commercially successful being ''Resident Evil' ...
and
SNK is a Japanese video game hardware and software company. It is the successor to the company Shin Nihon Kikaku and presently owns the SNK video game brand and the Neo Geo video game platform. SNK's predecessor Shin Nihon Kikaku was founded in 1978 ...
, including '' Super Street Fighter II Turbo'', ''
The King of Fighters 2002 ''(KOF 2002, or KOF '02)'' is a fighting game produced by Eolith and Playmore for the Neo Geo in 2002. It is the ninth game in ''The King of Fighters'' series and the second one to be produced by Eolith and developed by Playmore (formerly Brez ...
'', and
Metal Slug X is a Platform game#Run and gun platformers, run and gun video 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 Sl ...
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 so ...
. Video game companies have also implemented a licensed version of GGPO. Games using it include '' Skullgirls'' 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 the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
and available under the
MIT License The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
.


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 infer "bad netcodes" when they experience lag or when their inputs ...
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, w ...
". 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 Client-side prediction is a network programming technique used in video games intended to conceal negative effects of high latency connections. The technique attempts to make the player's input feel more instantaneous while governing the player's ...
, 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 Fightcade is a software client used to enable online capabilities to play of various arcade and home console systems via emulation. Fightcade utilizes networking middleware GGPO to mitigate the effects of network latency on gameplay, and functions ...
or RedGGPO.


Games using GGPO


Games using rollback networking


See also

*
Fightcade Fightcade is a software client used to enable online capabilities to play of various arcade and home console systems via emulation. Fightcade utilizes networking middleware GGPO to mitigate the effects of network latency on gameplay, and functions ...
*
Kaillera Kaillera is middleware designed to aid networked multiplayer play for emulators. The word "Kaillera", also spelled "kaïra", is the verlan of the French word '' racaille'' which is used in reference to "hooligans". History Kaillera was develop ...


Notes


References


External links

* * {{GitHub, pond3r/ggpo Free and open-source software Middleware PlayStation 3 software PlayStation 4 software Software using the MIT license Video game emulation Xbox One software Xbox 360 software