Skip to content

Add secrets #1

@Longwelwind

Description

@Longwelwind

Since Ravens works by sharing the state of the game to all clients, this can allow for easy cheating if the game possesses secret information (decks, cards in hand, seed for randomness, ...) since players can check the full state of the game by reading the state of the game sent by the server.

Though, secrets can easily be implemented by adding:

  • A way for actions to be stripped of secret information before they are sent to the players. The local state of the players would be temporarily different from the one of the server.
  • A reconciliation system where the server can send a piece of information to the clients so that the local state of the player can be reconciliated with the one from the server.
  • A way for the state to be filtered when a serialization occur. This must be done since if a player joins after the local state of the player but before it was reconciliated. Since Ravens will send the full state of the game to the joining player, the state should be filtered to make sure this player receives a serialized state without sensitive information

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions