Inform 7: Day 3

these eyes haunt my dreams

these eyes haunt my dreams

So I spent a whole bunch of time last night trying to really get real with the Inform 7 manual, even referring to the website @type_ins on twitter gave me (intfiction.com) but I kept getting stuck on one stupid little thing.

I guess I should back up a little. I’ve been trying to make this game where you get stuck in a laboratory (see my previous post) and I’ve made it to the second scene where you wake up with your hands tied behind your back. Great. No problems yet. Now, to set the stage, I put a table in the corner with a box on it. Inside the box (if you examine it) are shards of a key. You will eventually (after some more reading on my part) be able to use that key to cut the nylon ropes that tie your arms together. For some stupid reason, I thought this would be THE EASIEST THING IN THE WORLD to program but, somehow, it was so, so complicated.

I first had to learn about how some things can be containers and how things can exist inside them, but the player can’t see them until the container is open. Okay, that all makes sense. Then I had to learn about how to make certain things into “scenery,” which basically means that Inform doesn’t describe them every time you step into a room and instead just treats them as “background noise,” so to speak. Here is where I ran in to my big issue.

I want the jewellery box to NOT be described by Inform when you enter the room because it’s already there in the room description. What I mean by this is, I’m trying to avoid the rule wherein Inform lists everything in the room when you enter it (the “scenery” trick doesn’t work here because you’re not allowed to manipulate scenery, which is something I definitely want the player to be able to do in this case). Right now, the description of the room mentions the jewellery box, but then at the end of the description, Inform takes it upon itself to say “There’s a jewellery box on the table (closed).” which makes me want to TEAR MY HAIR OUT STRAND BY FLIMSY STRAND because it’s just redundant to say it twice.

So far, I can’t find a single resource that can easily explain how to avoid this without going into things that are just way beyond what I’ve been introduced to so far, but I’ve just been informed by a reader named Mark that there’s a textbook called Inform Handbook by Jim Aiken that looks very accessible. The trouble with the manual provided by the software is that it really isn’t always aimed at brand-new programmers, which is something I thought was the whole point of Inform. Maybe not, who knows. Either way, I’m definitely going to give this handbook a read before jumping into another attempt to program my game.

Here’s a link to the handbook (PDF): http://www.musicwords.net/if/InformHandbook.pdf

5 comments
  1. That’s funny–I hit almost exactly the opposite problem with how Inform deals with describing the scene. Wanting the player to start in a Futurama-style people-freezing tube, I described a dark, fluid filled tube (with the player inside) and specified that the player was wearing an oxygen mask. I had the idea that you’d have to take the mask off before leaving the tube (it’s connected to the ceiling, so you can’t walk off with it) but after draining out the fluid. The problem I hit was I can’t work out how to get Inform to describe what the player’s wearing, and so I can’t expect anyone else to either. Typing “look mask” will return “There’s nothing special about the oxygen mask” but so far I haven’t worked out a way of getting it to say “you’re wearing an oxygen mask” short of just including it in the “room” description. It’s hardly a massive problem, but you definitely have to learn to think in the way Inform expects you to think.

    Ongoing saga of endless frustration indeed. 😉

  2. You’re right when you say “hardly a massive problem,” but it’s just so frustrating when these little things don’t go our way. Maybe the zen thing to do would be to just accept that that’s the way it’s going to be, do a small workaround with the room description or something and tell ourselves that we’ll figure it out when the time comes. Realistically, I’ll probably just continue to scream inside my head every time a new attempt at a solution doesn’t work.

    Thanks again for reading!

    • Cool! This, while not exactly what I was expecting, is gonna be pretty useful.

Leave a reply to Jenni Cancel reply