# GGPO

GGPO (abreviação de Good Game Peace Out que significa "bom Jogo fique bem" em inglês) é um middleware desenvolvido para ajudar a criar uma experiência online quase sem lag para vários jogos de arcade emulados e jogos de luta. O programa foi criado por Tony Cannon, cofundador do site da comunidade de jogos de luta Shoryuken e da popular Evolution Championship Series .

## História

Antes de sua criação, o criador de GGPO, Tony Cannon, estava completamente insatisfeito com o relançamento de Street Fighter II: Hyper Fighting para Xbox 360 em 2006, depois de experimentar seus mal recebidos recursos online. Como resposta ao seu serviço, Cannon começou o desenvolvimento no GGPO e lançou a primeira versão no final de 2006. Cannon mais tarde demonstrou GGPO para Capcom, e teve resposta positiva.
O cliente GGPO para download suportava muitos jogos da Capcom e SNK, incluindo Super Street Fighter II Turbo, The King of Fighters 2002 e Metal Slug X através do uso de um emulador integrado. Empresas de videogame também implementaram uma versão licenciada do GGPO. Os jogos que o usam incluem Skullgirls e Street Fighter III: 3rd Strike Online Edition .
Em 9 de outubro de 2019, Cannon anunciou em sua conta no Twitter que o GGPO agora era de código aberto e disponível sob a licença MIT .

## Design

O GGPO usa uma técnica de código de rede chamada "rollback”. Em vez de esperar que a entrada seja recebida de outros jogadores antes de simular o próximo quadro, o GGPO prevê as entradas que eles enviarão e simula o próximo quadro sem demora usando essa suposição. Quando as entradas de outros jogadores chegam, se alguma entrada não corresponder à previsão o estado do jogo reverte para o último estado correto e, em seguida, reproduz as entradas revisadas de todos os jogadores até o quadro atual. A esperança é que as previsões sejam corretas na maioria das vezes, permitindo um jogo suave com mudanças repentinas mínimas no estado do jogo.
O programa cliente pode permitir que os jogadores ajustem manualmente o atraso de entrada nativa em situações de alto ping, criando uma representação possivelmente irregular, porém precisa, ou um jogo mais suave com atraso de entrada.

## Cliente GGPO

O GGPO foi originalmente fornecido com um cliente que permitia aos usuários jogar jogos online com outros jogadores. Um sistema de matchmaking permitia aos jogadores solicitar desafios de outros usuários, enquanto os não participantes podiam assistir a partida e conversar. Uma vez iniciado o desafio, a partida rodava um ROM através de seu emulador pré-empacotado, FinalBurn Alpha. Este cliente foi descontinuado e substituído por outros clientes que fazem uso do middleware de rede GGPO, como Fightcade ou RedGGPO.

## Jogos usando GGPO

* Final Fight: Double Impact (2010)
* Dragon Ball: Zenkai Battle (2011)
* Street Fighter III: 3rd Strike Online Edition (2011)
* Skullgirls (2012)
* Marvel vs. Capcom Origins (2012)
* Darkstalkers Resurrection (2013)
* Dungeons & Dragons: Chronicles of Mystara (2013)
* Divekick (2013)
* Metal Slug 3 (2014)
* Lethal League (2014)
* Rising Thunder (2015)
* Skullgirls (mobile) (2017)
* Pocket Rumble (2017)
* Windjammers (2017)
* Punch Planet (2017)
* Omen of Sorrow (2018)
* Fantasy Strike (2019)
* Them's Fightin' Herds (2020)
* FOOTSIES (2020)
* Coreupt (TBA)

## Jogos usando rollback

* Super Street Fighter II Turbo HD Remix (2008)
* Marvel vs Capcom 2 (2009)
* Touhou Suimusou: Immaterial and Missing Power (2009)
* Street Fighter X Tekken (2012)
* PlayStation All-Stars Battle Royale (2012)
* Touhou Hisoutensoku (2012)
* Killer Instinct (2013)
* Killer Instinct Classic (2013)
* Killer Instinct 2 Classic (2014)
* Eternal Fighter Zero (2014)
* Melty Blood Actress Again Current Code (2015)
* Brawlhalla (2015)
* Street Fighter V (2016)
* Mortal Kombat XL (2016)
* For Honor (2017)
* River City Ransom: Underground (2017)
* Marvel vs. Capcom: Infinite (2017)
* Injustice 2 (2017)
* Umineko: Golden Fantasia (2017)
* Acceleration of Suguri 2 (2018)
* The King of Fighters '97 Global Match (2018)
* Street Fighter 30th Anniversary Collection (2018)
* Lethal League Blaze (2018)
* Mortal Kombat 11 (2019)
* Fight of Gods (2019)
* Samurai Shodown V Special (2019)
* Power Rangers: Battle for the Grid (2019)
* Fight of Animals (2019)
* Garou: Mark of the Wolves (2020)
* Maiden & Spell (2020)
* Mighty Fight Federation (2020)
* The Last Blade 2 (2020)
* Samurai Shodown NeoGeo Collection (2020)
* Super Smash Bros. Melee (2020)
* Fighting EX Layer (2020)
* Spelunky 2 (2020)
* Metal Revolution (TBA)
* Slayers for Hire (TBA)
* Guilty Gear -Strive- (TBA)
* Fly Punch Boom! (TBA)
* Rushdown Revolt (TBA)