This release includes features to enable Fightcade integration, including separate target and listening ports to interface with its proxy, legacy game stream/replay support to watch old streams, and player name syncing with the service. After some backend changes for the new replay format is complete and final testing, it should be in the next Fightcade release.
Bug fixes, feature overhauls, and restorations are also a big part of this release. Player name display has now been overhauled, able to handle window resizing as well as properly text size for longer player names. Local replays & Quick Load have also been fully restored for offline games, as well as Training Mode sessions. You no longer have to click twice to exit, and cheats are now disabled when switching between different modes in the emulator.
For upstream changes, @flyinghead has introduced the beginnings of Lua support, allowing you to start scripting modifications in Fightcade. Improved game loading, as well as improvements to GGPO and the emulator itself are also present.
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. If a savestate is available in the saves repo, one will automatically be downloaded for you as you start to host or join a game over GGPO. You may also right-click on a game and press Download Savestate if you do not wish to start the game just yet.
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. Once it is in Fightcade, we won't have to worry about these methods, since their tunnel will be used. These network connection options will always be available to you, if you wish.
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 12A Release Notes
- Fix Match Codes (remove excessive settings reload on ggpo network start)
0.4.15 GGPO Test 12 Release Notes
- Player Name Overlay overhaul, fix text size, allow for window resize
- P2P Player Name Exchange, Match Codes no longer necessary
- Player Info packet overwrites P2P Player Name Exchange, so Fightcade can inject player names without client intervention
- Legacy replay/match streaming support, properly reads and sends old replays/Fightcade match streams
- GGPO: Separate listening/target ports. Required for use with Fightcade proxy
- Training Mode: Restore Quick Load button
- Disable loaded cheats on start outside of Training Mode
- Remove Window Exit Disconnect Toggle, no more pressing X twice to close
- GGPO: Disable Stats overlay by default
- Loads savestate on new replays and streams, ignores savestate on legacy replays
Upstream Flycast net-rollback
branch changes
- Initial Lua support & bindings
- Improved background game loader
- GGPO: Introduce P2P Verification logic
- UI: Allow Cut & Paste on Linux, use SDL clipboard functions for imgui
- pvr: fix SPG_VBLANK_INT reset value
- Fix SH4 scheduler, use common cycle counter