Online multiplayer for ZX games with Retroarch and FUSE core

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
Post Reply
truf
Drutt
Posts: 1
Joined: Fri Jun 24, 2022 4:09 pm

Online multiplayer for ZX games with Retroarch and FUSE core

Post by truf »

I would like to share a pack of software and settings for setting up online multiplayer for ZX games with help of Retroarch and FUSE.

The pack contains a patched Retroarch for Win and LInux (buildable sources), patched FUSE core for ZX emulation which is already set up in retroarch, some settings are predefined, 2 game playlists are already set up and a pack of ~300 multiplayer game roms is also included. Playlist is partially covered with a thumbnails.

https://drive.google.com/drive/folders/ ... ZO734t-FSF

In a nutshell a host should unpack the archive, launch Retroarch, enable Netplay/Host/Start Netplay Host and start any ZX game from the playlist or history/favorite lists. This will create a new game room in Retroarch lobby (relay server in Spain is used by default, you may want to switch it at Netplay/Network/Relay Server location to the closest one if you're not in Europe to minimize ping delay).
The other players just need to click on Netplay/"Refresh Netplay Host list", then find the room in the list and click on it. The right ZX rom will be launched and synchronized automatically.

It's better to set up the username at least for the host in Settings/User/Username for more visibility in the lobby. Also rooms in lobby are sorted by this value. Btw, the lobby might be seen online at http://lobby.libretro.com. In case Retroarch can't create a room in lobby for some reason pls check if this site is still online. If it's not - the retroarch multiplayer system is down and it's better to wait 20-30 mins for its reboot.

CONTROLS

The Retroarch hotkeys are available during the game only when Shift is pressed (Settings/Input/Hotkeys/Hotkey enable), bcz most of the games are played via keyboard. Still you may press just S for search a game in a playlist in Retroarch itself.

The Retroarch is set up to share a keyboards among the players. Which means players could accidentally press a key of other player, so redifine keys wisely.
Some games forbid to use keyboard for a second player if it's already selected by a 1st player. And offer Cursor or Kempston joystick etc. You may select a Cursor joystick and play with 0-9 keys (it's difficult). Or, you may connect your favorite joystick and set up its forwarding to a keyboard keys that match Cursor joystick keys with a tool like https://joytokey.net/en/ . The Kempston joystick availability isn't tested due to lack of testers :). I guess it won't work for 2nd player if you just plug in the joystick and select this option in a game menu, but might work for player 1 if selected in Retroarchs quick menu for port 0.

PATCHES

Most of the patches are contributed back to Retroarch project (and merged to the master branch) and libretro wrapper of FUSE core project (not merged due to a lack of maintanance). What is patched:
* FUSE netplay availability was just not implemented - now it's. Core name is fixed to allow automatic content rom detection when joining a host.
* Retroarch now have some changes in UI, always share Sinclair keyboard type of controls during a netplay no matter which port it has, and not set off Host mode if the content is closed (to speed up switching of games needed for ex., if you're broadcasting a dozen of games during a stream).
Post Reply