Roger Firth's IF pagesHome
An old sailor's ramblingsEmail
Back up

The words "Hello, Sailor" linger briefly in the air...

What's that, m'dear? You want to write some Interactive Fiction? Well, you've certainly come to the right place. Pass me that baccy pouch, pull up a stool, and I'll give you some hard-won advice.

Afore we start, 'twere best to check we haven't got our rigging in a twist. When I talk about Interactive Fiction, I mean text adventures: stories in which the words are everything, and the pictures -- if any -- are decorative rather than functional. If you're after building a graphical game, you're on your own; there's not much call for that sort of fancy stuff 'round here.

Still with me, then? Another couple of things we'd best clear up. You ain't a-reckonin' on making your fortune, I hope, 'coz you won't; nary a chance. Round these parts, we write IF for the love of it. The market for text adventures is tiny, and 'most all of the good stuff is freely available (though that old rogue Howard The Terrible would have me walk the plank for sayin' so). Make no mistake, m'dear: the best you can hope to get out of this is a warm glow from your shipmates' approval. Kudos, perhaps; cash, never.

Before you start writing, you need to equip yourself with a kit of tools; what we call an Authoring System for Interactive Fiction, ASIF for short. Getting that right, making the most appropriate choice, is of fundamental importance. Don't be thinkin' you can get by without an ASIF, either; them as tries it rarely comes to any good. Take my advice, and put to sea in a prop'ly-built vessel with sound timbers and a trusty compass. Oh, and forget those fancy ideas about crafting your own ASIF. The shoals are littered with the wrecks of other such expeditions, where dozens of misguided souls have seen their hopes of fame and glory sink into the sand. Find the time to go and read Admiral Nelson's lengthy log, and learn from the mistakes of others.

No, what I tell all you newcomers is: cast an eye along the dock, and pick a seaworthy vessel to carry you on your voyage, one that's heading where you want to go. There's several to choose from; it's just a matter of making the right decision. 'less of course, your mind's made up? Some who stop by here already know how they're going to compose their stuff. Good luck, sez I; no point in trying to spit against the wind. My advice is free to them as wants to hear.

Damned thing's gone out again: perhaps you've got some matches? Thanks, m'dear. Right, ready to carry on? When you're choosing an ASIF, there's three big questions to ask yourself. Here's the first one.

WHO ARE YOU WRITING FOR?

Hadn't thought much about that, had you? Probably assumed that the authorship was all that mattered, that the audience would sort itself out later? Well, mebbe so and mebbe not; I can't tell you. What I can say is that positive feedback from satisfied players is about as rewarding as it's going to get, so unless you're planning on never sharing your creations with others, you might want to consider how to make the most of the very small target audience. What machine are you using to write this new game: bet it's an IBM PC, eh? Well, just remember that a significant proportion out there use an Apple Mac, or a Unix box, or one of those handheld thingumajigs, to play IF. If you're smart, you'll choose an ASIF whose games can be played on many platforms.

Funny thing about audiences: they're remarkably loyal to the old-timers user interface, the one where you just type english-like sentences and see what happens. You might think that folks'ld be grateful for a windowing environment which took away all the guesswork, where everything happened by point and click, but more often than not you'd be wrong. For maximum user acceptance, across a broad spectrum of environments, stick to a simple command-line approach.

And a final point about user expectations: people prefer their games small, fast and cheap. So, shy away from ASIFs where the game interpreter is large and slow to download, is at all sluggish when it runs, or requires any form of shareware registration fee. It's a buyers' market, so don't make life harder for yourself.

Hmmm, getting chilly - mind throwing a log or two on the fire? That's grand. I remember once we were sailing round the Cape when it got so cold that... but you haven't come here to relive my memories. How far had we got? Eh? Yes, keeping the audience happy was the first question, so the second one is ...

WHAT DOES THE AUTHORING SYSTEM OFFER YOU?

For sure, they all let you construct IF stories, but there's a regular gulf 'twixt some of them in how they do it and, more importantly, in how long and how smooth is the trip. With a powerful ASIF, you'll get a rich environment straight off the boat, with few limitations on what you can eventually achieve. A mediocre ASIF provides less well-endowed surroundings, and makes it harder for you to fill in the gaps. While a poor ASIF... well, some of 'em just run out of wind -- they simply haven't enough stamina to last the journey, no matter how much encouragement you give. And while you're probably sittin' there thinking that a simple ASIF will do, that your needs are really quite modest, you'll soon enough find that ain't necessarily so. Even the simplest story'll turn up some requirement that will cause weaker systems to stumble. Why, see those Cloak of Darkness toys that Roger the cabin boy has been playing with: hardly complicated stuff, that. But look closer, and you'll see ASIFs which had difficulties with quite basic ideas: a room without light, items of clothing that can be worn by the player, understanding a phrase like "THE BRASS HOOK", being able to put one object on top of another. If your ASIF can't handle that sort of thing by itself, you're going to be wasting a lot of time doing stuff that a good system hands you for free. I always sez, pick a tool that'll always be there for you, even when the going gets tough; one that gives you a strong set of capabilities from the start, and imposes no limits on where your imagination can take you. Like, f'rinstance, being able to employ real words: if your story revolves around a piece of correspondence, commands like PUT LETTER IN ENVELOPE, SEAL ENVELOPE, LICK STAMP, STICK STAMP ON ENVELOPE and so on might be long-winded but shouldn't give the ASIF, or you, more than momentary pause for thought.

You need to think a bit about what the ASIF actually looks like -- its structure, syntax, and so on -- but those issues aren't all that significant; you'll find you'll quickly learn the basics of any of them, so initial impressions aren't necessarily to be trusted. Much more importantly, don't make a hasty decision on the basis that an ASIF looks 'complicated', or that you don't know anything about 'programming'. Here, read this; it's from an article by David Librik, writing in The News of the Grues or some such rag in response to the question "Do you need to know a programming language before using TADS?".

Dave hits the nail squarely on the head. He's talking about TADS, but his points are true also for Inform and Hugo, the other industrial-strength ASIFs. You can start off using them simply, to create simple games, safe in the knowledge that as your confidence and ambition grows, you won't suddenly slam into a wall where the tool runs out of steam.

In Dave's example, the idea of 'programming' really hove into view only when he added that "if" condition to the room description. It's this ability to vary the game's behaviour -- in some circumstances do this, in others do that instead -- that lies at the heart of what Interactive Fiction is all about. If you count the number of "if" statements in the various "Cloak of Darkness" implementations -- it's hard to make an exact comparison because the various games aren't fully equivalent -- you'll find that each of them contains around nine conditional tests (apart, possibly, from AGT; I'm all at sea with that stuff). My point is: the 'simple' ASIFs really aren't any simpler; they don't remove the need to consider all the possibilities, or to plan appropriate responses for each eventuality (but they do tend to limit your options in realising those plans). Whatever language you choose, you're going to have to grasp at least a few basic programming concepts.

I've said enough on this; it's time to move on to the last big question.

WHO'S GOING TO HELP WHEN YOU GET STUCK?

Coz you will; everybody does, 'tis nothing to be embarrassed about. Here my advice is simple: choose an ASIF in its prime, one that's alive and mature. If the original developer is no longer maintaining it, you've no business trying to use it. And unless it already has a significant number of users, look elsewhere; life's too short to foster someone else's pipedream. One good way of telling if an ASIF is in active use is to look in the Quartermasters' Stores (you've met Mr Kinder and Mr Granade, of course?): look under 'programming' to find code modules which might be useful, and under 'games' to find, yep, games. Lurking in rec.arts.int-fiction gives a good feel for which ASIFs are the focus on people's attention. Oh, and don't forget the annual IF Competition. That's been running since 1995: counting the top ten places each year gives 97 Inform games, 35 in TADS, 4 using Hugo and 4 ADRIFT adventures. (And, by the way, of the 45 games that chose not to use an ASIF, 35 finished up in the bottom ten places. See what I mean?) Working with a vibrant living system offers a good chance of planned evolution (or at least that bugs get fixed). Also, having a large user community means that if you need advice or assistance, there's many who might help you and, since some of them will probably be developing additional libraries, tutorials and other supporting artefacts, the ASIF is likely to get more powerful and easier to use.

I think that's about all I can tell you, m'dear. In the end, it's entirely your decision, and you shouldn't pay no more heed to me and my ramblings than to anybody else. But, since you asked what I thought you should do, it's this: give Inform or TADS a serious look. Don't be daunted by any initial impression of complexity; it really isn't as hard as it might look. Download the compiler, find a tutorial, build yourself a tiny game -- one that you write in a weekend or two. If at the end of that you don't think you've made the right decision, by all means throw the stuff away and try again with one of the 'simple' systems... but somehow I don't think you will.

And now, if you don't mind, it's time for my afternoon nap. Perhaps you'd just close the curtains on your way out? It's been lovely talking to you, m'dear, and I look forward to playing your first story. G'bye for now.