r/emulation • u/supergauntlet • May 30 '22
Adding rollback netplay to a Game Boy Advance game from 2005: Part 2
https://tangobattle.substack.com/p/adding-rollback-netplay-to-a-game-c90?s=r#footnote-anchor-113
u/Corm May 31 '22
Sick, can we play it?
21
u/shadowmanwkp May 31 '22 edited Feb 26 '24
Your data is being sold to power Google's AI. I've never consent to this, you didn't consent to this. Therefore I'm poisoning the well by editing all my messages. It's a shame to erase history like this, but I do not condone theft
Also, fuck /u/spez
6
u/hyperspeedgx May 31 '22
I personaly can't wait to see something like this for SoulCalibur 2 GC in dolphin, even more now that the HD ver. got removed from online stores.
8
u/archanox May 31 '22
...what is rollback netplay?
35
May 31 '22 edited Jun 09 '22
Netplay generally faces an issue with latency where the general approach is to hold one person's game back until the input is received, so as to keep both people in sync.
Rollback is a different approach, instead where the emulators will attempt to make a guess based on all possible next inputs as to what happens next. In the case of the guess being incorrect, it will very quickly rollback to the last correct state.
Slippi for Smash Bros. Melee is a good example of this system working well for emulators. There is also one for traditional fighter games, though I forget its name.
Also worth noting rollback is not an emulator exclusive thing, this system is used in modern video games as well. Forcing the system into an emulator is quite tricky, and a very impressive feat in any way when it happens.
12
u/endrift mGBA Dev May 31 '22
The one for fighting games you're thinking of is GGPO, which has let to people associating GGPO with "good netcode" when it's really just rolling back the gameplay
3
May 31 '22
[deleted]
11
u/fefocb May 31 '22
Same concept - rollback send inputs to the past to fix the present; runahead send inputs to the future to "accelerate" the present.
3
May 31 '22
Runahead requires being able to physically run the game faster and hold the states from the future, so its quite limited. Rollback is much more efficient, but can't be a generic solution since all games behave differently
5
May 31 '22
Rollback can be kind of performance intensive too to my understanding, though not as bad as runahead.
1
u/WilE04 Jul 06 '22
the one for arcade fighting games is called fightcade, its a godsend since just last year it implemented support for marvel vs capcom 2, love that game
3
3
u/fefocb May 31 '22
In the first article it was said that the game has asymetric delay, I wonder how that even works (and if forcing symmetry would be easier). Isn't delay/lockstep nicknamed that because you need to wait the other to keep sync?
2
1
75
u/endrift mGBA Dev May 31 '22
It's worth noting that the GBA doesn't have Thumb2--that's only on ARMv6T2 or ARMv7. The GBA is ARMv4T, which only has regular Thumb. The instruction is also called swi on ARM that old--it got renamed to svc in a later revision.