-
-
Notifications
You must be signed in to change notification settings - Fork 534
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
[WIP] Initial blind lobby / game support #4175
Draft
past-due
wants to merge
15
commits into
Warzone2100:master
Choose a base branch
from
past-due:2025_01_room_options_1
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
past-due
force-pushed
the
2025_01_room_options_1
branch
2 times, most recently
from
January 13, 2025 01:06
e53f016
to
3e8f5b6
Compare
In a blind game, players' identities are hidden from each other until the game ends.
past-due
force-pushed
the
2025_01_room_options_1
branch
from
January 13, 2025 02:49
3e8f5b6
to
a7bcad4
Compare
past-due
changed the title
Initial blind lobby / game support
[WIP] Initial blind lobby / game support
Jan 14, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PRs enables "blind" lobbies / games.
What is a "blind" lobby / game?
In a blind lobby: Players' true identities are hidden from everyone (except the host) - until the game starts
In a blind game: Players' true identities are hidden from everyone (except the host) - until the game ends
The host (currently, a spectator host) has the ability to see players' chosen player names / identities, and configure all of the game settings as expected (position, teams, etc).
You might want to also consider other configuration options, like blocking free chat, if you want to prevent players in the lobby from purposefully revealing their identities to each other.
What is the new "simple lobby" waiting room for blind lobbies / games?
A blind lobby / game can optionally be configured with an even simpler waiting room, which does not reveal the list of players, but simply:
Implementation Details
When connecting to a game configured in any of the blind modes, each client will generate a unique new "blind identity" which is exchanged and used for communication with other clients. The host will receive the "true" player name / identity on join, which it can verify as appropriate, but will only share the "blind identity" and generic player names / details with all other clients.
Once the game begins (in "blind lobby" mode) or the game ends (in "blind game") mode, the host shares the host-verified "true" player names / identities with all other connected players. These are then "fixed-up" in the replay files so that replays play back with the true player names / identities revealed.