-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CCCR - SF2 - Ad-hoc netplay broken #14547
Comments
As i remembered Capcom Classics Collection Reloaded is using GameSharing feature which is not implemented at all on PPSSPP as of now. Is there any other multiplayer mode on this game? |
Okay, i managed to test Street Fighter 2 Hyper on localhost, multiplayer worked fine on Debug build but getting Communication error on Release build.. something may need to be slowed down i guess |
probably already figured it out by now, but if anyone still curious .. need to get into game, then it shows a versus and deluxe mode. Do let me know if you need anything. Will try to do my best. |
Good thing you can play all of the games in the collection on other emulators. |
There aren't many (good) options on android atm. The few that exist either force you to have a Google account as they rely on Google play services for online multiplayer. Or have terrible default controls (retroarch), you can edit the controls manually by textpad, but it abit of hassle / pain, nobody is gonna do that. They should really make it easier to modify controls on android. Is rollback netcode something that the game dev's have to implement or can it be later added through emu? I ask because certain psp games could really benefit (street fighter alpha 3, possibly darkstalkers aswell). |
Rollback netcode is implemented by the game dev, usually combined with action prediction. The game will predict a sequence of actions based on player's habit, for example when a player do a forward jump during a fight they will most likely do a flying kick or assuming the player is keep pressing the last button(ie. jump button), so the game makes this assumption and do a kick even before that player pressed the kick button, but if after a certain time (usually a few milliseconds) the packet that was received wasn't saying it's a kick button, then the state of the fight will be rolled back to before the kick was predicted. This prediction + rollback is done to make the game have less delay, eventho in reality there were delays (due to latency) on input button over the network. PS: Predicting player's habit may only exist on newer games nowadays, while old games will most-likely do the easy prediction, which is assuming the player is keep pressing the last button. https://arstechnica.com/gaming/2019/10/explaining-how-fighting-games-use-delay-based-and-rollback-netcode/ |
Fmulators/Frontends like FightCade got rollback netcode in them. Android is not a good candidate for rollback netcode because most of the devices use Wi-Fi... To implement GGPO into the emulator one will need to use this SDK : https://github.com/pond3r/ggpo |
GGPO SDK only suitable for game developers and emulators that emulate devices that doesn't actually have network support (ie. NES, SNES, Genesis, etc). While games that originally support network multiplayer have their own implementation of netcode, input reading, and state synchronization which are designed specific for each games by their developers. |
Talking in general about other emulators that could implement it on Android. |
I think the only way to solve this "TCP merged packets" issue is by implementing PTP protocol using datagram/UDP or raw socket instead of TCP socket, so the packets will remains intact without being merged/concatenated, but this will be like reinventing the wheel of TCP, which can be complex and there is also an issue of compatibility with pro-online and other emulators too. |
What happens?
Communication error occurs when doing versus mode and deluxe versus mode in street fighter 2 champion and hyper editions. This is from capcom classic collection reloaded (USA version). This was tested on ports 1500, 10k and 60k of socom.cc and 2500 on sushi. The rest of the games in this collection probably do not work either, but I lost the patience to test them all.
What should happen?
I should be able to play with my friend, like every other game that works properly that is.
What are you using?
What hardware / device and operating system?
Pixel 4a. Pixel OS. Stock Android 11.
What graphics card (GPU) or mobile phone model?
Adeno 618 / Sunfish.
What PPSSPP version (standalone/official), and did it work before?
1.11.2-432 and 1.11.3-742, not sure if it worked before.
Which game or games?
ULUS10134
Checklist
The text was updated successfully, but these errors were encountered: