skotz / volcanoes

Prototype for a new board game
4 stars 1 forks source link

Add Undo move feature #26

Open simondorfman opened 4 years ago

simondorfman commented 4 years ago

Misclicks happen. Would be nice to have an undo feature for humans playing the game.

simondorfman commented 4 years ago

I was thinking it would be nice to have an Analysis Mode feature (like chess.com has) where you can try out moves and think through them visually. But maybe that's not required if you have an unlimited undo feature. If you want to try something out, you just try it, then you just undo until you get back to where you want to try something different. (at least this is true in a human-vs.-AI game)

On the other hand, if you're playing a human-vs.-human game, that doesn't work so well. Then you'd want an analysis mode. But analysis mode seems like a lot of work to design and implement.

So I guess what I'm finally trying to say is: can this feature request to be updated to "unlimited undos" instead of just 1 undo?

simondorfman commented 3 years ago

As I've been play-testing a lot lately with other people, I keep wishing I had at least one level of undo (although unlimited undos would also be cool). Bumping this feature request. :)

simondorfman commented 3 years ago

Thinking about the UX for unlimited undos, what do you think of this user-flow idea?:

  1. The user clicks the existing back button and is viewing a prior game state.
  2. A new UI button appears to the right of the navigation arrows that says "Restart game from this turn?"
  3. If the user clicks that new button, a pop-up window appears with this message: "Are you sure you want to discard all moves after this turn and restart the game from this point in time?" Two buttons appear in the pop-up, below this message: Button 1 (default choice): "No, Don't Restart" Button 2: "Yes, Restart from Here"

Very rough mockup:

UndoUX

simondorfman commented 3 years ago

"Restart" is maybe a confusing word for this. Like someone might think the game is starting over.

Maybe "resume" is better?

Revised text for this idea:

Button text: "Resume Game From This Turn"

Pop-up message: "Resume game from this turn? Turns previously played after this turn will be discarded." Button 1 (default choice): "Cancel" Button 2: "Resume Game From This Turn"