Check out our Monthly Survey Page to see what our users are running.
We do often include affiliate links to earn us some pennies. See more here.

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
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked 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. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
10 comments

Pikolo Oct 9, 2019
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 Oct 9, 2019
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 Oct 10, 2019
Cool, I hope to see it get checked out by game devs and included and improved.
Shugyousha Oct 10, 2019
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 on 10 October 2019 at 7:00 am UTC
chr Oct 10, 2019
Having 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 on 14 October 2019 at 11:34 am UTC
cprn Oct 11, 2019
This is huge! :O
TheSyldat Oct 14, 2019
Now 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 on 14 October 2019 at 7:40 pm UTC
chr Oct 15, 2019
Now 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).
Shugyousha Oct 20, 2019
Now 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 have majored in Japanese Studies and am currently working as Backend Software Engineer (doing mostly HTTP API development and devops though) so I got the basics covered.

My Japanese is quite rusty since I haven't used it that much since graduation but I hope to be able to produce at least an understandable first version of the documentation in the upcoming weeks. The first translated parts have been committed to the repo already.

I am not only doing it for a "thanks" but also for selfish reasons. I am a (bad) Guilty Gear player who would really like to see better netcode in upcoming Japanese fighting games... :P

It's very well possible that it's not the translation that holds back the Japanese fighting game developers but it's better to have tried and failed than to have done nothing.
chr Oct 22, 2019
Now 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 have majored in Japanese Studies and am currently working as Backend Software Engineer (doing mostly HTTP API development and devops though) so I got the basics covered.

My Japanese is quite rusty since I haven't used it that much since graduation but I hope to be able to produce at least an understandable first version of the documentation in the upcoming weeks. The first translated parts have been committed to the repo already.

I am not only doing it for a "thanks" but also for selfish reasons. I am a (bad) Guilty Gear player who would really like to see better netcode in upcoming Japanese fighting games... :P

It's very well possible that it's not the translation that holds back the Japanese fighting game developers but it's better to have tried and failed than to have done nothing.

Epic. A lot of respect from me. And best of luck.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring 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!
The comments on this article are closed.