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.
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.