Lessons learned with my first IF game

As I put the final wrap on my first IF game, Quotient, the Game, I thought I’d share some of my learnings, and ask others for their advice to the first time authors out there.

  1. Review this list of first time foibles: https://web.archive.org/web/20131005045929/https://www.mts.net/~coyne/foibles.html

I first learned about this list by a review… I wish I’d seen it before I made the game public! A great starting point for new authors. That leads us to point 2.

  1. Consciously decide when and how to release it.… Are you releasing an early beta, an alpha perhaps? Get some Beta testers BEFORE doing a more public release.

  2. Extensions… There are lots of extensions available to simplify things for the first time author. Find out about them BEFORE you code some of the things they do for you manually.

  3. Take advantage of the many example code sets out there. You can learn a lot from the documentation and sample code that is available. Do this before you start, and you may structure your code differently as a result.

  4. Structure/Organize your code. It will help you later on, especially if you keep growing and morphing your game as I have done.

  5. Run a “world dump” and run it through a spelling/grammar checker. It might be my old eyes, but I miss some basic typos in the Inform7 IDE on my laptop. You can write a loop to print out all the rooms/objects and then run them through word or something to catch mistakes…

  6. Have fun. If you are writing IF, you aren’t doing it to get rich, you are doing it because it is a personal passion.

  7. Leverage this community. Feel free to lurk and read posts explaining how to do things… ask a question if you have one… there are many, very helpful people here.

Any other things you want to add?

10 Likes

Does the Inform IDE not have a built-in spell check?

The Mac inform7 IDE version does not have a built-in spell checker.

It’s also convenient to be able to use your own spellchecker that knows your style! With Loose Ends, we had to go to some effort to find one that wouldn’t try to change “frisson” to “fission”, or “aight” to “all right”; the one built into the IDE wasn’t customizable enough to handle pretentious narration and also slang in dialogue.

Whoa! That’s a surprise! I think an IDE spell checker should be on the list for IFTF grants, for example.

Regarding customisation, yes indeed. It would be simple to just have an additional file of “words” which it could accept along with any built-in dictionary.

I do this a lot myself. I actually use the spell checker in Emacs (Aspell i think), which allows new words to be added (they do actually just go into a file). I wrote a simple script which helps me spell check my games by ignoring system keywords.

I would avoid spellcheckers that make automatic ‘corrections’. By all means, highlight a suspected mistake, but alterations are additional errors in all but the most obvious typo cases.

1 Like

I use the IDE (windows) spellcheck fairly frequently, though I seem unable to update the dictionary. I haven’t spent any time looking into it, so that might be my issue.

Before big tests and releases, I do a string dump (glulx strings) and run it through a word processor.

I actually went out of my way to avoid #3 (and still do). I like understanding my code and prefer figuring things out, even if that makes for messy programming (it most certainly does in my case). I only use extensions for things I would probably never figure out on my own; I6 code mostly. And Wade Clarke’s Menus stuff, I wouldn’t be up to that.

Though I think I might be an outlier there.

But my favorite bit of advice is to plan a release, with testing built into that schedule. I think this gets past a lot of new authors, which can make for a discouraging first time out.

1 Like

For what it’s worth, the Linux Inform 7 IDE does have spellcheck, and I was able to add words to the dictionary in bulk by editing ~/.config/enchant/en.dic, which I found useful for my toki pona game. You can also just right click the word in the IDE for an option to add it to the dictionary, as you might expect.

2 Likes