Lightcaster-Studios / Beamerman

Beamerman is a fast-paced isometric action game, in which players fire lazer beams and strategically reflect them to defeat their enemies while trying to avoid catching themselves in the crossfire
1 stars 6 forks source link

Local multiplayer RESET button #179

Open raniceyue opened 3 years ago

raniceyue commented 3 years ago

We have decided in #176 and on telegram that we want the Reset button for the Esc menu for local multiplayer to have the following behaviour

Upon pressing the reset button, the game should reset the game only, and players shouldn't have to redo the player controller detection stage

However, there is one issue: The controller detection is done within the same level blueprint, and the controller information is not being stored in the PersistentGameInstance. Because of this, upon reloading the level, all the player information will be lost.

There are 2 solutions to this

  1. We make it such that we are able to reset the following
    1. Each player's stats and position
    2. All the environment objects e.g., destroyed crates all must be reset to the original map
    3. The timer has to be reset
  2. Implement controller detection in a separate map altogther. However, as previously tested by @beatricetay , storing the player controller information in the PersistentGameInstance will reset all the values for some reason.

Solution 2 is an easier fix, but we have to figure out why the controlelr information gets reset after putting it in the PersistentGameInstance 😢