Skip to content

Flycast Dojo 0.4.15 GGPO Test 5

Pre-release
Pre-release
Compare
Choose a tag to compare
@blueminder blueminder released this 10 Sep 00:17
· 1811 commits to master since this release

This release now includes Match Codes, allowing you to start a match by simply sharing a code with your opponent generated by a matchmaking relay. This method should work with most home routers and allows you to play without the need to exchange IP addresses or the use Virtual LANs like Radmin VPN or ZeroTier.

ggpo-match-code-select-1

Flycast Dojo's GGPO test builds include the latest changes from the net-rollback branch of Flycast, along with customizations and preloaded savestates 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. This first update is to facilitate testing in the standalone client for now. Compatibility with Fightcade, as well as firewall hole punching through the use of Match Codes will be in future updates.

To get started with GGPO support:

  1. Load your BIOS files (naomi.zip, awbios.zip), and your games in the included ROMs directory. Valid romset information can be found here.
  2. 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.

image

  1. Head to the Dojo tab. Under Netplay Method, make sure GGPO (experimental) is selected and Enable Internet Matchmaking is checked.

image

  1. 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.

image

5A. 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.

image

5B. 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.

image

  1. Select your frame delay, if applicable. Increasing delay is recommended for ping rates above 100ms. Both you and your opponent should have the same frame delay set.

image

From there, a game session should start once a connection is established.

If Match Codes don't work, just uncheck Enable Internet Matchmaking and enter your opponent's IP address.

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. For best results, sharing a common savestate with your friends is recommended.

Included Savestates

NAOMI

Akatsuki Blitzkampf Ausf Achse (ausfache.state.net)
Capcom vs. SNK (capsnk.state.net)
Capcom vs. SNK 2 (cvs2.state.net)
Dead or Alive 2 Millennium (doa2m.state.net)
Marvel vs. Capcom 2 (mvsc2.state.net)
Power Stone (pstone.state.net)
Project Justice (pjustic.state.net)
Street Fighter Zero 3 Upper (sfz3ugd.state.net)
Toy Fight (toyfight.state.net)

Atomiswave

Hokuto no Ken (fotns.state.net)
The King of Fighters XI (kofxi.state.net)
The Rumble Fish 2 (rumblef2.state.net)
Samurai Shodown VI (samsptk.state.net)

Dreamcast

KenJu - Atomiswave to Dreamcast conversion (KenJu.state.net)
Virtua Fighter 3tb (USA) (Virtua Fighter 3tb (USA).state.net)

If a savestate isn't available, you should be able to create one by starting an offline game and getting it to a starting state you would like (character select screen, unlocked characters, free play, etc). From there, open the Menu (TAB on the Keyboard by default) and click Save State. Head to the data/ folder, and add .net to distinguish it from offline savestates and prevent future overwriting. You can then share this with your opponent to start at the same place.

Flycast Dojo also comes with a collection of arcade EEPROMs and select VMU saves with established settings. These should serve as useful defaults for games that already exist when you create a new state.

For more information, check out Shiburizu's Flycast-GGPO guide on the Mizuumi Wiki.

Happy Testing!

0.4.15 GGPO Test 5 Release Notes

  • GGPO Session Match Codes
  • Set GGPO as default method for test builds
  • Set match codes on by default

Upstream Flycast net-rollback branch changes

  • GGPO: Always save delta RAM, disable cheats, fast forwarding, and savestates online
  • GGPO: Fix common assert sync

0.4.15 GGPO Test 4 Release Notes

  • Add Paste button to IP Address field

Upstream Flycast net-rollback branch changes

  • Mutually exclusive buttons per controller, better digital to analog axes conversion
  • DirectX 9: VSync toggle (on/off)
  • Refactor LT/RT, Zero out joystick values if GGPO is active
  • Serialize Modem, Atomiswave coin, Pvr framebuffer state, TA current context

0.4.15 GGPO Test 3 Release Notes

  • Fix Control Mapping loading on game boot
  • Restrict Offline Delay settings to Training Mode
  • Add Atomiswave savestates

Upstream Flycast net-rollback branch changes

  • Fix Atomiswave/Dreamcast issues (Protect all RAM, not just bottom half)
  • Dreamcast: Transmit Right Trigger and Left Trigger as Digital Inputs

0.4.15 GGPO Test 2 Release Notes

  • Fix IP assignment for Host & Guest
  • Fix & Move Delay Selection to connect screen

0.4.15 GGPO Test 1 Release Notes

  • Flycast Dojo GUI integration for GGPO functions
  • Automatic loading of state.net savestates when GGPO is enabled
  • Temporary Disabling of Match Codes by default. Still available for Delay.
  • Disable Savestate deletion in Ignore Netplay Savestates option
  • Set Delay Frame Swapping to false for optimal netplay settings
  • Remove "Press Start" instruction on GGPO network prompt, due to lack of start button

Upstream Flycast net-rollback branch changes

  • GGPO Support
  • Input polling now on rendering thread
  • Add Frame Delay to Settings
  • Static RTC when GGPO is enabled (for games without savestates)
  • UI: Use input from all keyboards
  • Inputs: NAOMI buttons 5/6 & 7/8 shouldn't be mutually exclusive
  • GGPO: Detect frame rate and use it to pause when ahead