What's your advice for an aspiring IF author? What experiences should I definitely have?

So some people like code, and some like me enjoy the process of writing my code in prose form almost like it’s a Myst book that Inform 7 offers. It’s a vibe.

That’s actually cool too. I can understand that, it’s setting parameters of things in database form. How would you create a cycling text in strand?

In I7:

The stoplight is a thing in Street. It is fixed in place. The description is "The stoplight flickers and changes to [one of]yellow[or]red[or]green again[cycling]."

2 Likes

Scope is a wily beast, and that’s the type of thing someone can only learn by finishing a game, and that’s why it helps to give yourself the freedom to write something shorter and manageable before tacking the the epic. Good point.

Scope Creep can easily flummox any project, and that’s why it’s important to write small first to see how your idea flow naturally fills in. Ideally you want to know how your game ends and most every element you want to implement before you start. It’s fun and tempting to start a game with no idea where it’s going - that’s good for practice and brainstorming and prototyping, not producing a complete project.

I call that the “brushing the teeth” paradox. You can implement a brush with bristles that are a supporter and a tube of toothpaste with a liquid volume inside a container which has a detachable cap you can UNSCREW and possibly lose if you flush it down the toilet and the player’s mouth as a container with teeth inside but is it fun for the player to INSERT BRISTLES IN MOUTH. BRUSH FRONT TEETH UP. BRUSH FRONT TEETH DOWN. BRUSH LEFT BACK TEETH. SWISH MOUTHWASH…

Or just narrate that the player brushes their teeth when they enter their bathroom in the morning and concentrate on the story. Unless it’s a picaresque meditation on dental hygiene. :toothbrush:

3 Likes
// Anything in capitals is a macro, otherwise just text.

STOPLIGHT@ THING
> put it in street
* name
stoplight
* name
stop light
* x it
XSTOPLIGHT.  // invoke macro below


// mark "<" for sequence, "<<" for sequence then repeat
// also "&" for shuffle, default random. Can mix, eg "<&"  is sequence, then shuffle.

XSTOPLIGHT<<
The stoplight flickers and changes to
* yellow
* red
* green
1 Like

Mentioning another resource, which I don’t see linked around much but I really enjoyed: IF Gems.

It’s all just quotes from IFComp reviews… but I feel like it gives a pretty well-rounded sketch of what folks love and hate in parser games, and it’s easy to take in bits and pieces.

10 Likes

That page is a gem itself. Thanks for the link.

3 Likes

I’m currently working on my first game. My first go at it was totally open-ended so that the scope just kept growing and growing. I started a new game and quite by accident found I could manage scope by creating a closed environment, in this case a small spaceship. I could lay out an entire map which had very little room to grow since it’s constrained by the geometry of the ship, and then fill that up with puzzles and plot.

4 Likes

I’d like to weigh in with a few thoughts:
[1] As a former programmer, using IF7 is not like programming in Python. It is a new paradigm, but programming background does help.
[2] There seems to be a spectrum of styles of IF stories/games. One one side of the spectrum is the short, terse descriptions that often come with games like Zork. On the other side is the long literary pages of narrative that reads like a story. These seem to turn into choose-your-own-adventure style stories. As an author both of IF and hard copy books, there is a transformation process from one to the other that I didn’t expect. They don’t work, read, or write, the same. It seems that people prefer one style or another: game players vs. story readers. Choose the style you want and that will dictate a lot about how you write it.
[3] You might want to look at Twines too. It is not a fully-functioned as IF7, but it allows you to put together a multiple-branching story quickly. Think of it as writing an outline (Twines) before writing the story (IF7).

3 Likes

Inform 7 is definitely real programming; it’s just disguised. I personally prefer TADS 3 – and I highly recommend the adv3Lite library, which is a separate download. It’s easier to get a grip on than the default adv3 library. And don’t be misled by the “Lite.” It will do whatever you want it to do. It’s just a smoother approach to library design, that’s all.

There’s a lot to learn, no matter what language you choose. Eric Eve has written some tutorial games for TADS – and Eric and I collaborated, some years ago, on a game called “Mrs. Pepper’s Nasty Secret,” for which I believe the source code is available online. (If you can’t find it, let me know and I’ll upload it.) This was using adv3, not adv3Lite. Studying the source code for a working game and then playing the game is probably a good way to learn.

BTW, a lot of us started on Zork or Adventure. I certainly did – on a Kaypro. Wanted to write a game, and eventually (in 1999) I did. I’m not a real programmer, just a ham-handed amateur. Good luck!

3 Likes