This release features input improvements by moving the polling from the UI thread, to the main emulation thread. In plain english, this means you should have less frame delay since it is captured in the same place the game is being controlled. Thanks to RossenX for the tip regarding this. More input tweaks to mitigate dropped inputs are coming very soon. Offline replays also work for all games sans analog controls. Once I am able to hook this up for server transmission and run this through some more testing (by you, our wonderful tester), Fightcade inclusion should be imminent. Macro additions and bug fixes also included.
Flycast Dojo's GGPO test builds include the latest changes from the net-rollback
branch of Flycast, along with customizations and easy savestate retrieval so that you can immediately start playing rollback netplay matches for games that are confirmed to work. This should serve as an easier way to get started with the changes found in the Flycast GGPO test builds. This will be updated as more changes are introduced upstream.
As a note, this will not integrate with Fightcade just yet. These builds exist to facilitate testing in the standalone client for now. Compatibility with Fightcade will be in future updates.
To get started with GGPO support:
- Load your BIOS files (
naomi.zip
,awbios.zip
), and your games in the includedROMs
directory. Valid romset information can be found here. - Map your controls by going to Settings -> Controls, and clicking Map by your input method of choice. Set Port to A. Be sure to set both Dreamcast Controls and Arcade Controls to account for all games.
- Head to the Dojo tab. Under Netplay Method, make sure GGPO (experimental) is selected and Match Codes is checked.
- To host a game, select HOST on the drop down menu on the right. To join a game, select JOIN. Then select your game from the list.
- If the game you want to play is in yellow, that means that there is no default savestate for netplay detected for it. Just right click on the game itself and click "Download Savestate" to download the newest version of the game's savestate from the Flycast Netplay Savestate repository.
If one isn't detected, you are free to create a savestate of your own, rename it tostate.net
and place it in yourdata/
folder. Send it to your opponent to do the same.
6A. If you are hosting, you will be given a Match Code to send to your opponent. Just click Copy Match Code and paste it to your opponent.
6B. If you are joining a game, copy your opponent's Match Code and press Paste. Press Start Session to head to start your GGPO Session.
- Select your frame delay, if applicable. To get a suggested delay value to minimize rollback artifacts, click on Detect Delay. You can press this several times to update the current ping response from your opponent. Increasing delay is recommended for ping rates above 100ms. Players typically set their frame delay values to match, but it is entirely your preference.
From there, a game session should start once a connection is established.
If Match Codes don't work, just switch the Connection Method from Match Code to Direct IP and enter your opponent's IP address. If their Public IP doesn't work, consider using a Virtual LAN service like ZeroTier or Radmin VPN to simulate a local LAN.
If your game of choice is unsupported by GGPO, you can fall back to Dojo's delay netcode by selecting Delay under Netplay Method.
Flycast GGPO support is still experimental. Please let us know of any issues you encounter, with full details of your build and the steps you took, in the Flycast Discord.
0.4.15 GGPO Test 10 Release Notes
- Macros: Add 1+2+3+4, 2+4, 1+5
- Fix Player port Switching by checking on Flycast launch & game exit
- Fix Match Code not resetting between game sessions
- Offline Replays: Working NAOMI/AW/Dreamcast replays sans analog
- Update input state on emulation thread instead of UI thread (Thanks RossenX!)
- Remove memory restoration before GGPO session, rely on savestates instead
- Updated dipswitches and savestates (Thanks to RadiantAnsel and The Cool Pup!)
Upstream Flycast net-rollback
branch changes
- GGPO Less logging
- Input: Fix arcade mode for on-screen gamepads
- NAOMI: Default free play eeproms embedded for many games