Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

The issues for rollback in 3D fighting games, and a solution.

199,279 Aufrufe • vor 8 Monaten •via X (Twitter)

47 Kommentare

Profilbild von Dan Fornace
Dan Fornacevor 8 Monaten

This is close to the reason but it’s not really having animation driven data that causes issues. Many fighting games with 3D graphics are using skeletal data to drive hitboxes and hurtboxes and most are deterministic and can support rollback netcode. What gives 3D games issues is that they tend to use animation blending which is often not deterministic and can be expensive for rollback when it’s programmed to be so. Smash Ultimate uses animation blending sparingly which would make rollback a lot harder to achieve depending on how it was programmed. Especially since having ice climbers means there’s up to 8 character entities in a 4 player match.

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

Thanks for the reply. I am responding back as an image because of Twitter text size limits 😅

Profilbild von Dan Fornace
Dan Fornacevor 8 Monaten

I’m not sure how much the distinction matters if you are only using authored animations. Since in a lot of projects, developers would “bake” the animation data to make it deterministic which is pretty similar in practice to having all the data in just code. You could have a fully separate logic layer and then use animation blending but then you run into the issue where the collisions don’t match the visuals if you don’t also try to calculate the blends programmatically. And based on how our fans react to our hand authored hitboxes and hurtboxes at times, you might get some angry players if the delta between code and visual is too much :D

Profilbild von Krackatoa
Krackatoavor 8 Monaten

I think it wouldn't be beyond devs to build a tool to automate 3D hitbox generation from existing assets. Still a lot of work, but definitely an exercise in tool-making over manual fiddly labour with hitboxes.

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

YouTube version:

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

To answer common replies, see here:

Profilbild von 上原 rickstah
上原 rickstahvor 8 Monaten

Would you say VF is more code driven since it has a very basic RPS system in which throws>guard>attack>throw

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

RPS system doesn't matter in this context. It's mainly about how hitboxes (attacks/throws) are positioned and especially how they make contact with a hurtbox (on block/hit). Games with more # of hitboxes and complex collisions (walls, rotated kharacters, etc.) will be harder

Profilbild von Memz
Memzvor 8 Monaten

i experienced this first hand, good video. cool shit

Profilbild von Koenji
Koenjivor 8 Monaten

Very good explanation, for something like Tekken it would be intresting but it would heavily affect the feel of the game all around. Tekken, from my understanding, has had the same scripts driving interaction since forever, so we would never really see a pure code solution for a game like that. For games that really want to opt for bone-based bone placement, maybe a hybrid that re-sim just the root location could be feasible, maybe representing skeletons with fixed float equivalents could be interesting, never tried really, but just a thought. I think a Gundam VS-like game could have really solid rollback, as that wouldn't need to rely on anything bone-based.

Profilbild von ILL | OZI- G -BE
ILL | OZI- G -BEvor 8 Monaten

This video is so good, it makes sense why all these 3d games take a long time for rollback to be added retroactively Do you have a YouTube?

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

I do and I just uploaded the same video, but I don't do too much there.

Profilbild von ILL | OZI- G -BE
ILL | OZI- G -BEvor 8 Monaten

Subbed regardless Thanks man🙏🏿

Profilbild von SonOfChar0079
SonOfChar0079vor 8 Monaten

@JWonggg And yet somehow Virtua Fighter 5 R.E.V.O. World Stage fixes that & plus it's a much older game so it was easy for @SEGA to implement rollback on it imo.

Profilbild von GUAMO @ home
GUAMO @ homevor 8 Monaten

That Injustice 2 video is such an interesting watch

Profilbild von Mark Parks
Mark Parksvor 8 Monaten

I’m sorry but I fundamentally disagree with the premise stated here. As demonstrated in Slippi Melee, ROA2, and even Injustice (2013 on the PS3 resimulating 10 frames every frame) skeleton pose calculations are not at all a limiting factor. Data Serialization is more important.

Profilbild von Frazer
Frazervor 8 Monaten

Honestly I dont see rollback in 3d is much more complex than rollback in 2d unless you're trying to modify it into an off the shelf engine like Tekken with UE. Maintain the engine structure of a 2d rollback gamr its just a matter of changing the game logic itself to be 3d

Profilbild von INKD
INKDvor 8 Monaten

Fully inspired 3D VF inpsired Fighting Games live and dies on its 'feel' so if the feel is fucked, thats gonna mess with the game in almost every way possible. Sounds like a very difficult task for implementation more or less

Profilbild von deathbed detective 🌿
deathbed detective 🌿vor 8 Monaten

never seen a good explanation of the problem before, great stuff

Profilbild von Jeff Pierre
Jeff Pierrevor 8 Monaten

Great job and explanation!

Profilbild von TATSU THE WICKED ✪
TATSU THE WICKED ✪vor 8 Monaten

agreed. fighting games definitely need to utilize this knowledge moving forward

Profilbild von zota - I’m HOME!
zota - I’m HOME!vor 8 Monaten

So that explains why no arena fighter has rollback 😭

Profilbild von Genesis | MIOM | Dr. Z
Genesis | MIOM | Dr. Zvor 8 Monaten

For animation-driven systems, what about adding a sort of "shadow" character model that is greatly simplified to reduce calculation time, but is never actually rendered on screen, it's just there to do rollback calculations on? Introduces a tradeoff between fidelity/latency

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

I believe that is one optimization that will improve it. However, it will now also lose "visual accuracy" as well as still being reliant on the animation engine. So, it'll work but I wouldn't prefer it.

Profilbild von huffy
huffyvor 8 Monaten

that was very interesting! i have a good idea of how rollback works so i knew most of it but i didn't realize 3D fgs were animation-driven and that's what made actual rollback impossible to implement as they work now.

Profilbild von Paul Daulby
Paul Daulbyvor 8 Monaten

I don't think this is accurate. You can run and rerun 2 characters animations thousands of times a frame and end up in the right place every time.

Profilbild von Armonté
Armontévor 5 Monaten

i fucking love gemion function

Profilbild von Scrublax_VGC/FGC
Scrublax_VGC/FGCvor 8 Monaten

Rebirth of souls rollback possible? 🥹 Rollback of souls? 🥹

Profilbild von Yoshi Cookie — SoulCalibur Kilik Main
Yoshi Cookie — SoulCalibur Kilik Mainvor 8 Monaten

Thank you. This is why SoulCalibur is nearly impossible in rollback.

Profilbild von Vincent Parizet
Vincent Parizetvor 8 Monaten

Computing 2 skeleton poses per simulation is cheap. The fact that "rollback is difficult in 3D games" has nothing to do with it.

Profilbild von takaiyo
takaiyovor 8 Monaten

I'm surprised you didn't mention camera jerking when talking about the downsides of 3d rollback. I'm sure there are solutions/alleviations, but when a character quickly sidesteps 180 degrees around the opp but the game state needs to roll back, the camera could be nauseating.

Profilbild von nemzaki
nemzakivor 8 Monaten

That’s exactly how I did it in my game without issues, I’ve notice no lag and works really well

Profilbild von Piffy🏳️‍🌈🇩🇪
Piffy🏳️‍🌈🇩🇪vor 8 Monaten

This Sounds Impossible for Games Like Tekken.. We talking about 80+ moves per character with complex Animations that would Not reuse the Same Hitbox coordinations .. its a great Idea to have Them Animation based.. espacially since its also easier to adjust the attacks that way

Profilbild von mimiPuffurPish
mimiPuffurPishvor 8 Monaten

aren't smash Bros things kind of animation driven as well because it's based off of like attached at the bones of the character like how donkey Kong has a tie hurt box? And they figured out rollback pretty good. I mean smash is literally called a 3D game

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

@bommunu Who is the "they" in "they figured out rollback pretty good"? I am not 100% familiar with that series. If "they" meant the original devs, isn't the online horrible? If "they" meant a mod, that's most likely "emulator rollback" and not "native rollback", which is a separate topic

Profilbild von Jorge ~ Sun Spirit
Jorge ~ Sun Spiritvor 8 Monaten

@bommunu Rivals of Aether 2 uses hitboxes attached to the skeleton and still has rollback netcode.

Profilbild von mimiPuffurPish
mimiPuffurPishvor 8 Monaten

@RichardWinz Don't use that shit as an example. I glaze the fuck out of that game And I swear to God it's like not good dude The server-based is just not the play for that

Profilbild von Magic in Charge No.2
Magic in Charge No.2vor 8 Monaten

In Tekken, the movement, hitbox and hurtboxes are so precise that syncing them takes a lot of work. The precision is part of Tekken's identity and allows for cool stuff like slow motion.

Profilbild von small head gundam
small head gundamvor 8 Monaten

couldn't you initially have the hitboxes tied to the skeleton and then use a script to save the hitboxes so you can just bake them in? there might be some fuckups with like IK stuff i guess but 90% of the time they'd be accurate

Profilbild von Cain Riviera
Cain Rivieravor 8 Monaten

Solution is massive input delay and input buffers. That's why FGs are bad now

Profilbild von Rodrigo
Rodrigovor 8 Monaten

I don't get it. How would this "code-driven" approach reduce the amount of data that needs to be exchanged between the peers in order to keep the simulation running smooth?

Profilbild von rato
ratovor 8 Monaten

hey is there somewhere where I could learn more about the animation-driven and code-driven concepts?

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

No for any official resource, unfortunately

Profilbild von rato
ratovor 8 Monaten

bummer, thank you anyway

Profilbild von KaijuAlex
KaijuAlexvor 8 Monaten

Thanks for sharing! Did you use the ggpo api for your implementation? Thats cool with getting 4 way. For that implementation is one person hosting the server? Lastly what are any resources you recommend to learn?

Profilbild von Richard Nguyen
Richard Nguyenvor 8 Monaten

To answer just at a high level, study the docs and source code on GGPO's GitHub as well as basic physics (kinematics+dynamics)

Profilbild von ThrustyZol | XBF @ West Coast Clash
ThrustyZol | XBF @ West Coast Clashvor 8 Monaten

For Honor was made by progaming gods then.

Ähnliche Videos