Reaching a vent only when on a supporter

I have a high vent leading out of a room, and a table supporter, to create a scenario where you have to be on the table to reach this exit.

However, I always get “(first getting off the table)” when I try to go up. Any suggestions?

instead of opening the ceiling vent:
     if player is not on the card table:
          say "You can't reach it.";
          say "You open the ceiling vent.";
          now the ceiling vent is open.

instead of entering the ceiling vent:
     if ceiling vent is not open:
          say "The vent is not open.";
          if player is not on the card table:
               say "You can't reach it.";
               say "You climb into the vent.";
               now player is in Air Duct.

Something along those lines? Someone else is sure to offer something better, but that’s what came to my mind.

And welcome!

1 Like

Thanks for the quick reply, and the welcome. I had to monkey around with it a bit, in particular adding a “instead of going up from room_name, try entering the vent” to catch that bit (else the player still attempted to get off the table first), but I did manage to get it working well enough with your example!

Awesome. And don’t be afraid to paste any code you are wrestling with into your posts as it usually helps the crew to help you more specifically. Use the “Preformatted text” option (but you’ll have to hit 5 spaces to get each indent right.)


I’ll do that. BTW I don’t want to make another post for a follow-up question, soooo… do you (or anyone) know how to make output “take time”? For instance you’re moving from one place to another and it’s generating descriptive text for your journey, but there’s a slight pause between each line of output to simulate time instead of a gigantic block of travel text all at once?

You start westward on your journey.
(1 second lapse)
Some more text…
(1 second lapse)
You arrive.

That kinda thing. I’m just starting to plan out a game but already have such questions. If it’s not possible to do this with Inform 7, I’m sure pausing for a keypress might be an alternative… but time passing between output would be sooo nice.

You can do it but players will hate it. Wait for a keypress instead. Or just print a row of dashes or something. It works in books.

I am entirely serious when I say that a one-second pause in a text game is long enough for me to decide to check Twitter and pull my phone out. This is not the headspace you want your players in.

Thank you Andrew. I will definitely try that instead; don’t want to put players off.

Hi @EarleyGrave, and welcome!

I guess it wasn’t what you were thinking of, with delayed text, but if you wanted to give a sense of urgency and time passing, have you thought about fiddling with the game’s clock? If you invented some in-game reason why the player has to escape the room before a certain time (dawn arriving, the guards being changed etc.) then you can make doing a task, or traversing a crawl-space take up in-game time, without forcing the player to experience it in real time.

You might take a look at example 393 in the Inform recipe book “Uptempo” which explains how to do this, if you’re interested.

1 Like

Cool. That might come up later in game development for something. I’m constantly surprised at how much is built into Inform 7.

1 Like