Add rollback netcode to RUMBLE.
a
adeadzeplin
The main problem I find impeding my enjoyment of the game is the current peer to peer netcode system.
Given the difficulty of writing robust matchmaking to work for a small player-base the issues are clear.
- servers cost money.
- not enough active players to consistently pay for enough servers worldwide to minimize latency.
- the most invested players are the ones penalized the most, by network lag interfering with combos.
- peer to peer minimizes server costs. but this falls apart during low player-volume hours (which is most of the time). And this greatly reduces gameplay quality/enjoyment for players who buy the game only to find out they have to go to a discord server just to find anyone to have a playable match with :/
Well luckily there is a netcode design-pattern that someone has developed to mitigate this very problem!
It's called GGPO (Good Game Peace Out).
GGPO Utilizes a technique called "rollback".
It is open source under MIT License.
Rollback is a form of client-side prediction that is designed for Peer-to-Peer games.
(meaning rollback overcomes lag by predicting what the player does before they actually do it)
It is the ideal solution to the problems with RUMBLE's netcode.
Yes this is a difficult technology to implement correctly.
Yes there are technical limitations to overcome with integrating rollback in a VR game.
But the pay-off?
- A 1v1 fighting game that uses peer-to-peer is the ideal application of rollback to reap it's rewards.
- When players are confident in a good network experience, they'll have a better online experience and will be more likely to keep returning to RUMBLE.
- Encourages focus on core game-play experience.
- Remote players suffer less noticeable network artifacts in-game when playing together over vast distances.
Rollback solves this problem (greatly impacts all skill levels of the game). AND doesn't majorly alter the server architecture (similar server costs)
I understand the dev team is focusing on expanding their playerbase by adding mobile VR support for the meta quest.
I believe rollback should be the next priority to Buckethead's team AFTER completing meta quest support. (Secure your funding first with new players and retain them long-term with good network match quality from rollback.)
I believe that adding rollback to the game will do more to extending the lifespan of this game and it's community; more than any new amount of content the developers could ever release.
I only have 90ish hours played on this game. And it would be far higher if I didn't get frustrated dealing with internet latency thwarting my combos(and fun).
I love this game. I don't want to play around lag, I just want to have fun.
I'm eager to hear other people's opinions on this matter.
Here are some relevant educational resources related to rollback netcode.
Wiki article on Rollback:
Rollback Netcode in Unity & C# Repository:
This^ github repo has an accompanying explanatory video on implementing Rollback in a unity project:
GDC Talk about a Mortal Kombat Dev's experiences migrating to rollback netcode:
Cheers,
Adeadzeplin
Log In
S
Salteddd
When you say it's gonna predict what the opponent does how well does that transfer over to the precise hand movements and positioning? Cause while this might not be the biggest issue, there are situations where holding something slightly higher is the deciding factor for whether or not something hits. And also... if it's not precise enough wouldn't hold and especially flick feel janky to use if there are differences in structure position and rotation for the two players?
Oh and another thing, about how much ping could we expect to shave off using rollback?
S
Superscout8
Salteddd
one method of predictions I have thought of is to keep a vector of how fast the hands are moving and how much they rotate. then assuming that momentum will continue is the prediction. this pretty much covers hold and flick as humans cannot change the speed of their hands on a dime. for poses you can add tuning parameters like that the prediction assumes you are slowing down and assumes you are attempting to move to the nearest pose. with this system the predictions should cover at least 90% of cases and better tuning can get it even better
to you second point. rollback does not remove ping, what it does is hide the effects of ping from the players. so if the question is literal then the answer is none. if the question is how much better will the game feel than the answer is that it will feel as host most of the time. with a few rollbacks throughout the game
S
Salteddd
For your first point about flick/hold: How well would this transition to flight where there in some cases are many small rotations and adjustments to stay on the structure?
And for your second point: I myself am not a master of these things but I know there’s lots of client that would disappear and I think that would be a bit of a shame.
And a third thing: Making rollback for a game like rumble be at least usable sounds like it would be a huge amount of effort on top of pissing off all the client tech enjoyers and sometimes having weird interactions you didn’t plan on having.
I myself would love the idea of double host, but I’m still not sure whether I’d be willing to sacrifice all the client tech and to have the game be a little less predictable, where on client you can at least preemptively react to something and it will go as planned (ofcourse this takes a lot of practice and I’m not nearly as good as some other people).
C
Chimmy
love the effort put in the post, but would they wanted to add 2v2 or 3v3, could rollback be affective there?
S
Superscout8
Chimmy
yes, rollback is a way to connect multiple people together. all it presides over is the communication of inputs. for multiple players, since you already are running the game on your own device, it just needs to track x more player inputs where x is the non local player count
S
Superscout8
this has been put very eloquently. I second everything here. I am fighting to spread the awareness of rollback into the community. anyone who also desires this should do the same. the only way to get the attention this topic deserves is the have numbers behind it
T
TL8VABCZXJUV
anything that makes the connection less volatile between different opponents is going to be an improvement, especially future proofing when the game hits standalone and a large variety of connections is going to flood the game. i dont know the perfect solution, but peer to peer isnt working as well as the diehards like to admit
S
SDRAWKCABMIAY_YT
ooo a nicely formatted suggestion with thought put into it! Love those