Mogri wrote: ↑08 September 2023, 19:30
Why is this in the Alpha forum?
To the more immediate topic: undo is not easy to add to many games, and it's impossible in rare cases (Dobble/Spot It comes to mind). I've added it to most games I've worked on, but some games are designed in a way that sharply limits how much undo you can do -- for example, Daybreak allows players to act in any order at any time, and one player's actions often impact what another can do.
While most games won't have those troubles, there is not a universal solution that BGA can apply across games. Undo has to be implemented on a per-game basis. This is something the comments on that suggestion largely do not understand.
I think it kinda makes sense in Alpha because this is often something that should be thought off (not necessarily implemented) very early in the development of the game.
a) Indeed it won't apply (or not fully) to games where players can react and do meaningful things when it is not their turn. Or if there is no turn at all.
b) For games with well defined non-simultaneous turns and no out-of-turn actions (most games), there should be a confirm/undo button at end of turn. This can be always present for games with big turns (like through the ages) but should preferably be available through an option for games with short turns. If the turns themselves are big and structured then an "go back / undo" is needed (nicely done in Automobiles for instance).
c) For games where everyone plays at the same time but without impacting the other players in any way during that phase (think Railroad Ink, or the phase selection in RFTG, 6 nimmt,...) there should be some mechanism. But it is tricky.
I think that Railroad Ink is a good compromise that can be applied to many Roll and write games :
1- you do your turn hidden from the prying eyes of everyone else. You can use undoes or start over from scratch.
2- when done, you have to confirm your turn (makes sense as each turn is relatively big)
3- Once your turn is confirmed, you can see what the others who have confirmed their turn have done (nice). The trade off is that you are then no longer allowed to change your mind.
Other games opt instead for keeping the information secret until everyone has done their turn (with or without an explicit confirmation step).
A very nice thing to do with that approach is to allow players to change their mind as long as the game is still waiting for someone else.
This alone, of course, won't save you from a miss-click if you are last to complete your turn.
note: It is often used for games where the decision is a single click. If the turn is more complex than that, you might need an explicit "unconfirm" button and reactivate the timer for the player (you could even make a case that the time spent between confirm and unconfirm should be retroactively counted as well but that could be very frustrating and might not be possible to implement properly anyway).