The main problem is once one player has resigned, there is no game anymore.
This is objectively, factually, observably false. When one player resigns, there is still a game. That game involves 2 players and a bot.
Continuing with a bot in place is no good
"no good" for what purpose?
For determining that both of the remaining players finished ahead of the one who resigned? It is perfectly good for that.
For seeing which of the two remaining players finishes with a higher score than the other? It is also perfectly good for that.
Yes, the bot will probably make *different* play choices than the player who resigned, but the bot’s plays will still be legal. In particular the player who resigned *could have* stayed and made exactly the same plays as the bot did.
Playing the remainder of the game with 2 players and a bot is a perfectly valid option.
and you can't suddenly make it a 2-player game.
But you *can* make it a game with 2 players and a bot, because that is what it already is.
When one player resigns from a 3-player game, the game immediately becomes one with 2 players and a bot. This is simply a fact.
So there has to be a mechanism that works while the game is still going on.
I described just such a mechanism earlier. While the game is still going on, if one player resigns, that player finishes in last place.
The game continues with the players who did not resign, and a bot to replace the one who did. Note that at this point this game is, indeed, “still going on”.
So I don't see options other than one player resigns, and if we are in a 3+ player game, all the other players also get a message if they want to resign. After each player has made their choice, the games is ended.
If one player still wanted to play, they place first, the other players are ordered somehow, it is debatable if they all place last or all placed second or order based on their points total.
I already provided another option, which I believe you have in fact seen.
I see no benefit to forcing the game to end immediately as soon as one player resigns. That sounds actively antagonistic toward the enjoyment of the remaining players.
Resigning should mean exactly what it sounds like. When a player resigns, they lose. They come in last place. All the remaining players finish ahead of the player who resigned.
It really is, it really can be, it really *should be*, that simple.
Resigning means the player who resigned, loses. That’s it.