decentraland / unity-explorer

Apache License 2.0
8 stars 11 forks source link

[QA] Minigames - Multiplayer Queue Overlap in Tetris (-121,-59) #2217

Open Ludmilafantaniella opened 2 weeks ago

Ludmilafantaniella commented 2 weeks ago

Explorer Alpha build versions:

Issue Description:

In the Tetris multiplayer game at (-121,-59), two users can play at the same time, but their game queues overlap, causing one user to see the other’s pieces.

STR:

  1. Launch the explorer.
  2. Go to Tetris at (-121,-59) with another player.
  3. Start playing simultaneously.
  4. Observe if one player sees the other’s pieces.

❌ Actual Result

Both users' queues overlap, and one player can see the other's pieces.

✅ Expected Result

Each player should see only their own game pieces, with no overlap.

Additional Notes:

Windows 11. 12th Gen Intel(R) Core(TM) i7-12650H 2.30 GHz. nvidia geforce RTX Macbook M1 Pro Sonoma 14.5

Ludmilafantaniella commented 1 week ago

I was able to reproduce the issue in v0.33.0. Following this STR, I was able to get both players to enter the game simultaneously, causing the game to get blocked due to issue 2218.

STR:

  1. Launch the explorer with 2 different accounts (one per platform).
  2. /goto -121,-59
  3. Click on Play with one account.
  4. After some seconds click on Play with the other.
  5. Observe that the second avatar joins the game and blocks the screen.

This only happens the first time I teleport; afterward, it works as expected.

https://github.com/user-attachments/assets/bd20e056-b9d0-43a4-a86b-ee5b36382990

image

dzsunyec commented 1 day ago

I placed a virtual camera for the player and teleport the avatar to the side of the screen, so multiple avatars never block the view at least. I'm also now hiding all other avatars around the game screen when you enter a game, so they don't overlap.

This being said, two players should never be able to jump into the same game unless we deploy it in a single-player mode we recently added. This is an ongoing issue with the SyncEntites used for the multiplayer queue, which remains unsolved to this day.