You can sign up to get a daily email of our articles, see the Mailing List page!

GGPO, a rollback networking SDK for peer-to-peer games has gone open source

Posted by , | Views: 7,602

Oh how I do love to see more projects go open source! GGPO, a rollback networking SDK for peer-to-peer games that's designed to help hide network latency in fast-paced games that requires precise inputs is now on GitHub.

Created originally by Tony Cannon, one of the founders of the Evolution Championship Series (EVO), GPPO is a well-known middleware in the fighting game scene. It's used in a number of games including Skullgirls, Brawlhalla, Fantasy Strike, Dragon Ball: Zenkai Battle, Killer Instinct and the list goes on. Cannon announced the change in licensing on Twitter earlier today.

Traditional techniques account for network transmission time by adding delay to a players input, resulting in a sluggish, laggy game-feel.  Rollback networking uses input prediction and speculative execution to send player inputs to the game immediately, providing the illusion of a zero-latency network.  Using rollback, the same timings, reactions visual and audio queues, and muscle memory your players build up playing offline translate directly online.  The GGPO networking SDK is designed to make incorporating rollback networking into new and existing games as easy as possible.

Since it's now under the MIT license, any game developer can now make use of it for their games with it being free for commercial and non-commercial use. Hopefully now other contributors can also sort out anything needed for the Linux side of it including documentation, examples and whatever else.

See the official site here, GitHub here.

Hat tip to Andrew.

Article taken from GamingOnLinux.com.
12 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more information here.
About the author -
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
Pikolo 9 October 2019 at 1:41 pm UTC
I think Rocket League is using something similar. Unlearning to account for lag is... more challenging than one would expect, especially because if the lag gets too bad it results in undefined behaviour.

All in all, rollback networking gets a big no thanks from me for now.
STiAT 9 October 2019 at 7:16 pm UTC
Interesting. Wondering why the step was taken.

Not that I am particularly hyped with rollback networking, but it's one way to tackle the issue.

It's good we have a solution to this in the open source world with MIT licensing now. Can't hurt right?
ElectricPrism 10 October 2019 at 5:21 am UTC
Cool, I hope to see it get checked out by game devs and included and improved.
Shugyousha 10 October 2019 at 6:59 am UTC
For fighting games, this is a godsend. Fighting games rely on millisecond timing (1-frame links are a thing and fighting games usually run at 60 FPS so the time window to hit for one frame is 16.666 ms). If you are playing a game that relies on delay-based netcode against someone, you may have 2-8 frames of delay which can throw off all the timings for the combos you trained.

Having the game roll back transparently in case of wrong predictions but not letting you experience any delay makes sure that you can actually make use of all the timings that you trained before. Of course, some times the connection is bad which makes the prediction more likely to be wrong resulting in more roll back. I would argue that is still preferable to playing a game where everything is delayed. This trade-off also depends on the implementation of the roll-back netcode of course. As far as I know, GGPO is the highest regarded implementation so Tony open sourcing this is amazing to see.

Now I just have to start with the Japanese translation of the library documentation...


Last edited by Shugyousha at 10 October 2019 at 7:00 am UTC
chr 10 October 2019 at 9:13 am UTC
ShugyoushaHaving the game roll back transparently in case of wrong predictions but not letting you experience any delay...

I found a 60 minute GDC talk about rollback networking, but that might take a long time to getting around to. Would you mind trying to explain how does the transparency work for rollback networking? Thanks.

EDIT: I watched almost half of that talk and I'm not interested enough of low-level game optimization currently to watch the rest of it.


Last edited by chr at 14 October 2019 at 11:34 am UTC
cprn 11 October 2019 at 7:25 am UTC
This is huge!
TheSyldat 14 October 2019 at 7:38 pm UTC
ShugyoushaNow I just have to start with the Japanese translation of the library documentation...

Dude if you can perform a translation of that magnitude on your own then get on it right now the quicker the better.

We've been dealing with japanese made games that continuously refused to use or even DEVELOP ON THEIR OWN anything like GGPO so the faster you get a japanese translation of the ground the better.
Because for real that's the only fucking thing that's gonna get japanese studios to finally cave and get on with times at long fucking last !!!

Guilty Gear would have retained its audience had it used rollback
King of Fighters would have retained its audience had it used rollback

Etc

For real that's the only thing that's missing, making it open source is a good huge step but if it ain't available in japanese then making it open source will be a useless move. And we will STILL be stuck with horrendous netcode in fighting games from japan .

So if you can translate

DO IT NOW !!!


Last edited by TheSyldat at 14 October 2019 at 7:40 pm UTC
chr 15 October 2019 at 5:03 pm UTC
TheSyldat
ShugyoushaNow I just have to start with the Japanese translation of the library documentation...

Dude if you can perform a translation of that magnitude on your own then get on it right now the quicker the better.

...

So if you can translate

DO IT NOW !!!

The sentiment is respectable, but could be perceived disrespectfully. Ask yourself if you honestly are capable and motivated to persist in pouring hundreds of work hours into this project for a "thanks" yourself? If yes, then you are a very rare human being indeed.

It is presumably not trivial by far. The translator should be familiar with low-level game architecture and programming terminology in both Japanese AND English. I think that is a very rare talent to come by and probably have better things to do with their time.

I think the best here would be to organize a IndieGoGo/Kickstarter/etc campaign to fund the translation and then contact people from all kinds of fighting game communities to share the news for those who care (Reddit, Forums, bridge the gap to Japanese communities as well). You also need a succinct explanation in Japanese why this is a good thing (if you want to increase your chances of funding the translation).
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!

You need to Register and Login to comment, submit articles and more.


Or login with...

Livestreams & Videos
None currently, submit yours here!
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts