This is kinda urgent because the game jam ends on the 12th
I’m making a game for a game jam involving a time loop, and said time loop resets at a certain time (9:00 PM). I need to teleport the player back to the start location (Bedroom) at that time, but I can’t figure out how to do it without it being a command or an actual teleporter object.
I also need this teleport to happen when the player dies, and when they try to leave through a certain door without having shut down the time loop, but those should be easier to create.
Inform 7 doesn’t do any real-time checking out of the box. It’s essentially turn-based.
Inform keeps track of the time of day automatically: play ordinarily begins at 9 AM and each turn takes one minute .
…excluding out-of-world actions like save/load/undo - unless you change that amount per turn via normal rules or an extension (like Variable Time Control.)
You can change game start time like When play begins: now the time of day is 3:13 PM.
So you can check the time with an Every Turn rule and run whatever reset rules you need.
When play begins: [assuming beginning at 9 am]
the loop resets in 30 minutes from now.
At the time when the loop resets:
now the player is in Starting Room;
now the treasure is in the Magical Grotto;
now the time of day is 9:00 AM;
the loop resets in 30 minutes from now;
say "Hum...you feel like you've done this before..."