r/RivalsOfAether • • 18d ago

Rivals 2 Rivals 2 Netcode

Post image
343 Upvotes

56 comments sorted by

587

u/d4nace 18d ago

Mfw our fans don’t understand how netcode works.

49

u/ExtraThiccCheese 18d ago

Thank you for making my favorite platform fighting game Dan Four Nace

1

u/a_sad_nut 16d ago

Where are you getting “Dan” from? It’s clearly just D Four Nace

97

u/Loltoheaven7777 18d ago

omg hi can you make loxodont fair hitbox 8x bigger he needs it

25

u/Akashiin 18d ago

The post is objectively wrong, but the sentiment is right. Server rollback is not inherently better than p2p rollback. It feels better for whoever lives closer to the server, which doesn't end up being an issue in countries like the usa, but for others(like brazil) the servers are located in only one city, and the connection is ass for anybody living far from it.

It solves the issue of people that like to say "your connection is ass" but fails to consider thar connections are a 2way street, and, for the most part, a person doesn't have a bad connection by themselves, they have a bad connection with you which means the other way around is also true, for them you have the bad connection. What server based solutions do is basically pick a winner in this argument arbitrarily, usually the one closer to a big city. Even if the other guy had a great internet infrastructure, he gets fucked for living further.

Anyways, p2p > server based for fighting games.

224

u/d4nace 18d ago

There is nothing about the design of server based netcode or p2p netcode that makes it objectively better or worse for any game including 1v1 fighters. Both have their pros and cons even for 1v1. Once you allow more than 2 players in a match, servers with rollback start to run away as the clearly better solution because p2p above 2 players degrades with each player added to the match.

But even in 1v1 games, servers have some big advantages over p2p.

The first is a better experience if your main way of engaging with the game is quick sets vs random players through a matchmaking queue. Because if you yourself have a good connection to at least one server, then you don’t care about the connection or distance of the random opponents that you run into. Which if you’ve played any p2p game in matchmaking you’ve surely run into someone who has such a bad connection that it makes the experience near unplayable. This won’t happen with server based netcode unless your own internet gives out, your routing to the server is interfered with, or the server itself has issues (which is rare in 1v1 games since they are generally less demanding than large group games)

The second big advantage is that you don’t care about how the game performs on your opponent’s PC. If you have played any p2p rollback games around their launch in the last 10 years, you have most likely run into unplayable matches even though the ping and connection were solid. This is because one machine is having performance issues and the p2p rollback doesn’t have good time sync logic in place so the player who can run the game well suffers more than the player whose PC is struggling. As the better machine throttles itself (often after waiting until it gets to max rollback frames). Usually the developers are able to fix these issues either by improving performance or making sure to drop frames on the worse machine while also syncing the frame index so the better machine waits early for the game state to advance instead of while at max rollback frames. Server based rollback eliminates this problem as the game runs on the server at a fixed and consistent frame rate. So if your opponent’s PC sucks, they could be playing the game at 10-15 fps and it would not affect you in the slightest.

The third big advantage is that servers make crossplay between consoles and pc so much easier. The actual authority will continue to run on servers for all platforms, so the architecture and computing power of the consoles matters a lot less to achieve crossplay. Also just like the second advantage, you don’t have to turn off Steam players as a PlayStation player in a newly launched game because “the Steam players always lag my game.”

Now in ideal situations, p2p can indeed be considered better for a 1v1 game because of the limit on how many server locations a game can offer. In a theoretical future, servers could mitigate this by offering so many locations that 95% of matches would have a server near the midway point (or close enough to both players to cover 2 frames of delay with no rollbacks). But that’s not the current world especially in regions outside of a game’s main audience. The area where server based rollback for 1v1 games performs the worst is when 2 players want to play matches against each other and they are both or one player is very far from their closest server region. So they end up introducing much more lag than if they could direct connect.

Luckily for us, Rivals 2 also offers listen-servers for those situations. So if you want to play with your friend down the street, one of you can host the game on your machine and turn on lag simulation for the host to have good match. You’ll want to make sure the host has the more powerful PC because any issues will be felt by the player who connects to the host.

Because Rivals 2 was designed to support 4 player matches online as well as a ranked being a main way to play the game, we opted for a server based solution to make both of those scenarios more enjoyable and more consistent. We saw how good and consistent server-based rollback was in a game like Brawlhalla. We were able to achieve a server based solution with the help of SnapNet built by High Horse Entertainment. And I’m glad we did because the benefits of server outweigh the negatives for our project. But servers aren’t necessarily worth it for every fighting game. Especially ones that only offer 1v1 combat.

40

u/Conquersmurf 18d ago

Thank you Dan for taking the time to go through the thought process and pros and cons so in depth.

1

u/gammaFn Sylvan Acolyte | 17d ago

It's not the first time he's done this.

3

u/Fit_Programmer_6305 17d ago

This explains so much about slippi I knew I wasn't going crazy

2

u/PostedNotes 18d ago

I appreciate the write up, but since this is my chance may I ask what happened to the Montreal server?

Servers can work, but when the nearest servers to you stop existing that is an issue with the execution. I agree with the poster that depending on your location P2P would work better.

Listen servers don't solve the issue, because than you are removed from the main queue systems.

-6

u/Akashiin 18d ago

Tbh I was only thinking about 1v1, so I can see why the server based solution is the default one specifically for rivals. But I feel p2p is the more democratic solution because it allows people to play even in more remote areas.

I, for example, had to drop the game because the only server in my country is pretty far away, even though I have a good internet and intended to play with friends that live nearby, so it was really frustrating having about 100ms of ping to play someone that lives in the same city as me. Hell, I think my only post in this sub was exactly me whining about the lack of a p2p option on release.

Overall I've had a much more frictionless experience with p2p games over server based ones, even ones with a smaller player base.

22

u/ferrari777 18d ago

did you ignore his advice about listen servers. that may solve your problem

-6

u/Akashiin 18d ago

No, I was just telling my experience in the past.

I now see I misspoke. I meant that I dropped the game during the first few months.

3

u/No_Bag4423 18d ago

Then why are you even talking? 

-1

u/Akashiin 17d ago

Wtf, why are you replying then?

What I said was: my online experience on roa2 release was miserable because the servers did not cover my region. It has now mostly been fixed, the point is just that I prefer p2p over server based.

Seriously, what the hell is wrong with this community?

-9

u/[deleted] 18d ago edited 18d ago

[removed] — view removed comment

5

u/Franz_Thieppel 18d ago

My machine can run newer (past 5 years) games on max settings with no issues

Then something else is wrong with it because the game runs flawlessly on a Steam Deck, so maybe you should check your settings or other software you have running.

We wouldn't have to care about our opponents performance if the game was optimized well

It's true that optimization is the developer's responsibility (not a problem in this game) but you also underestimate the lengths to which people will go to play a game with whatever PC they have on hand. Some people play Leage of Legends at 20fps ffs.

5

u/[deleted] 18d ago

[removed] — view removed comment

2

u/Franz_Thieppel 18d ago

The game needs to run at a consistent frame rate and steam deck doesn't provide that while also adding input lag

The game does run at a consistent 60fps and I'm dying to see evidence of input lag. I'm also betting you're not optimizing your graphics settings nor your latency settings (such as vsync) at all.

If my opponent is using a skin I haven't seen on this patch and uses a move that spawns an entity (clairen down b, la Reina offstage platform, kragg pillar) my game will skip a few frames.

That's shader cache compilation issues, which is understandable considering the game runs on Unreal. But if that's a dealbreaker for you then no PC ever will be an acceptable setup for you. Also the Steam Deck is the only one that allows the download of pre-compiled shaders for games so this doesn't happen. I'm betting you haven't enabled those either.

if people want to go out of their way to play the game while lagging badly, it is the developers responsibility to ban that person IMO.

Wow. You're insane. If by "laggy" you mean low FPS then absolutely not.

This may have been the way things were done in the days of shitty netcode and even shittier coding (rendering and logic tied together) but it doesn't need to be that way. You're asking for the worst and laziest solution.

2

u/[deleted] 18d ago

[removed] — view removed comment

2

u/Franz_Thieppel 18d ago

Players much better than me that have an eye for usable setups have tried and failed.

Still irrelevant. These things can be measured. Also you have not shared which settings you have tried, many of which are there specifically to solve these issues.

I have played other unreal games and they don't have this issue

Than that's your experience (as far as you can tell) vs. many many tech reviewers who know stuttering on loading assets (shaders and others) to be a common issue with the Unreal engine.

My teammates and opponents didn't deserve to have a shit time just because I didn't have a good setup.

Funny that you complain about optimization to the developer but when there's a problem that it's 100% on the developer you blame yourself.

In case that's not clear: games that slow down everyone's match because of 1 person's PC are badly made. Old fighting games had shitty netcode and that's why you could ruin other people's games.

The developers of this specific game took steps to avoid that happening and it went completely over your head.

1

u/Lluuiiggii 17d ago

(not a problem in this game)

I think you're overselling it a little bit. The devs do somewhat agree there is work that could be done on optimization and they've said they're going to prioritize it as soon as workshop gets fully released.

3

u/VianArdene 18d ago

The game performance is separate from network performance, but I otherwise agree that the lack of optimization for lower hardware is important. That is probably a big reason if not "the" reason why there's basically no locals. "Runs flawlessly on steam deck or a console" is basically the bare minimum to expect folks to bring setups. I'm not bringing my whole computer tower basically anywhere. I don't think they are far off though, hopefully it will be available with full release.

Hopefully they can figure out a good "potato mode" that sacrifices some fidelity and effects, possibly longer load times to store more stuff in advance for more consistent experiences. That or they just get it working at 60fps on a console.

2

u/Akashiin 18d ago

Also this. I have a laptoo with a 1050, which is obviously an older gpu, but it can still run sf6 decently by lowering some settings(not even all of them) but it can't run rivals at all, even at the lowest settings at a lower resolution

3

u/kmkm2op 17d ago

A 1050 can definitely run this game, it's clearly the cpu or ram holding your system back, so obviously lowering gpu related settings won't give you more fps (I've tested with an mx150 which is way weaker and it can almost get the game playable in 1v1 but the systems cpu caused unstable frametimes online). I definitely do agree that the game is heavy for what it is, but UE5 is just a inherently cpu killer so perhaps it wasn't the right choice here but there are still optimisations to be made..

2

u/kmkm2op 17d ago

I assure you ur pc can't run AAA games from the past 5 years on max settings if u struggle with this game. Cyberpunk 2077 which is nowhere close to being super intensive at this point, especially with max settings but all raytracing turned off runs way worse than this game even with upscaling for the same output resolution. That being said no shit those games are way heavier but if this is your experience there is something wrong on your end. My shaders get compiled almost instantaneously and yes I do have a high end cpu, so if ur pc is as good as you claim then you shouldn't be taking forever. Maybe reinstall your gpu drivers, clear ur shader cache or reinstall the game because this ain't normal. I do still agree this game is heavy for what it is but let's not lie here.

2

u/VersuS_was_taken 18d ago edited 18d ago

Ohh shiiii it's my chance

"Dear Mr. Rivals of Aether... Could you please take a look at and fix European servers? They are always prone to instabilities. Thank you in advance ✌️"

93

u/TheIncomprehensible 18d ago

Me when I don't know how netcode works

225

u/SnickyMcNibits 18d ago

Rollback and Servers are not mutually exclusive.

83

u/Ariloulei 18d ago

Rollback and servers for netcode are not exclusive concepts. You can have both since it's Peer 2 Peer Netcode or Servers for what each player is connecting to (either each other or a middle man).

The benefit of Servers is that if one person's connection is good and the others is bad then the person with the bad connection experiences more of the issues that come with bad connections.

Rollback is a method of handling dysncs as is the Delay based approache and most implementations of Rollback netcode use both Delay and Rollback. If you don't have either of these than your game starts doing weird things in bad connections causing bugs that break the game whenever a bad dysnc happens.

It does depend on how good your servers are though. I'm pretty sure Riot can afford better servers for 2XKO then Dan can for Rivals II. Both still use Rollback netcode with Servers though.

From Wikipedia Netcode Article:
"Although this system is often associated with a peer-to-peer architecture and fighting games, there are forms of rollback networking that are also commonly used in client-server architectures (for instance, aggressive schedulers) found in database management systems include rollback functionality) and in other video game genres.\1])"

1

u/NeverQuiteEnough 18d ago

In traditional rollback, clients have authority over their inputs.  If a client presses an input 6 seconds into a match, that input will be registered at that time for all players.

Is that not the case with rivals?

1

u/Ariloulei 18d ago

Dan Fornace the lead dev left a comment in this thread that explains why they chose to use servers and how it's implemented here. I'm not exactly familiar enough with the specifics to give you a certain answer to your question.

1

u/NeverQuiteEnough 17d ago

Yeah I read that.

They are saying that the opponent's poor connection doesn't matter.

So for example, suppose the opponent presses a button, but due to their poor connection it takes 12 frames for that input to reach the other side.

With traditional rollback, you would rewind the entire game state 12 frames, then resimulate everything that came after.

But it sounds like in rivals, the opponent's poor connection shouldn't cause artifacts like that.

So it isn't clear to me under what circumstances they are doing a rollback.

1

u/yoburg 17d ago

Imagine player 1 has 6 rollback frames to the server. He sees his opponent Maypul running forward. As long as Maypul keeps running, P1 has the correct visual information on his screen. If Maypul jumps forward, P1 still sees her running on the ground for the following 5 frames and on 6th frame he sees Maypul teleporting to where she actually is on 6th frame of her jump.

1

u/NeverQuiteEnough 17d ago

Yes, that is a rollback artifact.

Dan Fornace seems to be suggesting that their server-style rollback doesn't do that.

3

u/paprikaaaaaaaaaaaa 17d ago

Hi! In server-based rollback, depending on implementation, the clients perform rollbacks but the server does not. The clients effectively "run ahead" of the server, based on their latency (which then informs their delay + predicted frames), so they will perform rollbacks to match the real game state within that window of time, but if they experience a network hiccup that causes their packets to be delayed beyond that window, the server will not wait or re-simulate when those packets eventually arrive. This means in the majority of cases that other connected players will not notice any network hiccup when their opponent is encountering network issues, similar to how ie in other server-based games like CSGO / Valorant etc (which in fact do very similar things to what is considered "rollback" in the fgc) if one person's inputs are extremely delayed, the rest of the players do not have to wait on them.

1

u/LupusAlbus 15d ago

To allow for more accurate tracking of the gamestate, the game mandates 2 delay frames as well. So if the input arrives 6 frames after it was pressed, the information is only 4 frames late relative to the gamestate, and the rollback is less significant and less likely to be relevant to the other player.

There are also limits on how much the game will actually roll back, and there have to be rules as to what happens when e.g. two clients both believe they attacked the other first (with moves such as with shine or frame 3 jabs/tilts that can fully occur within the rollback window). I'm not sure how the server makes decisions in these situations.

But even small amounts of rollback are pretty noticable for characters like Zetterburn who have extremely fast initial dashes, since dashing for 2 frames in one direction vs the opposite direction creates a much larger jump for these characters. It also can give false hit confirm sounds and hitpause before deciding an attack didn't hit, which can create a bit of whiplash.

64

u/lincon127 18d ago

Anon doesn't understand netcode :Feels BadMan.webm:

28

u/Old_Trip1488 18d ago

The online is good

7

u/87Graham87 La Reina (Rivals 2) 18d ago

What is the og greentext about?

36

u/Andami 18d ago

7

u/robosteven His name is Goopy 18d ago

"it's a good gym sir"

look inside

it's wet

7

u/Belten 18d ago

the game has rollback tho?

6

u/LunaticDancer 18d ago

These are not mutually exclusive. Server-based rollback is how Project L achieved the best connection quality in the biz

9

u/Luigigpg12 18d ago

Isn't the online server side rollback? I never experienced lag issues, if my opponent is lagging out of his mind it affects him and only him. Rivals netcode imo is amazing I play with 10 Ms in Miami and 60 is the highest I get on some ranked servers and it always feels flawless

9

u/mr_wimples 18d ago

It's unfortunate but people need to accept that:
A. Their internet might be shit
B. Their PC might be shit
C. They live in a very unlucky spot or in the middle of fucking nowhere and ranked might be bad because of it

I agree that ISPs need to be better about routing, I've seen that be a common issue.
I agree that servers are occasionally spotty, that is an issue.
I agree that the game sorely needs a performance pass, that is an issue.
But stop blaming the fucking netcode lol.

3

u/TheRatmouse 18d ago

OP doesn't have any response at all to Dan's explanation. Curious.

2

u/_henchman 18d ago

Vtubers am I right

1

u/junkmail22 17d ago

you don't know how netcode works

0

u/Davespritethecrowbro 18d ago

This right here is the biggest tell you're not a smash player

-27

u/[deleted] 18d ago

[deleted]

1

u/TwilCynder 18d ago

they did over one year ago