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

[FEATURE] Create Deathmatch gamemode #917

Open
agustinesco opened this issue Sep 11, 2024 · 0 comments · May be fixed by #980
Open

[FEATURE] Create Deathmatch gamemode #917

agustinesco opened this issue Sep 11, 2024 · 0 comments · May be fixed by #980
Assignees
Labels

Comments

@agustinesco
Copy link
Contributor

agustinesco commented Sep 11, 2024

We want to create another game mode

Create a new game mode that will go as follows:

  • There's no zone that kills the player
  • Players re-spawn some time after dying
  • The match will end after a fixed time and the winner will be the player with most kills

Implementation Concerns

Things to Change/Add

  • Game Mode Configuration
    Add the game mode to the game configuration (passed through matchmaking) to differentiate between Battle Royale and Deathmatch modes.

  • Game Initialization Parameters (for deathmatch)
    When the game is created, ensure the following parameters are set:

    • The zone is always disabled
    • Add a configurable game duration timer
    • Set configurable respawn seconds
  • End Game Check
    Keep :end_game_check as it currently is in Battle Royale mode, we won't use it for Deathmatch.

    • Add an if statement to distinguish between Battle Royale :end_game_check and Deathmatch.
    • In Deathmatch, send a message to the game updater process to end the game (and retrieve the winner) after a configurable time.
  • Kill Tracking
    Track kills — already implemented

  • Respawn Queue
    Add a pipe at the end of each tick update to send every dead player to a respawn queue (it's not really a queue, just a function that will be triggered after a fixed time), all of them will be respawned after a configurable time.

  • Respawn Implementation

    • Use send after to trigger respawn after a configurable time.
    • Respawn will restore the player to their initial health and position. (The position could be random too - 2nd iteration)

Second Iteration

  • Tiebreaker Algorithm
    Add an algorithm to resolve ties. -> (amount of deaths, random).

  • Invincibility After Respawn
    Include configurable invincibility seconds following respawn.

  • Game Duration to Frontend
    Send the current time until game finishes information to the frontend.

  • Podium Implementation
    Implement a podium to display player standings at the end of the game (top N kills).

@agustinesco agustinesco self-assigned this Sep 11, 2024
@agustinesco agustinesco removed their assignment Sep 11, 2024
@Nico-Sanchez Nico-Sanchez changed the title [FEATURE] Create deadmatch gamemode [FEATURE] Create Deathmatch gamemode Oct 29, 2024
@tvillegas98 tvillegas98 linked a pull request Nov 8, 2024 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants