I’m overall really impressed with the way netplay is handled in RetroArch, and how well the netcode performs (GGPO/rollback-style is definitely the way to go for emulation), and myself and a group of friends actually make good use of it. In particular, since not all of us have particularly great connections, we make use of spectate mode so that the one of us with a good connection can run an occasional stream. Unfortunately there are a few small snags we’ve run into from time to time.
The first, and most important, is in regard to occasional desyncs. Sometimes while doing multiplayer or spectating, the game will desync. In multiplayer, this often results in both players just disconnecting from each other and having to rehost/reconnect, but sometimes, primarily when doing spectating, the players will still be connected, but the games become totally out of sync, making the receiving end look like the player has completely lost their minds. Also, whenever the spectating relocates their game window, it increases the delay and increases the chances of a complete desync. I’m wondering if there would be any way to set a hotkey or throw a button on the remote that would allow the host to resync with all connected clients instead of having to quit, rehost, and have everybody reconnect.
Secondly, I’ve never had any luck getting spectators to connect while having two active players, and I’m assuming it’s just not a supported function. Would there be any way to implement this? I imagine it would come with similar challenges as trying to allow for three or more active player connections?