Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make BARONY_SUPER_MULTIPLAYER functional #824

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

elliot-gh
Copy link

@elliot-gh elliot-gh commented Jan 5, 2024

This PR fixes issues with the precompiler directive BARONY_SUPER_MULTIPLAYER and makes it functional (though still buggy). I do not have Steamworks or EOS so this has only been tested both with multiple local instances and LAN mode with port forwarding over internet.

Fixes:

  • Previously, loading an existing save would not work and cause clients to time out while joining the lobby. This is due to NET_PACKET_SIZE being larger than the packet data used to load an existing 8 player save. The chunk_size in lobbyPlayerJoinRequest() is 98 bytes, and the packet length is defined as 8 + MAXPLAYERS * chunk_size, resulting in a total of 792 bytes. The old NET_PACKET_SIZE is 512, which is too small. I'm not sure what's a good number so I just doubled it.
  • Players past 5 would instantly crash upon loading into a game due to xp bar assets missing. I simply reused the assets for players 2-4 to make it playable.
  • There aren't any assets for death boxes past player 5, which resulted in death boxes showing up as doors that would block vision. I simply reused the assets for players 2-4 to make it playable.
  • I was having compilation errors with USE_PLAYFAB off since I didn't have the libraries/includes, so I moved the includes underneath it.

Bugs:

  • There are no assets for death boxes and exp bars past player 5, so the death box, exp bar, and player name colors don't match up. I don't have experience with making assets and I don't believe the license granted for this repo allows us to reuse/redistribute assets, so I haven't created new assets.
  • Players past player 4 will be invisible on the lobby menu, but there are no issues with character creation or once in game.
  • Occasionally there players will desync. I haven't taken a look at how the netcode works to investigate this.

@SheridanR
Copy link
Collaborator

Nice work, we have assets for additional player deathboxes (they actually are designed for color remixing) but not XP bars I think. Ghosts need their own assets too.

@SheridanR
Copy link
Collaborator

We also want to improve the user interface so the lobby browser correctly shows lobbies with greater >4 players, you can adjust the player count properly as a host, kick players, and the default player count remains 4. Raising the player count above that shows a pop-up box talking about instability, game design issues with more than 4 players, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants