Skip to content

Host needs to control all player properties #22

@pnill

Description

@pnill

At the moment, a client determines their health, ammo, and weapon wheel (which includes ammo technically). The client shouldn't be able to determine this information, and the host should instead control it.

This is probably a duplicate of other issues, which would ultimately be sub-tasks to this, but ultimately the host needs to determine and update everyone with what it sees in terms of how much ammo they have, what weapons they're holding in inventory and what their health is as well as any other properties such as powerups.

It's cheaper to not care about any of this, but it will ultimately result in either desync or cheating.

The total of properties that should be synced/broken down into sub-tasks are as follows:

  • Weapon Wheel (This includes: weapon states, ammo, weapons, alternative ammo, currently held by a player).
  • Health and or Damage
  • A player's death.
  • A player's death animation.
  • A player's animation in general.
  • A player's score display.
  • Crouching or Jumping
  • Powerups held

Any others like position, view angles, firing, etc. They are excluded as they're synced already and should not be host-controlled, as while it can enable 'cheating', it will ultimately ruin the experience to force them to wait for the host to determine if it's acknowledged they want to commit a specific action and relay it back to them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions