Time passes...

Can Inform 7 take a game turn if the player hasn’t inputted any text or characters for some time? I know that could be a little problematic as it could interfere with the oops command or potentially wipe the current line of (unentered) text from the player. I’d like to have something like the ‘automatic’ passing of time, as famously seen in the ZX Spectrum ‘The Hobbit’. Time passes… Thorn sits and sings about gold. and so on. I’ve scoured the Inform manual and extensions but I can’t see anything that could count duration from the last character typed, or proceed with a ‘wait’ command after a specific amount of time.

Any help much appreciated.

What you’re talking about introduces lots of complications and logistical things that you’ll have to think about. But it is possible, and you can use my extension Glulx Real Time to provide most of the functionality you’ll need.

If at all possible, work using the Windows version of I7. The built-in interpreter is much more strict and fails on incompatible events that the Mac IDE terp won’t even blink at. You want to catch those issues early on.

I was looking for your extension as a reply to this issue, Erik, but I couldn’t find it in the public library. FYI.

Out of curiosity - why is the Windows interpreter stricter than the Mac interpreter? That doesn’t make much sense, does it?

Thanks for the swift reply, Erik. This is good news. I have been reading your documentation and examples for your extension but I’m still a little lost as to where to begin I’m afraid. I’m curious what you think the problems I’m likely to face will be.

A more succinct way of describing what I’d like is for Inform to enter the command ‘wait’ if the player hasn’t pressed a key (typed a character) for, say, thirty seconds. I don’t mind if that means the text that the player might have already written is lost.

Thanks again!

The player will probably mind. In fact, generally speaking, the player will probably be very annoyed.

I would recommend you take a look at Infocom’s Border Zone. It implements the effect you want - without hijacking the player’s command.

Okay, if the text the player has typed stays or returns then that would be better! Playing Border Zone again now, though I haven’t yet got to a part where it is doing this effect.

Well, it’s in the very beginning, really. The first chapter.

Wait long enough and you’ll see things happening while you’re waiting. It’s not like typing “wait”; it’s more like the game’s turn counter increasing with time despite your input.

You will see this in practical terms in bold, I think. As you’re trying to complete your task, you’ll be told at various points of the progress of the authorities - and this bit is done in real-time.

This is more visible at set times. For instance, at 17:41, arrived at in real-time (or by typing wait), the train goes to a tunnel, and you get a message telling you so. This does not interrupt your input.