In the old days there have been tons of dual-player games out there – we have met at home played as long as possible (until mom’s stopped us and we’re forced to go to some place else to continue playing)
So wouldn’t it be awesome if we could play the games of our youth together with our childhood-friends?
A Dual-Player Top-Level connection via a custom remote desktop like Server – Client protocol.
So – instead of trying to write for each emulator a custom program – the connection is established via raspbian at low-level hardware access.
So Player 1 starts the game-server and afterwards an emulator on the host raspi.
Player 2 starts a special client “emulator” which is pretty much nothing else but a remote desktop client sending the local input while seeing the servers screen content.
The server streams the hosted game via ffmpeg to the connected client and listens to the client user input.
The client plays the ffmpeg stream and sends the local input.
I know this is quite an ambitious project – probably big enough to get it’s own top-nav button 😉
I suppose that the server raspi wouldn’t be able to send full hd quality over ffmpeg – but – most of games don’t need such a high resolution anyway.
And- dual player against each other will never be very fair – as only the client would suffer from all the delay (receiving – sending).
It might also be quite tricky to guarantee a similar screen setup so that just writing to the framebuffer is possible.
A client input mapping needs to be developed…
Imagine to play with two pi-boys via a twisted pair cable or wifi?
Or have the client running on an debian desktop machine and save the stream to file to record gaming sessions?
A way to establish the ip connection user friendly – maybe via a php script on a internetserver… This all needs to be sorted out.
Here are some links I stumbled upon doing some research. ffmpeg.org
I would love online multiplayer to be available for this project. I could swear that some of the SNES emulators i used to play as a kid on the PC about 15 years ago were online enabled, ZSNES or SNES9X offered online capabilities, so you could connect to players over the internet via the emulator and then play together.
There were the occasional problem with de-sync or lag, but in general a save state and reconnection would sort that out.
I would love to see this a as an enhancement request of RetroPie