Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
To have proper and unbreaking animation, rollback frames needs to be within input frames.
Rollback does not help very laggy Internet connection, both side should have stable and robust network connection.
Your input to crouch registering 10ms later might lose you the match in a fighting game and you are constantly doing that for the whole match, meanwhile in an fps you only notice lag in the moment of shooting or being hit.
In a FPS you track player position + facing, general status (weapons, ammo, health, etc.) and what buttons they pressed. Animation is handled by each client and largely irrelevant. Shooting a gun means you hit or miss based on a fairly quick calculation with a hit-scan weapon and anything with a non-controllable projectile is predictable as well. 200 ms lag is noticable, but not completely unplayable and getting it down as low as possible is always preferable. But FPS games rarely have complex inputs, so it's reasonably easy to predict what the situation will be in 500 ms (0.5 seconds). The player probably kept pressing the same directional button within that timeframe and it's not hard to roll back the state if they didn't. RTS is reasonably similar, you just send a more complex state between the players.
For a fighting game a player will only hit if the hitbox of a move connects with the opponent's hurtbox, both of these can change at any point during the animation of that move, which means the machines of both players need to know the exact state of the animations both players do. Since most fighting games base their entire logic on 60 fps, the clients would preferably be in sync with each other on a 16 ms delay. To do that the clients would need to agree upon the state in that amount of time, which means they both have to tell the other what is happening and hear what the other does within that amount of time.
But since fighting games have complex inputs that may rely on frame perfect execution, you can't really rely on 100 ms delays (6 frames) to decide the state of the game. And since the internet connection between players can not be expected to be 100% stable, you can't be guaranteed to have a consistent delay, which makes delay based netcode a clunky solution that also throws off timing of moves that were practiced with a different delay. Rollback netcode is quite similar to what has been used in FPS and RTS games for decades, but for a smooth experience it still needs a solid connection between the players.
As to why the gap, pre-covid the devs (for T8) didnt want to invest money into building a solid netcode.
In general, FGs are like 15-20 years behind on QoL and online features compared to other genres, my guess is the devs don't care unless it impacts their sales.
The push for modern and innovative features didn't come from the big 3 franchises (the ones you mentioned).
- Skullgirls and Killer Instinct have rollback netcode and they were released in the early 2010s.
- The "replay takeover" feature was invented and first implemented (afaik) by a community-sourced dev team that worked on Guilty Gear XX AC+R (they also implemented rollback in it).
During covid it became more obvious that a proper online experience is necessary, so now the devs (T8) are trying to catch up.
It's a little dated now, but one of the more interesting discussions on the topic is NRS describing what they went through overhauling their network implementation during MKX to MKXL.
https://www.youtube.com/watch?v=7jb0FOcImdg
When you have several players you have a server they all talk to. It tracks everything and everyone, and it decides what "truth" is. If you have a great ping to the server it isn't directly impacted by the player with a terrible one. The server may opt to ignore their late updates and the struggle is largely insulated from you since it's between them and the server trying to make sense of their nonsense. Here whoever has the best connection to the server technically can have an advantage over farther players.
In a fighting game, there isn't a server in play. They exist to play matchmaker to find and setup a couple of lonely fighters, but after that, the pair connect directly to one another and have a private conversation.
When it's over, both players' games call to tell the server how it went. The server isn't watching, it has no idea what is happening. It's one connection being shared between 2 people and the quality is a product of everything in between that makes up the connection. If it's long, or garbage, both players will feel it, and what is causing it could be happening anywhere along that long and very complicated line.
It's one of the things that makes knowing someone is plugging so hard. The line got cut somewhere and nobody can actually tell you with any actual certainty where. They only know the game didn't finish but that's about it. It turns to finger pointing having to guess if it was deliberate or not.
The only thing anyone can really do is start making some assumptions and educated guesses about what happened. Attempts at that have often failed or even ended up making the wrong party look guilty (KI). Games may have things in place (yellow cards in SF6) but it's likely hoping they are right most of the time and that will be good enough to discourage people without actually knowing for sure who is doing what
On the plus side, nobody in a FG has an distinct advantage. It's the same connection shared between both players. The same distance, the same ups and downs. It may not work out as fully identically, but things like distance aren't different between players.