Better control of what is an undoable interaction #24
Labels
feature
New feature or request
games
Concerns the games: exported, gist-loaded, or played in the editor.
polish
Make the games or editor behave/look better
question
Further information is requested
syntax/language
Concerns the language or its syntax
Related to #23.
PuzzleScript has a "no undo to same state" policy: if after undoing, the level is in the same state than it was before the undo, then the engine keeps on undoing until it reaches a different state.
In addition to avoiding confusion, this policy allows avoiding undos for meaningless inputs like bumping into a wall or kicking a rock. And that's definitely interactions that we don't want to put in the undo stack. We want the players to be able to explore interacting with the world and still be able to backtrack quickly.
The problem is that the "no undo to same state" is probably not the best way to implement that. For instance, if you have elements in the level that use a randomized variant at each frame to make an animation (e.g., smoke, flames, wind in the grass, butterflies...) then the state will be different and bumping into a wall will be pushed to the undo stack (worse: imagine you have levels with such random elements and levels without, then the behavior of undo after bumping into a wall depends on the level).
Another example: if you have an avatar with four possible orientations, and bumping into a wall makes it turn to face the wall, then again you have a different state before and after bumping into the wall.
So, we probably need a better way to control what is an undoable interaction or what is a "same state".
The text was updated successfully, but these errors were encountered: