The following list is made up of a few things I've noticed in a lot of the interactive fiction games I've tested or tried out. I've tried these games for reasons I can't entirely fathom; admittedly, it's easier and leaves fewer disfiguring scars than self-flagellation. It is not necessarily any less painful though.
This is not intended to be a "You know you're dealing with an inexperienced IF author when..." list. It is intended to be useful to new writers, to know some of the things that scream "WARNING: First-time author ahead, proceed with Caution." I have also, in a couple of spots, mentioned ways to avoid the behaviour in question or even how to specifically avoid it in your game code. I've mentioned Inform only because it's the IF-programming language I'm familiar with.
All of the sins catalogued below are meant to be TIPS for FIRST-TIME or INEXPERIENCED authors. There are legitimate artistic reasons for breaking certain rules some of the time--that's all well and good, but I think beginners should be steered away from trying to do that. Picasso did not start out by painting all those really weird perspective paintings. He learned to paint first, and then experimented once he had mastered the medium.
For some reason, first-time authors like to have games with absolutely massive numbers of points. I'm not talking about large games with a legitimately large number of tasks to perform. I'm talking about small games where minor actions yield hundreds of points.
For example, rather than have a game with 100 points maximum, the offender will have the number of points be, say, 10000, and anything remotely scoreable the player does is worth 100 or 500 or even 1000 points.
I'm not sure whether this is because it makes the game look bigger or better or what: "My game is so awesome!!! It has ten times as many points as Zork II." It may also be used as a device for detracting attention from how lacklustre and uninteresting the puzzles are.
This sort of thing is irritating, as it gives a false impression of how large the game is. It also makes the player (well, me at least) view the game as a bit of a joke--500 points for successfully getting out of bed or opening the book of matches is laughable.
If you never award < 100 points for any action, follow this algorithm:
- take your maximum score and divide it by 100.
- take your awarded points, and divide them all by 100
The fault here is a lack of synonyms for objects present in the location.
You can see a toolbox here.
but 'tool' and 'toolbox' don't work to refer to it, only 'box'.
Minimum: the name used to describe the object to the player must work to refer to it (e.g. the toolbox example above).
Better: all the words used to describe the object, including adjectives, should work, i.e. 'shiny red toolbox' should generate matches for 'shiny', 'red', 'tool', 'box', 'toolbox'.
Best: you should also match reasonable synonyms you don't mention in the text, e.g. 'chest', 'tools'. Use a thesaurus and check for synonyms if you can't think of any. If you're feeling particularly generous, you could even include common misspellings of lengthy or difficult-to-type words. Typographically challenged players will love it.
Caveat: It's possible to overload the synonyms too much if you have a lot of similar objects, resulting in parsing difficulties.
>get box Which do you mean, the toolbox or the wooden chest?
In this case it would be better not to include 'box' as a synonym for the wooden chest.Back to Table of Contents
Textual truncations are where you see hard carriage returns in printed text.
This room is pretty big, you cant see any exits to north or south but there might be a door east or west.
I think this error stems from working with IF languages that don't automatically word-wrap for you. I've seen this in a lot of ports to Inform. It may also stem from a desire to avoid having lines in the source code file that run off the editor screen.
Most modern IF programming languages allow their interpreter to handle the word-wrapping for you.
If you want to wrap your printed text so it appears nicely in your editor, just hit enter in the string. Inform interprets this whitespace as simply a space. Works beautifully. Let the player's interpreter worry about wordwrap--it knows how wide his window is. You don't.
You are in the bank. There is a crazed person here running toward you!!! >x person You can't see that here. >x crazed You can't see that here. Oh no!!! The crazed person just shoved their ax in your head now you're dead!!!!
The profusion of exclamation points in amateur writing (both IF and non-IF) is always astounding. It may come from a desire to turn bland unoriginal text into more exciting EXCLAMATION-POINTED text. Any writing can be made more exciting with exclamation marks, can't it? (Some would argue that would be reason enough to sprinkle them all over this document).
Exclamation marks tend to be overused. Use them sparingly, and don't use more than one at a time. Please!!!
Torture Chamber You can see a Lord Blackadder here.
I don't really understand how these sorts of errors can exist. Presumably the author runs through his game while developing it. If I notice this as a jarring error, why doesn't he?
(Another problem apart from the definite article error is the lack of an initial description. Even if the article is correct, the message "You can see Lord Blackadder here." smacks of laziness. See below.)
Walk into every room in your game and make sure the definite articles are correct. Examine them, try to take them, manipulate them in all the ways you can think and make sure you get sensible replies when you do so.
In other words, abuse of the player. I was very surprised the first time I saw things like this and even more surprised when I saw it in a number of different works, from authors who, by several other measures, appeared to be adults: an overwhelming tendency to insult the player when he does something the author doesn't want to permit.
What goes on in an author's head telling him these abusive responses are funny, appreciated or otherwise appropriate in any way?
Most players will tolerate mild sarcastic comments, especially if they provide useful feedback.
> fire arrow It would be difficult to do that without a bow.
But downright abuse should be out.
> cut thread You cut the thread. (lots of other things done in between, puzzles figured out) > cut thread You already did that!!! PAY ATTENTION!!!
The people playing the game are your customers. Admittedly, you're not getting paid for this IF work most of the time, but you want it well-received and well-reviewed. Don't insult your target audience.
I've seen many games with massive exposition in the introductory text explaining everything that has happened in the player character's (PC's) life to bring him to the point he is currently at as the story opens.
This is a tricky one, and done poorly, is less indicative of a first-time IF author than it is just of an amateur author in general. It's very hard to get right--striking the balance between giving the player the information he needs in order to understand who he is and play the game with some sense of that, but also avoiding having things sound like "the story so far...".
There are two extremes. You can relate everything that has happened to bring the PC to this point, or you can relate nothing at all. There are some very excellent games in the latter category, and some equally excellent in the former.
Exposition itself is not bad. Well-written and executed exposition can be entertaining to read and add a lot of depth to the introduction and serve to really get you into the story.
My main reason for warning against it for first-time authors is that unless you're an exceptional writer, the initial exposition in first-time pieces is usually a dump of information of everything the PC knows to this point--information which, when reexamined at the end of the game, adds nothing to the gameplay experience, i.e. the initial exposition at the beginning in no way changes the approach to the game or the ability to progress through it.
Remember, as the author of the piece, it's important that you know and understand exactly how the PC got to where he is. What you need to decide is how much of that the player needs to know. The information is important to the world you've created. Is it important in order to play the game and live as the character?
Try to avoid the need to relate everything that has happened to the PC until now, unless it's integral to the story. It's better to introduce that sort of thing by virtue of the descriptions, what others say to the character, and so on, rather than going with the "data-dump" of the PC's life so far.
If you do feel that you've got an infodump that is absolutely integral to the plot, see if you can introduce it gradually over the first couple of turns as the player meets or sees people or objects in the game.
Add the option to RESTORE an old game before dumping out all the introductory text (as Bureaucracy does, meaning you don't have to fill out that annoying form every time).
Other possibilities include having the additional background text as an option for the player to read. Opinions vary on the effectiveness of this technique. Some players are certain never to read it. Others will always wonder: if this text is optional and I don't read it, will it make the game more difficult? Nothing would annoy me quite so much as struggling with a puzzle for days on end, giving up, asking for help and then discovering that solving it hinged on information revealed in the optional introductory text.
This is bad: (based on an exposition-heavy game I have seen, but translated to Planetfall universe for example purposes):
Your big moment has finally come. After much struggle and study, you managed to win a scholarship to Stellar Patrol University. You have graduated and attained the rank of Ensign Seventh Class, and after all your hard work and study, you have been assigned to the Stellar Patrol Ship Feinstein for its voyage to a far-away planet that was recently discovered by Stellar Patrol patrols. But there was a massive accident, and the ship is going down. Your job is to escape from the ship before it explodes. Deck Nine This is a featureless corridor similar to every other corridor on the ship. It curves away to starboard, and a gangway leads up. To port is the entrance to one of the ship's primary escape pods. The pod bulkhead is open. >
Compare that to the real way in which Planetfall opens, which is a decent example of a game with light exposition, which handles it fairly well. Way back when, I was able to start playing Planetfall the day I got it, without having glanced at the documentation and feelies, and know exactly who I was and my position on the ship. And all this in a relatively short opening paragraph. It's not the best opening in the world, but it serves as an easy comparison to the "bad" way above.
Another routine day of drudgery aboard the Stellar Patrol Ship Feinstein. This morning's assignment for a certain lowly Ensign Seventh Class: scrubbing the filthy metal deck at the port end of Level Nine. With your Patrol-issue self- contained multi-purpose all-weather scrub-brush you shine the floor with a diligence born of the knowledge that at any moment dreaded Ensign First Class Blather, the bane of your shipboard existence, could appear. Deck Nine This is a featureless corridor similar to every other corridor on the ship. It curves away to starboard, and a gangway leads up. To port is the entrance to one of the ship's primary escape pods. The pod bulkhead is closed. >
And then the game makes you wait around, scrub the floor, bump into Blather, the Blow'k-bibben-Gordo ambassador, until eventually, the massive explosion rocks the ship, and you know the imperative is on you to escape.
What does the Planetfall opening tell you? It tells you everything you need to know in order to play and enjoy the game and, significantly very little more. The information about Blather could arguably not be needed, but it's pulled in again at the end of the game to tie everything together neatly--those two parts of the story bookend the game nicely.
A useful exercise is to take every sentence in your opening and figure out what it tells the player about the game, and his role in it. Evaluate each sentence's effectiveness and decide whether it communicates meaningful information to the player.
Evaluate your opening against the four W's (Who, What, Where and Why. There's also When, but the immediacy of IF makes it less of an issue for most works). How well are they answered by the time you get to the end of the opening? As an example, let's try that with Planetfall and see how it stacks up.
All the questions are answered, and with a brief paragraph, the player knows a lot about who he is and what his immediate goals are.
It's a good idea to check the opening text of many different IF games, of many varied styles, and see how effectively they communicate the opening situation to you, without overloading you with the "data-dump" variety of weighty exposition.
Check some of your favourite novels and see how they present the initial situation. Do they reveal everything at once, or build it gradually over a number of pages? How effective are the techniques? Do they, as Mike Roberts pointed out, start 'in media res' or 'in the middle of things' ? That is, the book begins in the middle of the action, leaving the reader a few sentences, paragraphs or even pages to read through before he understands what's going on. This can be a very effective technique: it draws people into your story, making them eager to read more so that the opening sentences can be explained.
Octavio Butler's Wildseed is an excellent work of science fiction (well, opinions on that vary) which begins:
Doro discovered the woman by accident when he went to see what was left of one of his seed villages.
You can almost hear the SLAM as the reader is yanked right into the middle of the story. But it works. The reader immediately has questions that make him want to continue reading. And a lot of the reason he does is the incongruity of the opening statement. It talks about familiar things but in ways that don't make much sense in our world. This is definite 'in media res' action going on here.
Final note: Trinity is a very good example of a concise IF opening that conveys a lot of information in a very effective way. I recommend having a look at its opening if you have it, or know someone who does.Back to Table of Contents
A basic command of English (or whatever language you're writing in) is essential. The IF community is full of well-read players and authors. If your game suffers from poor language and grammar, it will definitely not rise to the top of the pile. There is so much IF that's very well-written that if your game isn't, I don't think it's overreacting to say it's doomed to insignificance. The odd typo is tolerated but consistent poor grammar, spelling and diction will annoy most of your players. As for the rest, they will not merely be annoyed, they will also be members of the militant wing of the Speller Patrol and will immolate you in the fires of scorn and derision on Usenet. It will hurt.
Leniency (or burn cream) is given to those whose first language is not the language in which they're writing, but in general:
If you lack confidence in your command of the chosen language, ask people to review it for writing style, spelling, grammar, etc. Bear in mind that these should be people with a solid command of the language. As Jim Aikin points out "Expecting that either your kid sister or an unpaid beta-tester will provide a safety net is expecting quite a lot." And take note of the word 'people'. That means more than one.
Running your game through a spellchecker is difficult, because it's source code, right? Well, turn on the scripting facility of your interpreter, run through your game, performing all the actions to win the game, and trying to examine all the objects. Then take the transcript generated, and run it through your spellchecker. This will ensure at least that anyone who runs through most of the standard things in your game won't encounter any glaring errors.
Inform users can go one step further and use the -r switch to output all their game text to a file called, conveniently enough, "gametext.txt". This can then be run through the spellchecker.
Remember though that spellcheckers never catch homonym misuse, e.g. it won't flag:
You can see that their is a piece of paper here.
Good grammar checkers might catch that, but they make enough other mistakes that they should probably be avoided. Though there are a few works of IF I've seen which are so bad already that running through the grammar checker would definitely have been an improvement.
On another grammar-related note, specific to a lot of Inform games: if you're going to use the -ize endings of words like "realize", then define DIALECT_US in your code, so that we don't get incongruities such as:
You struggle to read the piece of paper, but you don't recognize the language. > study paper That's not a verb I recognise.
Defining DIALECT_US in Inform will take care of this for you.Back to Table of Contents
(included for Aris Katsaris, but for the record, I agree)
Not implementing anything other than the default response for 'examine me' smacks of a lazy or amateur IF-writer, as well as a poorly-developed PC for the story.
Think about who your PC is. Is he male or female? Tall or short? Ugly or attractive? How is he dressed? How is the response you print from 'examine me' affected by the PC's opinion of himself?
Also, much as it's bad form to insult the player, it's very cliché to have all the NPCs in the game treat the PC like dirt, or refer to him as ugly, smelly, dirty, whatever. Unrealistic too. In the real world, there are lots of helpful people, so if the PC is in a generally nonhostile environment, your NPCs should at least be civil towards him.Back to Table of Contents
Many games seem to operate from the idea that giving a location a name is sufficient for fully describing it. It's not.
Yes, if you say "You're in a bank." most players will be able to imagine what a bank looks like. But the point is: we want to know what this bank looks like, how you the author have envisaged it.
Also frustrating are room descriptions that all begin with "You are in..." and the idea of variety is to start a room with the description "You are standing in...". Or, the "This is the..." opening.
It feels very strange to write room descriptions without starting them as I've mentioned above, but they read better in the end, even though you might not think it when you're writing it. The players won't mind if you leap right into the room description without prefacing it with "This is" or "You are".
Southern Hallway This is the southern hallway of the office complex. Daylight filters dimly in through the narrow window in the south wall. A set of closed double doors lead to the cafeteria west of here, and a smaller metal door lies open to the east.
Now the same thing, but avoiding use of "This is..."
Southern Hallway Daylight filters dimly into the office complex through the narrow window in the south wall. A set of closed double doors lead to the cafeteria west of here, and a smaller metal door lies open to the east.
The "This is" is unnecessary. The player will know that this is the room you're talking about. One more thing you can try to avoid is mentioning the name of the room in the description. You've got the name of the room printed when the player enters it, so he sees that it's the southern hallway. Why mention it again in the description by saying "This is the southern hallway..." That information has already been conveyed to the player.
One of the worst examples of a room description I've seen recently (paraphrased to protect the guilty, but included for edification):
You look around. The only way out of here appears to be North as there is a wall to the south. East and West do jack-all for you.
You check your surroundings. You can go east or west. Southward appears to be blocked. > south Didn't you read my instructions? You CAN'T go south.
The key problem with the last one is the use of "appears to be blocked" which implied to me that there was a barrier there that could be circumvented. Not the case. You just couldn't go south. No mention of what the apparent blockage was, of course.
Be imaginative when describing your locations. If you have trouble knowing how to describe things, observe the world around you. Look at pictures that resemble the locations in your games. Try to describe them to someone else, or have someone else describe them to you, and see how much of a picture you receive based on just the description.
Think about the different things that make this location distinct from the others. The primary tools we all use to understand our surroundings are our five senses. So how does this location affect all the senses? NOTE: this doesn't mean every location needs to affect all five senses, but you should, for your locations, think about what the sights, smells, sounds, feeling and taste of each location is.
Is it well-lit? Dimly-lit? No sun at all? If there are electric lights, what's the quality of the light; soft, harsh, blinding? Do the lights flicker? If it's old-fashioned lighting such as torches, lamps or candles, do they gutter or flicker? Drip bits of fuel or wax onto the floor? How do they smell? Have they stained the walls above their sconces?
What sounds are there in this location? If they're high atop a cliff, does the wind whistle past them, pulling their clothing, threatening to topple the player over the edge? Is there a location nearby with running water, which the player can hear in this location? Does the lighting in the room buzz? Does the fire in the grate snap and pop, making them jump?
Also remember, just because they're lengthy and wordy, it doesn't mean they're good--often quite the opposite. The improved version of the office hallway above was the shorter.Back to Table of Contents
This is another one I've seen quite a bit. Here's a quick example to explain.
We've got your average run-of-the-mill IF game. We're standing beside a car. There's only one way to get through the second-story window above, and that's by standing on the hood of the car when it explodes. So the amateur writes the "Second Floor" location of the house like so:
Second Floor The car has exploded, and you are in the second story of the house where you were blown by the exploding car. >
Never put plot action into the room descriptions. It doesn't matter if the given plot action is the only way the player could ever get into the location; do you want the player to see it every time they type 'LOOK' ? Also, 37 room locations later, when you decide you do want the player to be allowed back into that location, and you put a link from the hallway back into the second story room, you won't remember that the room you wrote two months ago has a plot-centric description.
If you want text to appear the first the player enters a room, you can do the following:
Object Second_Floor "Second Floor" with description [; if (self hasnt visited) print "A resounding boom echoes from the hood of the car and you are blasted into the air, tumbling and turning. With a shower of breaking glass, you tumble through the second story window of the house.^^"; "Rotting floorboards creak ominously underfoot. You have to duck your head to avoid the perilously low ceiling in this small upstairs cubbyhole. A low doorway leads east to the hallway. The remains of the smashed window are to your west."; ], has light;
This particular example demonstrates one other point. The action of the exploding car should properly be attached to the car, and not made part of a room description in any case, but the point stands that in Inform, (self hasnt visited) is a useful way to print text the first time the player enters a room.Back to Table of Contents
I'm a tolerant person. I don't mind seeing things like:
Paint and Wallpaper Shop You can see a roll of wallpaper here. >
a few times in a game. I also don't mind seeing that kind of thing for items that the player has dropped in a room. It's nicer if everything has a describe routine [INFORM], but that's a lot of work. As well, if you have a describe routine for everything, and a player drops everything he has in a room, it makes for a very lengthy pile of text when he types 'LOOK'.
What I do mind seeing is objects that are still in their initial location being described merely in this way.It's not really reasonable that all these things are just lying around to begin with, but throwing that aside, let's see some originality in describing them. Have them sitting on the table, discarded on the floor, lined up in a row, anything.
Paint and Wallpaper Shop A single roll of wallpaper sits in the cast-offs bin, alone and unloved. >
Along with this idea, let's introduce some sense into the locations where you find things. Far too many games seem to get all the puzzles created and then the objects needed to solve those puzzles strewn about the map at random. Why is there a wrench in the kitchen? Why is there a flask of acid in the bedroom? Invent reasons for why things are where they are. Put a leaky faucet in the kitchen, explaining the wrench. Or put things in places that make sense. A wrench in the toolshop, acid in the laboratory.
To my mind, the cardinal sin in initial descriptions is doing this for NPCs. How boring is it if every time Jack is in the room and you issue a Look, you get:
You can see Jack here.
It doesn't take much to change the game to make it look like so much more than just the standard library with some rooms tacked on. Even a simple:
Jack lounges against the sofa, looking bored.
does wonders for adding realism to the game. Preferred is doing a switched random(x) statement of some kind, so Jack does slightly different things every time the player issues Look.Back to Table of Contents
I've noticed lots of games break their mimesis through deliberate and forced injection of the author's voice. One example I saw recently makes tantalising references to:
... but what exactly is it for? Only the game author knows!!!
upon examining an object.
Or, worse yet, upon trying to attack an NPC:
If you keep trying to do stupid things like this, I will find you and kill you personally.
This sort of thing pulls me right out of the game environment every time--it also gets me annoyed at the author and that much more likely not to be too interested in another of their creations.
Another danger is incongruity of technology and culture, say where a dungeon contains a copy of a modern magazine, or a modern naval vessel has, for some inexplicable reason, a 150' tall wooden mast.
There may be artistic reasons for doing this sort of thing, say in a game involving time travel or a world with an odd technological mix. However, if you're trying to write a game with a consistent setting, make sure you understand the level of technology appropriate to the setting.Back to Table of Contents
Trapping actions in order to disallow them is all well and good. It's something that needs to be done if you don't want the player setting fire to the main NPCs or attacking, kissing, touching and smelling everything in sight (and they will), and seeing the boring default messages. But trapping actions in order to provide the "correct" syntax is one that really annoys me.
When I type a sequence of commands in an IF-game, I can understand if they don't have the right effect or if the game doesn't understand my phrasing.
But if I type:
> sit on rug Psst, try STAND ON RUG instead
You can see a cannon here. > put cannonball in cannon Hey!!! Use LOAD CANNONBALL IN CANNON instead.
I get extremely irritated knowing the author anticipated my typing the "wrong" phrase, obviously knows what I wanted to do (because he suggests the proper phrase), but doesn't bother to do the right thing for me.
If you're going to bother to catch the alternate way of phrasing the action, and tell me the correct one, why not just have the "incorrect" one work, and keep quiet about it?
In the odd case where you're catching a phrasing that doesn't make sense, sometimes you can correct it to the most likely choice, and let the player know, to make sure they understand what action has resulted. For example, in my work in progress, I have a cannon that can be fired at various objects by typing (game responses changed for brevity's sake):
> fire cannon at wall You fire the cannon at the wall. > shoot cannon at wall You fire the cannon at the wall. > fire wall (assuming you mean fire at the wall with the cannon) You fire the cannon at the wall. > shoot wall (assuming you mean shoot at the wall with the cannon) You fire the cannon at the wall.
So just in case the player might not be certain how actions are being interpreted, we spit out a message to make sure he does.Back to Table of Contents
Closemouthed characters are those pesky and exasperating NPCs who do nothing unless the magic words are said to them.
Torcher Chamber You are in the queens torcher chamber. Baldrick is running around and screaming let me out let me out!!! he's in prison for meeting the queen the other day then he didnt bow to her. So she told him to and he did but not low enough!!! You can see a Lord Blackadder here. > ask blackadder about baldrick There is no reply. > ask blackadder about queen There is no reply. > blackadder, tell me about baldrick There is no reply. > talk to blackadder That Baldrick is going crazy!!! We have to find a way to get out of here and YOU have to do it."
At the minimum, give your NPCs a default response to Ask and Tell. Personally, I don't like the "I don't know anything about that." type of response. That clearly says to me, as a player, "Here's a hole in the game." I prefer something like "You're busy worrying about that when we've got to escape this prison cell?" Something that works in the context of the game, and the context of the NPC, and why they're there with the player.
Try to predict the reasonable topics of conversation that the player might initiate with the NPC, and program responses in for them.
Think about the objects the player is likely to have when they meet the NPC, and have the NPC respond meaningfully to the more important ones. And create a nice default response for being shown the rest of them.
Torture Chamber > show ponsonby's head to blackadder "So you've got Ponsonby's head," sighs Lord Blackadder. "Too bad it doesn't help us get out of here."Back to Table of Contents
Well that's about it at the moment. Comments and questions are welcome at the email address given below, or rec.arts.int-fiction.
Thanks to those on r.a.i-f who posted suggestions and comments on the initial post, or otherwise provided encouragement: