Roguelike�Time Traveling
Jeremiah Reid
IRDC 2016
Oh hi there
Itinerary
Narrative games with little or no time travel mechanics
Or games limited to a simple rewind mechanic
Or games limited to a small time scale
Or games limited to discrete eras
Screw that
Pass “RR” and collect ideas
Artifact names
Design issue: Paradoxes
Timegame & Chronomaniac
Derrick Creamer & Elliot Bonneville
Expanded Novikov self-consistency principle
Design issue: Fragging
Design issue: Calendar
Braid’s Design
TOSTTDK Design
Forward time travel
Backwards time travel
Backwards example
0 {time: 0, HP: 4}
1 {time: 1000, HP: 3}
2 {time: 1002, HP: 2}
3 {time: 1004, HP: 1}
4 {time: 1005, HP: 0}
Let’s travel to t=1003
Backwards example
0 {time: 0, HP: 4} min
1 {time: 1000, HP: 3} mid-1 (< 1003)
2 {time: 1002, HP: 2} mid0 (>= 1003)
3 {time: 1004, HP: 1}
4 {time: 1005, HP: 0} max
Not found. Set min to mid
Backwards example
0 {time: 0, HP: 4}
1 {time: 1000, HP: 3}
2 {time: 1002, HP: 2} min / mid-1 (< 1003)
3 {time: 1004, HP: 1} mid0 (>= 1003)
4 {time: 1005, HP: 0} max
Found. Now truncate mid and beyond.
Backwards example
0 {time: 0, HP: 4}
1 {time: 1000, HP: 3}
2 {time: 1002, HP: 2}
3 {time: 1004, HP: 1}
4 {time: 1005, HP: 0}
The top of the stack is the current state at t=1003. So the monster has 2 HP.
Optimizations
1.5M tiles, 1000+ monsters, 500 NPCs total
360*500 = 180,000 turns
Before the game starts…
Implementation issues
RNG Issues
RNGesus, why have you forsaken me?
Testing for Fun and Sanity
Civilization fails�
Pathfinding Woes
Time Travel Is Confusing!
Primer
Achron
The Only Shadow That the Desert Knows
Ideas for better understanding
Applications of time travel mechanics
Thanks!