IF Week Part 5: So You Want to Write IF?
As long as I've been playing adventure games, I've wanted to create them. I can't even count the number of game summaries that I have come up with. I'd like to think of myself as a fairly decent writer (feel free to disagree at your own peril). Yet there's one problem with my design aspirations; the art.
It's not a matter of game backgrounds and animation being time consuming. Time I've got. No, the problem is that I can't draw a straight line. I can't draw stick figures. There is a gene that allows people to connect their visualization of things, and their mechanical ability to reproduce it. My fiance has it. Marek, our fine editor and site designer, has it. I, apparently, have submerged that gene permanently in Cherry Coke.
So you can imagine my delight when I suddenly realized that the tools to program a text adventure were available to me, freely to use.
I immediately set about programming one of my ideas. Since Inform seemed to be the language of choice for most prominent authors, I downloaded what I needed and began the task!
Now three months have passed. I declared my intention to enter the 2002 Interactive Fiction Competition. The deadline for completing my game was September 27th (which is, you've surely noticed, today). Unfortunately, earlier this week it became sadly apparent that I would not be able to get my game to the quality standard I had hoped for in time. I have unfortunately had to withdraw.
Hopefully my game will be ready next year. But I certainly learned a lot from my experiences over the past three months, and so I offer some ten tips for those who wish to design their own text adventures.
- You have to see your world in your head. If you don't, darn sure none of the players of your game will. Take a moment to lean back in your chair, close your eyes, and visualize every detail of the world you intend to create.
- Begin by sketching out your plot and mapping all of your rooms. You'll be incredibly frustrated once you start coding if you don't have a complete understanding of every event that will take place. Also, directional mapping is very important so you'll never have an inconsistency issue with movement.
- If you have no experience coding, go through the entire Inform Beginner's Guide first. Try to go through it quickly, within a couple of weeks, so that you don't allow any of the concepts to leak out of your head. This hand-holding guide is a fantastic way to learn Inform. You'll find you can latch onto the concepts much faster if you have any experience (even limited experience) with C, C++, or Java, but this is not necessary.
- Don't code when you're tired or distracted. It is easy to misplace a comma, semicolon, or quotation mark in Inform, and the result can be disastrous. When you're sharp, you're much less likely to make this sort of mistake. Think about what you're doing, and don't set yourself up to be rushed.
- Compile often. You will make mistakes. It's much easier to fix a few errors every five minutes than fix fifty errors every half hour.
- Once you're done coding, you're not even 25% done coding. Just because your code compiles, doesn't mean it will produce the desired effect once it runs. Keep a "to-do list" next to you to make notes of what you need to fix.
- Have patience; you will finish eventually. And when you do, and play through your finished product, you'll be ecstatic. But in the meantime, every time you fix something and play the game to test your solution, you'll likely find two more unrelated things to fix. Don't get discouraged.
- Line up your beta testers long before you finish. You are not capable of fully beta-testing your own game, accept that now. You need people who have no idea what their goal is, who will try stupid things that you would never have thought of. As the old saying goes, if you think you've idiot-proofed your game, you just haven't found a good enough idiot. I would recommend having at least six or seven people take your game apart for you. Make sure you find people willing to criticize.
- Spell check your writing. This may pick up some code, but not much because most Inform words are regular English words. A spelling error can destroy the emotional impact of your story.
- Don't forget to have fun! Interactive fiction is fun to play, and fun to write. If you hate what you're doing, trust me, it's not worth it. Don't lose sight of the fun aspect.
I have enjoyed writing these articles more than you can imagine this week, and I really hope I've done some good out there. If you have any more questions about coding or IF in general, please feel free to e-mail me. Happy adventuring!