The first part of writing a new story is coming up with something to write about. Inspirations for stories come from multiple sources; you might have an idea of an intriguing character to explore, or a physical location or setting to (literally) explore.

A good source of inspiration for settings is writing fan-fiction stories for established fandom. There is a well established precedent for this, the AIF community has a long and proud history of fan-fiction, evolving out of a newsgroup devoted to adult Star Trek fan-fiction. This approach has some advantages in that the player is hopefully familiar with both the setting and characters, but it’s easy to break immersion if the characters are not portrayed correctly. An established setting also gives some directions for which puzzles and events that might be encountered.

Perhaps the most important thing to note here is that over-ambition is the real project-killer: Don’t start with a concept you can’t finish. For your first story you should try to keep it small, especially in the amount of characters the player should be allowed to interact with. A good guideline is the rules for the mini-comp which limits the story to one interactive character and a maximum of three locations.

Another large project killer is scope-creep; during writing one often finds inspiration for other concepts that can fit in. It’s often better write down these ideas in a separate document, it might be better to let these grow into their own story or incorporate into another story. Similarly an idea that doesn’t work out as a story on it’s own might still be usable in another story. It’ best to initially focus on descriptions of people and locations rather than implementations of mechanics, as these can be re-used in other settings and engines more easily. It’s good to get into the habit of spending a little time each day just writing short descriptions that you find relevant to the story. Two or three sentences are enough for most responses, more text might actually be a hindrance for the player. Save the long steamy descriptions for what’s important in your story, which for the most part will be the sex scenes.

So far in this tutorial we haven’t actually touched on anything directly related to Inform. Perhaps the most striking (and talked about) feature of Inform is the choice of using natural language as a programming language. This has led to claims that Inform is not ‘programmer friendly’ because it isn’t object-oriented, but is instead being based on predicate logic. While it’s true that I7 isn’t a classic object-oriented language, it still retains many of the features such as strong typing, properties and inheritance. Perhaps the biggest difference is that instead of methods we have rulebooks and phrases which are more static in design. In practice though this works rather well, as the pragma is built around modelling and manipulating a world state which is the premise of interactive fiction. The end result is code that is extremely readable and to a certain degree self documenting, leading to greater maintainability and understanding.

We’ll come back to the more technical aspects of Inform later on, but next up is a look at actually writing some code in Inform.