If you play reversi with a bot and you can't do a move which doesn't capture any token, if there is no possible move the game is stuck unless the bot passes the turn which it doesn't. Would like if either when the game gets blocked for it to be instantly declared a victory for the winning player, or for bots to be able to skip their turn.
This happens to me nearly everytime I try to play reversi, which makes the game basically unplayable. I always set the rules to not allow moves that don't capture, nor to skip turn if there is a possibility to play (otherwise it ruins any possibilities for strategy). If a player can't play, it should just say "xxx can't play" and pass a turn to the other player. Or sometimes the bot has a possibility to play, but doesn't feel like, since the move isn't a good one. The only possibility is to restart whole game (and the next game will quite likely freeze again). Can this be fixed?
Dernière édition par Flowerpot, 08.12.2018 14:50:05
The same thing happened to me, but I thought I was playing it badly, thanks for clearing me up that it's a bug. I hope it gets solved soon.
It seems to me that the bots don't know how to react to certain patterns, I was able to reproduce freeze repeating the same order of moves.
This example was played on medium difficulty:
The game is starting. All moves must capture at least one piece. Skipping turns isn't allowed if there is possibilities to play. It's your turn. Token at D4 is returned. You play at D3. It's Pikachu's turn. Token at D5 is returned. Pikachu plays at C5. It's your turn. Token at E5 is returned. You play at F6. It's Pikachu's turn. Tokens at D3 and D4 are returned. Pikachu plays at D2. It's your turn. Token at D4 is returned. You play at C3. It's Pikachu's turn. (forever)
I could add more if it was any useful, yet most of them are pretty long, it actually surprised me this game froze early.
Thank you for providing an example of such a bot freeze.
The problem was standing since a long time, actually it's almost as old as the release of reversi on the playroom. Sadly you will have to wait the next client release for this to be solved, but at least now I have a quite simple example of pathological pattern from which I can start working.
Hi, thanks for reply. I noticed I was messing up 2 different stuff. One is frozen bots being lazy to play (when they actually could play), while the other is when a player or bot actually can't play, yet it's still his turn. I had some games frozen even with players, but didn't notice there was some hotkey for passing a turn, which could help in such case (it's not very intuitive, mainly while playing version which normally does not allow skipping turns). Could it be changed either by adding the "skip turn" option to context menu (where I look first), or preferably make the game automatically recognize when someone can't play and pass a turn? I guess it's a bit more complicated on a square board than with cards or dominos, yet it would also solve the problem when bots can't play, but don't skip a turn.
By the way, I noticed simillar thing in chess, I had only king left and no safe place to move him, yet the game was not able to declare opponent's victory, nor I could give up the game.
Dernière édition par Flowerpot, 21.01.2019 17:55:20
In chess, if it is your move and you are in check, and you have no possible move with any piece, it is called stalemate, and is declared a draw. I do not play much here so have not noticed this bug, but Just making the previous post clear. If white has king on e6, pawn on e7, black has king on e8, it is a stalemate as black has no legal move, and he is not in check either. hence the game is a draw.
I don't play chess much, it was probably the only game I played here (got invited randomly and tried). I think it was exactly the situation you described, my king was not in check but couldn't do any legal move either, yet it was still my turn.
Anyways, just discovered another thing in reversi.
(lots of turns) It's your turn. Token at G1 is returned. Tokens at H2, H3, H4, H5, H6 and H7 are returned. You play at H1. It's Pikachu's turn. Token at F3 is returned. Pikachu plays at G2. Scores: Pikachu: 32. Flowerpot: 32.