Toroban: Update #9
Working on timeline data structures!
Updates
Terminology
- Paused: Time immune
- Playing: Not time immune
- Game-level player actions: move, rewind, forward
- Note you can also undo & restart, but these are “outside of the logical game environment”
- Execute: Player move (up/down/left/right)
- Undo: Perfect undo of the last user action - ignore paused logic
- Rewind: Go backwards in time - apply paused logic
- Unwind: Go forwards in time - apply paused logic
Forward Time Travel (Unwind)
I think I have worked out a way to allow forward and backward time travel by the user. It will be as generic as possible. Some situations allow for forward time travel:
- Player is paused, and moves around
- By moving, you are not rewriting the “end” of the timeline, so unwind is allowed up till the end.
- Player is in any state, and rewinds
- Rewinding can happen all the way to the beginning, and unwind is still allowed to be used all the way till the end.
- As soon as a playing (non-paused) player moves, or any non-paused object’s state changes, the timeline will get truncated to this point, and the “old” future gets overwritten.
Rewind/Forward Enablers
There will be items in the game that the player must consume to enable traveling through time in each direction. There are a few reasons for this:
- It gives an opportunity to show the player a notification of new controls, and that there is a new element to the game.
- It allows to dial down the overpowered nature of having both rewind/forward abilities.
- It keeps additional constraints in-place for the player to be able to learn at a less overwhelming rate.