Constructing The Ideal Computer Game
Orson Scott Card, COMPUTE! Books Editor
In this first article of a two-part series, the author examines currently available types of home computer games and suggests a new approach: a game where the player creates his or her own world. As an example, he describes the elements of a "game-building game" called "Railroader." It's something of a cross between traditional entertainment and computer programming.
Next month, the article concludes with advanced applications and specific techniques for programming Railroader on your computer.
When I first bought an Atari 400, I told my wife all kinds of stories. About how computers were the wave of the future. About how our kids had to become computer literate. About how useful the computer would be.
I didn't fool her. I didn't even fool myself. I knew I was getting the machine because of the games.
And I've done my time. My Super Breakout game regularly tells me "Wow!" My Centipede scores are respectable, and my wife and I make a great team playing Ghost Hunter.
But now, after a couple of years with the ultimate game machine, I've discovered a dreadful secret: true home computer games are rare.
Look at your games for a minute. What are they actually doing? Most of them are doing what pinball machines are designed to do – enticing you to try to beat the machine, with the odds hopelessly stacked against you. That makes sense for arcade games. They are supposed to make money, and the only way to make money is to force you to play against the clock, pumping in as many quarters per hour as possible. When the local wizards started playing 30 minutes per quarter on the Dig-Dug machine in the corner Seven-Eleven, they flipped a switch inside it and suddenly the old patterns stopped working. I stopped getting 250,000 points a game – and the company started getting a lot more quarters. That's business.
But why do home games have to play that way? The arcade games are fun on the home machine, at first. But they can get frustrating or boring. After a while I begin not to care anymore whether I get above 70,000 on Centipede. I'm never going to "win," and I don't lose a quarter when I don't win.
There's something worse than boredom. Something a little pernicious. Teenagers who come to my house to play my games have a great time. But when my four-year-old son and I sit down to a few games of Salmon Run or Picnic Paranoia, he almost always ends up in tears. Not because I always win – I'm a nicer father than that – but because the machine always wins. He doesn't stand a chance. He can never finish. He can never accomplish anything.
Why should all those wonderful graphics, all those fantastic imaginary worlds, be devoted to either frustrating my son or programming him until he learns how to do his part perfectly?
Because that's what all but three computer games I've tried end up doing – programming the player. Rewarding and punishing me until I learn to display the correct behaviors. What are the arcade wizards, except human beings who have learned to obey the demands of a computer program?
Don't get me wrong. I still love a new arcade game. I'm in there flapping away at Joust, making hamburgers and McMuffins with Burgertime, and mastering the art of swinging on chains and ropes in Donkey Kong Junior. I'm as eager as anyone to find out what the next screen will look like, to find out what the programmer has created in his or her little world. But it's still the programmer's world, not mine.
Even the adventure games, both text and graphics, usually boil down to puzzle-solving, out-guessing the programmer.
But in the home, where the family has unlimited access to the computer, there can and should be a different type of game. A different kind of play.
What Is Really Fun?
I've noticed a couple of important things in my family. First, about myself. I almost never stay up late playing computer games. But I have been known to stay up until three or four or six o'clock in the morning working on a program. You might say that, in a way, programming is much like arcading: after all, BASIC is forcing me to react in certain patterns, and I'm only just now beginning to learn when to PEEK and when to POKE. I have been trained, right?
There is a difference – all the difference in the world. When I program, I can save the result on something a lot more permanent than a vanity board. And I'm not just charting through someone else's program – I'm creating something that never existed before, at least not in the exact form I'm giving it. When I'm through, there's a lasting result. And I can take all the time in the world. I can take the time to do it right.
A second thing I've noticed is the way my children play when they aren't using the computer. They do like a shoot-em-up game as much as other kids. But games like that are only a minority of the things they do.
They also like solving puzzles, and spend much more time doing mazes or putting together picture puzzles than they ever spend on fast-action games.
Most of all, though, their playing time is spent making things or pretending things. They spend hours with wooden or plastic building blocks, making castles or spaceships or houses or anything they can imagine. They draw and color, write stories or act out plays, dress up in costumes or read aloud from books – whether they understand the actual words on the page or not.
In fact, they do exactly what I like to do with the computer: create their own small world that works just the way they want it to work. They don't want anyone to tell them that they can't make a castle that way, or to insist that six legs are too many for a horse. "You made your twos backward," we tell our son, and he looks at us impatiently and says, "Let me do it my way."
How many hundreds of dollars have we sunk into our home computer? We own it, don't we? Why, then, do we have so many programs that tell us what to do? Why can't my children — or my wife and I, for that matter — play games that let us tell the computer what to do, that let us create something that will last, that let us use the magic of the computer to make things we could never make before?
The Few Games That Work At Home
I've found three games that approach the sort of play that only the home computer can allow –games that are neither elaborate puzzles nor quarter-stealing pinballs.
Galahad and the Holy Grail. At first glance, this Atari (APX) adventure game looks pretty much like other realtime graphics adventures. Only after you've played it awhile do you begin to realize that this is the first game to give you the freedom to play your own game. True, there are fast-moving knights and spiders and a persistent, maddening moth to kill you when your reflexes are too slow, and there are puzzles to solve. But there are no win conditions. The program never congratulates you and says, "That's it, you've solved it all." It's fun simply to explore the dozens of different rooms and find out what secrets they hold. It's no coincidence that my son loves to play it, and has never found it frustrating, though it is always challenging.
Eastern Front. This APX game isn't for children, and there are definite win conditions, but it is a war game that gives you freedom to plan your own moves, to develop your own strategy, and there are hundreds and hundreds of possible ways to play, none of them "wrong." Your decisions are shaped by events, but the events do not control you any more than you control them. (ATARI Program Exchange, 155 Moffett Park Drive, B-1, P.O. Box 427, Sunnyvale, CA 94086.)
Facemaker. It runs slowly, but I find that my son never gets impatient with the game from Spinnaker. The choice of facial features is very limited, but the important thing is the way the program and the child interact. It allows a child whose drawings are still very primitive to make faces that actually resemble real faces, and program them to perform a series of actions. When my son plays with Facemaker, he is creating something, and doing things with it that could not possibly be done without the computer. (Spinnaker, 215 1st St., Cambridge, MA 02142.)
The Five Types
There are probably other games that make use of the special advantages of the home computer, but the point is that they are distressingly rare. Most of the games coming out today are variations on the same old themes:
- Target Shoot. The targets move, they dance, they are cute or they are menacing, but the game always consists of shooting them down.
- Tag. The same old targets, but you have to catch them instead of shooting at them.
- Coming at You. Tag, only they're trying to catch you or shoot you, and you spend a lot of time running and dodging.
- Scramble. You have to get from here to there, and there are things in the way.
- Maze. Like scramble, only there are several routes you can follow, and you have to figure out the best one.
Have I missed anything? Even sports simulations, like the sports that inspired them, are combinations of these elements. Football is tag plus scramble – or coming at you, depending on whether you're playing offense or defense. Hockey is target shoot plus scramble. Baseball is scramble, target shoot, and tag. Lots of fun, but all these wonderful new games are just combinations of the same old things.
New, creative game elements are getting rarer. An arcade game like Joust, which really does introduce a whole new way to move a player on a screen, still turns into tag-plus-scramble once you master wing-flapping. Donkey Kong Junior has that wonderful swinging motion and the difference between two-handed and one-handed climbing, but it's still a maze with things coming at you.
What else is there?
Games That Let You Create
What I want to see are games that let the player create things. BASIC and LISP and PASCAL and PILOT all fit the bill – but they also require mastering some pretty sophisticated concepts. They're fun, but they aren't exactly play. What I would like to see is something as simple as building with wooden blocks, while exploiting all the strengths of the home computer.
And what are those strengths?
- Time. Running out of quarters doesn't mean you have to quit. Nobody's rushing you to finish. You can think, instead of letting the computer train your reflexes.
- Permanence. You can save the result of what you've done, change it, re-use it, limited only by the number of cassettes or diskettes you have on hand.
- World creation. You're manipulating numbers, it's true; but the result can be visible and audible, and it can move. You can create worlds the way fiction writers create them, and bring them to life as, until now, only movie-makers could.
- Individuality. It's your computer. Why shouldn't the results of your play, and your children's play, be uniquely your own? Why should the only difference between you and any other player be your score?
Let's Design A Game
It's easy to talk about this kind of game. It's only a little harder to design it. So I'll give you a detailed game design that you can program. But after what I've said about individuality and creativity, there's no way I could provide you with a complete program listing. I'll just offer detailed documentation for the game, then a few hints on how to program it, and let you design the way the program works yourself. It can easily be executed in BASIC, though at some points you may be happier with machine language subroutines.
(The documentation that follows is long and detailed, but when you're designing a computer game, it's usually a good idea to figure out exactly what the player's experience of playing the game will be like. This is especially true if you aren't as conversant with your programming language as you are with English. By writing out the instructions and rules first, as I have done here, you can save yourself debugging and revising time later.)
You are building a network of railroads. When it's all built, you control the switches and make your train run on the tracks wherever you want.
The game, though simple enough for a preschooler to master, is really an introduction to programming. Model railroaders were designing loops and branches long before electronic computers were a twinkle in Sperry-Rand's eye. If the player does not close all the loops and resolve all the branches, the program will provide a few reminders. If the player still refuses to tie up loose ends, the program will do it.
And, for those who have the most fun playing cooperatively with someone else, the program allows two players to design railroads on the same screen, and run their trains at once (with sometimes disastrous effects).
The Track-Laying Stage
"Railroader" begins by announcing its name and finding out the answers to a few questions. Do you want to lay track or run a train on an already-created track layout? Will there be one or two players? Do you want to lay track at the beginner or expert level? Do you want to save the track layout you create, and if you plan to save it in a disk file, what should the file be named?
When you have made your selections and pressed START, the screen displays a list of instructions:
"Use joystick and joystick button to lay track units."
"Type 1 to go on to the next track unit."
"Type 2 to choose which railroad spur to complete."
"Type 3 when your layout is complete. At this point, if you haven't brought every spur back to the main line, Railroader will do it for you, and if you want to save the layout, Railroader will save it."
"Press any key or joystick button to begin."
When you give the signal, a light green screen appears. If there is one player, a single orange square appears about one-quarter of the way in from the left on the bottom of the screen. If there are two players, a second square appears a quarter of the way in from the right. These squares work like cursors – they mark the area where you are laying track.
Laying Simple Track Units (The Beginner Level)
To lay track, use your joystick. Push forward to make a straight vertical track unit appear in the square. Push left for a track that curves to the left, right for a track that curves to the right. If you change your mind, push a different direction, and the track unit changes. However, the first track unit always starts at the bottom center of the square.
These simple track units look like this:
When you are satisfied with your choice, you reach over to the computer and type 1. Your square now moves to the blank area just beyond the end of the track unit you placed on the screen. If you put on a straight track, your square will appear just above it; if you curved left, your square will appear to the left.
If you are playing alone, you may immediately lay the next unit of track; if there is another player, you must wait your turn to lay track again; when the other player types 1, it will be your turn.
The next time you lay track, your new track unit will begin where the old one left off. If you curved left before, your new track unit will start in the middle of the right-hand edge of your cursor, like this:Cursor
Again, to lay simple track units you have three choices. Let's say that you curved left on your first track unit. Now if you push the joystick left, a straight horizontal track unit will appear. If you pull the joystick toward you, the track will make another curve, this time downward. If you push the joystick away from you, the track unit will curve upward.
With every simple track unit you lay, the track will always begin where the last square left off, and will end up heading in one of the three valid directions you can push the joystick.
If you cause the track to end at the edge of the screen, your cursor will appear at the opposite edge. This means that track that ends on the left side of the screen is continued on the right side; track that ends at the top is continued at the bottom.
Erasing. If you want to go back and change the last track unit you completed, push the joystick in the direction of that track unit. Any track unit you laid in the new position will be erased, and your cursor will move to the former square, where you can either lay a track segment or go still farther back, erasing each track segment as you leave it behind. You may erase as many track units as you like, or stop at any point and lay a new track segment. But remember, if you are playing with another player, your turn ends when you type 1. You can erase as many units as you like, but you can lay only one track unit.
When Tracks Touch. At the beginner level, if you cause the track to touch an existing track segment, either your own or the other player's, Railroader will automatically create the following valid patterns:
At the beginner level, and whenever you are touching the other player's track units, you may not cause the two tracks to join. If you are about to cross a curved track, you can choose to curve only in the opposite direction. If you are about to cross a straight track, you can lay only a straight track across it, not a curve that would join it. And if a new track unit would cause your track to run into the end of another player's spur, you will be allowed to lay only curved tracks that turn away from the other player's track:
Erasing Crossovers and By-passes. If you are erasing and come to a unit where your track bypasses or crosses over another track, either your own or the other player's, Railroader will leave the other track intact, and remove only the track from the line you are erasing.
Ending the Track-laying Session. With the beginner-level game, that is the whole track-laying sequence. You just keep laying track until you match up the end of your track with the beginning at the bottom of the screen. When you are ready to quit, type 3. If you haven't linked your track with the beginning track unit, Railroader will automatically lay track from the last unit you created until it links with the first unit, so that the track always makes a closed loop.
Next month we'll go on to the Expert Level Game.