Flycast Dojo 0.4.15 GGPO Test 11A
This release is chock full of new features, bug fixes, and flyinghead's newest single-threaded emulation changes, which should help put the input latency closer to nullDC's. If you wish to disable these changes and go back to multi-threaded emulation for the sake of comparison, head to the "Advanced" settings and select "Multi-threaded emulation". Let us know how these changes work for you concerning input latency and reliability.
Test Build 11A includes automatic savestate downloading when one isn't detected. So long as a game savestate is available in the public repo, all you need to do is start the game, and Flycast Dojo will retrieve the latest one for you and your opponent if the matching state.net
file is not available in the data/
directory. Otherwise, it will let you know if you need to manually generate a new one.
For Windows users, you can now right-click on any game entry and get the relevant Wiki & Resource links for any game. This will allow you to instantly load up game tips, move lists, and community information for anything you want to play. If you used the auto-updater, you'll need to get the updated flycast_roms.json
file from the latest release since the auto updater doesn't retrieve that in test 10. Starting from test build 11 onward, this will be automatically updated with each release.
Last, but not least, replays now work for all GGPO sessions! To activate this, just click the Replays button and check Record All Sessions. Replay files will be saved in your replays/
directory for you to watch again at any time. Session streaming, which is required for Fightcade's spectating and online replay infrastructure, is also now supported.
We're nearly approaching the Fightcade release! With your continued testing, we're squashing bugs and making improvements so that it's the best experience we can make it once it's live on the service. Thank you for your continued support, and happy gaming!
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 11A Release Notes
- GGPO: Only decrement localhost port on default port number assignment (19713)
- Fix switched player port on exit, startup
- Disconnect screen toggle & Dojo settings cleanup on exit
0.4.15 GGPO Test 11 Release Notes
- Offline Replays for GGPO Sessions
- Replay Streaming for Fightcade Replay/Spectating Infrastructure
- Automatic Savestate Downloading on GGPO Netplay game launch
- Single-threaded emulation by default
- Auto-Updater: Replace Game Entry definition file on update
- Force Flycast close after network game sessions. (Matching behavior on Fightcade and minimizing unwanted behaviors)
Upstream Flycast net-rollback
branch changes
- Single-threaded mode, refactoring
- GGPO: Lightgun game support
- Refactor screen_width/height
- OpenGL, Vulkan: use VO_BORDER_COL for clear color
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