Ludii Forum
Bug in remote Reversi - Printable Version

+- Ludii Forum (https://ludii.games/forums)
+-- Forum: Problems (https://ludii.games/forums/forumdisplay.php?fid=5)
+--- Forum: Game Problems (https://ludii.games/forums/forumdisplay.php?fid=17)
+--- Thread: Bug in remote Reversi (/showthread.php?tid=141)



Bug in remote Reversi - zxkyjimmy - 08-17-2020

I found some problems in Reverse/Othello.
In remote mode, if a player plays a move that causes its opponent must pass, the game will crash.

Let’s reproduce in detail.

Moves list: E3 F3 G3 G2 C5 H3 H1 F1 Pass D3

In this case, after the player played F1, Ludii client found that there was no legal move for the opponent, so Ludii automatically dealt with the pass move in order to keep the game going and allow the player to play the next move (D3).

However, this mechanism seemly leads to three fatal problems.

First, the player’s Ludii automatically handled this pass and then tried to send move to database. Unfortunately, the mover was inconsistent with the network player number, so Ludii didn’t send anything to the online server and left a lugubrious sentence, “you weren't supposed to be making this move!”
Second, the opponent’s Ludii ought to be responsible for sending the pass move to online server database. But it didn’t. Furthermore, there was not any button or keyboard input to play the pass manually for the opponent.
Third, no one but the player knew hitherto that the pass had been executed. Therefore, when the player played D3, the opponent’s Ludii started to warn incessantly, “received move was not legal: [Pass:decision=true]”. This situation revealed that the pass move had not been coped with.

BTW, the coordinate Ludii used is different from the convention in Othello. It bothers me a little bit.[Image: confused.png]


RE: Bug in remote Reversi - MatthewStephenson - 08-17-2020

Hi,

Thanks for pointing this out!
We will investigate and get back to you Smile

Cheers,
Matthew


RE: Bug in remote Reversi - MatthewStephenson - 08-24-2020

Hi,

Just a quick update, we have located the source of this bug.

The main cause of this issue is rooted in the fact that the player entities are currently responsible for making all passes, even in situations where they have no moves and must pass by default. In the situation you describe, after the player made the F1 move, we detect that the next player has no moves to play and automatically make a "Pass" move. In reality though it should be the next player that makes this pass move, not the same player who made the F1 move.

This would be a simple update in our system, however we are investigating if there is a better way to handle such cases so that these forced pass moves are created and made by the Game itself, rather than it being the responsibility of the players to make them. This will take a bit longer, but should handle cases like this much better.

I will let you know once we have addressed this issue, thank you for your patience Smile


RE: Bug in remote Reversi - MatthewStephenson - 08-27-2020

Hi,

We have fixed this bug. The fix will be included in the next Ludii release.

Cheers,
Matthew