Convinced that the animated adventure game was virgin territory, begging to be explored, I made notes for a new adventure game, in which the player would build machines to defeat the monsters. The idea was that the player possessed insufficient powers to achieve much success in the game on his own, but by building machines, he could overcome the monsters and surmount obstacles to win the game. Using objects as tools in an adventure game was an established idea, and combining and connecting tool-objects into "machines," which might, in turn, be used as components for even larger machines, extended this idea. My model was the Tinkertoy set, in which little pieces are plugged together to form larger structures. I decided that logic circuit elements -- AND gates, OR gates, NOT gates and flipflops -- could process the information provided by "sensors" that detected conditions in the game, and the resulting logic signals could control "effectors" that did things within the game world. Thus, for example, a monster sensor could be plugged into a logic-controlled cannon to make a monster booby-trap. From a small number of sensors, effectors and logic elements, quite a wide variety of machines could be built. In progressing through the adventure game, surviving by using the materials at hand to build tools to solve the problems he faced, the player would be reenacting the history of man, who began by clouting bears on the head with sticks and rocks, and later built great cities out of wood and stone.
In the spring of l980, I submitted a proposal to Personal Software (later renamed Visicorp) to develop an "Animated Adventure Game Program" for the Apple and Atari computers. In spite of my promise of "large lumbering dragons, slow slithering snakes, faithful dogs, and cheerful singing birds," they instead chose to fund a different adventure game (Zork). However, they did introduce me to Ann Piestrup, whose proposal to develop educational software they had also turned down.
A few months later, Ann, an educational psychologist, got a grant from the National Science Foundation to do research and software development regarding "Early Learning of Geometry and Logic Using Microcomputers." The target audience for this microcomputer software was gifted second- and third-graders. My ideas about logic machines in adventure games fit within the scope of the grant, and the prospect of being able to develop these ideas for a year enticed me into joining the project. Mathematics educator Teri Perl rounded out our team. Teri, Ann and I explored the genre of the graphical adventure game, with its animated objects and network of rooms, as a medium for educational software. I implemented graphical adventure game software on the Apple II computer, adopting the conventions of joystick movement, rooms, walls, picking up objects, and so on, that I had used in the Atari 2600 Adventure cartridge.
I used adventure game objects to make some simulated logic elements. For the shapes of these objects, I chose the standard symbols used by electrical engineers in their diagrams of computer circuits. These symbols are called AND gates, OR gates, and NOT gates. (See Figure 4-l.) However, since these symbols appeared on an animated color display, rather than paper, it was possible to show the state of each circuit element. Logic circuits allow only two states, which are called "1" and "0" or sometimes "true" and "false." Orange and white worked well to show the logic state of each gate in a circuit diagram, with the whole circuit drawn on a black background. The logic elements could be interconnected to form a logic circuit, and as it performed a logical calculation, its components flickered between orange and white as they showed the logic signals that propagated through the circuitry.
Logic Element Symbols
The grant funding lasted for a year. At the end of that time, we had a very interesting logic circuit simulation. The circuits were embedded in an adventure game, but it was not a good game. The machines a player could build were rather ineffectual against the game's voracious alligators. Kids just ignored the circuits and manually dodged alligators while they hunted through the mazes for treasure. Obviously, more work was needed. Venture capital financing enabled us to keep going. Ann, Teri and I started The Learning Company, together with Leslie Grimm, who had written several learning games already, and Jack Smyth, who became president.
Two things were added to the logic circuit simulation to make it into a useful, saleable product: a tutorial which explained how to use the circuit simulation, and a game integrated with the simulation so that the player could build circuits in order to win the game. This was called Rocky's Boots, after the boots in the game, which were activated by logic signals, and Rocky the Raccoon, who danced a jig when the player solved a logic puzzle by building a correct circuit. With Leslie Grimm's help during its final few months of development, I finished Rocky's Boots in September, l982.
Rocky's Boots was not the adventure game I had originally wanted to create. It was not an adventure game at all. Rather, it was educational software set in an adventure game world of rooms and objects. It used the connected rooms like book pages to make an explanation, a tutorial, about the circuits. It used adventure game objects as movable components, to be plugged together to make the circuits themselves. And finally, I contrived a rather bizarre game of targets, sensors, and a target-kicking boot in order to create a game situation in which the player could employ his new skill in building logic circuits to solve a wide variety of problems.
Each component in a real digital logic circuit is always in one of two states; physically, two different voltage levels occur in the wires of the circuit. These two states are referred to as true and false, or logic l and logic 0. In the graphical depiction of the simulated circuit, orange and white were used to show the logic states of each circuit element. As the circuit progressed through a computation, the user could observe signals as they propagated through the circuit. The explanation given was this:
These machines are like the lights in your house.
Electricity turns them on. But in this game you can
see the electricity. It is orange.
In the tutorial, I chose to talk about electricity, which kids (and adults) know of as invisible stuff that flows inside of wires, rather than signals, a concept that struck me as difficult to explain to a l0-year-old. This made possible a wonderful metaphor: the electricity -- the orange stuff -- was liquid fire that flowed through the transparent pipes which composed the circuit. I was pleased, one day, to hear a young user refer to a wire in the simulation as a "pipe."
Signals flow in and out of real digital logic components along wires, and some of these wires are inputs (accepting signals) and others are outputs (producing signals). In the simulation, I invented symbols to identify inputs and outputs (See Figure 4-2). Two components could be connected by attaching the output of one to the input of the other. The electrical signal flows one-way across the connection: from the output to the input.
Symbols for Inputs and Outputs
The logic circuit elements in the simulation are adventure game objects, and they exist within the network of adventure game rooms. These circuit-objects could be picked up, moved around, and dropped, as is standard in adventure games. When two circuit-pieces were plugged together, the resulting circuit could be picked up and moved as a single object. There was a means of unplugging (the knife object) which restored the two circuit-pieces to being separate objects.
There were more than a dozen kinds of circuit components in Rocky's Boots, and these fell into three categories: sensors, effectors, and logic elements. Sensors detected conditions in the game, and therefore produced only output signals. Effectors, on the other hand, could cause actions to occur in the game, but did this under the control of an input signal. Logic elements had both inputs and outputs. A logic element performed some sort of transformation on its inputs, passing the result on as its output signal. The obvious arrangement of sensors, effectors, and logic into a circuit was for the sensor to feed signals into a logic network, which in turn produced signals to control some effectors. This is much like a living creature, where the eyes and other senses send information along nerves to the brain, which decides what to do based on what it perceives, and then sends signals to the muscles in order to take action.
The logic elements available for making these simulated brains were AND gates, OR gates, NOT gates, flipflops, delays, clocks and wires (See Figure 4-3). Flipflops and delays were memory elements. Clocks provided timing signals. Wires were for conveying signals from point to point, unchanged. The real logic operations were performed by the AND, OR and NOT gates. A NOT gate produced an output which was the opposite of its input. An AND gate turned its output on (orange) only if both of its inputs were on, whereas an OR gate turned its output on if either of its inputs were on.
Logic and Memory Elements
The wires in Rocky's Boots were criticized occasionally for being one-way when in real circuits wires can carry signals in either direction. This is a valid criticism, because there are some computer circuits (bi-directional data busses) that use physical wires in two-way fashion. However, to deal properly with two-way wires would have required simulating the circuit at the impedance level rather than, as was done, at the (simpler) logic level. Another way that the circuits of Rocky's Boots deviated from the reality of physical circuits was that if the outputs of two real chips were hooked together, one of the chips might be "fried" (a technical term for overheating to the point of no longer working). Rocky's Boots didn't allow two outputs to be plugged together, and thus missed a chance to faithfully mimic that aspect of real circuits.
Sensors varied according to what they sensed. There were green-sensors, blue-sensors and purple-sensors, and also sensors which detected targets shaped as squares, circles, diamonds and crosses. Each sensor sensed the presence or absence of one color or shape, and produced a corresponding on-or-off logic signal at its output. There was also a different kind of sensor in the hidden alligator room, an alligator radar, which sensed the relative position of the alligator.
Effectors caused things to happen in the game. When the boot was activated (by turning on its input), it flew across the screen to kick a moving target. When the thruster was turned on, it moved around the circuit it was part of. The bopper was useful for knocking pesky alligators out of the way. The clacker and On-Off sign gave auditory and visual feedback to the player. (Figure 4-4 shows some sensors and effectors.)
Effectors and Sensors
The games in Rocky's Boots all had the same format. The player's goal was to build a logic circuit which selected a specified subset from a group of "targets." The targets had attributes of color (blue, green and purple) and shape (square, circle, diamond and cross). The targets would pass by an array of sensors which scanned each target for the presence of individual attributes. A green-sensor, for example, would turn on when it scanned a green target. A circle-sensor responded to targets which were circles. The player needed to use the signals produced by the sensors as inputs to the circuit he built. For example, if a green-sensor and a circle-sensor were plugged in to the two inputs of an AND gate, the AND gate turned on only in response to a green circle being scanned. If, in turn, the output of the AND gate was plugged in to the logic-activated boot, then when the AND gate turned on, the boot would fly across the screen to kick the current target -- the green circle.
The sensors detected conditions within the game -- the presence of targets with certain attributes; the boot was an effector that produced an action in the game world -- kicking a target was the means of selecting it. The targets which were meant to be kicked were assigned positive point values, and the other targets received negative point values. Thus, to achieve the maximum score, the player had to build a circuit that kicked exactly the intended subset of the targets. Figure 4-5 shows the sensors, circuit and boot, with a target being scanned as it passes near the sensors.
Boot, logic circuit, sensors and target
This game was hard to explain because there was no consistent fantasy or metaphor behind it. With its electricity, targets, and boots, it certainly could be called a mixed metaphor. However, it did serve the purpose of providing a format in which a wide variety of logic circuit design problems could be posed. It worked fine for problems in combinatorial logic, which encompasses the AND, OR and NOT logic elements. Sequential logic deals with a broader class of elements, adding time-dependent elements such as flip-flops and delays. The target-kicking format was well-suited to posing sequential logic problems, too, because the targets were processed sequentially, moving past the scanning sensors one at a time.
There was a definite need for the player to either discover, or have it explained to him, how the logic elements worked, and related matters, such as how to connect them into circuits. An adventure game in which the player discovered, on his own, how logic gates worked, and then built circuits with them to solve problems would, of course, have been wonderful. However, using explicit verbal explanations was a direct route to getting someone to understand the simulation.
In this implementation of the graphical adventure game idea on the Apple computer, it was possible to put alphanumeric text on the screen. The text could be considered as part of the room, with each room containing its own set of paragraphs or sentences. The cursor could be moved from room to room, with the user viewing each new screen full of text., in the same way that a reader moves from page to page in book. The method used to move from "page" to "page" on the screen -- namely, the normal joystick-controlled method of moving from room to room -- had the advantage, like a book, of being self-paced and of allowing the reader to back up and look at earlier material.
The adventure game rooms filled with text emulated book pages; the adventure game objects were used to simulate digital logic circuits. Since the objects existed in the space defined by the network of rooms, working logic circuits could be freely intermixed with explanatory text. Thus, for example, a phrase of text could introduce the AND gate logic element, with a simulated AND gate appearing immediately below the text, available to be experimented with by the player. (See Figure 4-6.) A sequence of rooms could introduce a series of ideas, with working parts inserted every so often, upon which to try those ideas out. The adventure game rooms had walls that blocked the movement of the cursor, and these walls were useful in channeling the movement of the player's cursor along a linear path.
Text and working circuit elements are interleaved in an interactive tutorial
The linear sequence of rooms, with no alternate paths,
seemed to work best for material of a tutorial nature, where ideas needed to be
introduced in order. I tried a fork in
the path in one tutorial in Rocky's Boots:
players with joysticks connected to their computers were asked to go one
way, and players without joysticks another way. This seemed to cause more problems than it solved. Wondering what they would be missing,
players sneaked into the wrong path, and then became confused when they reached
the point where the two alternate paths rejoined. In a linear, non-branching series of rooms, the author can
control the order in which ideas are presented.
Computer-assisted instruction had been criticized for doing nothing more than mimicking books; its programs were derided as computerized "page-turners." Critics quite rightly insisted the computer should be used to do something that was not possible with printed material. The combination of screens of text with animated, interactive illustrations seemed a step in the right direction.
A network of adventure game rooms was effective for simulating pages from a book because the adventure game has a simple, consistent model of space. Book pages exist in different locations in space in a real book, and are hinged together on one side. We learn, at a young age, how to thumb from page to page in a book. This is moving through book-space. This action does not interrupt the act of reading, or force the reader to look momentarily elsewhere. Book pages simulated by adventure game rooms have similar advantages: the means of moving through space, and hence from page to page, is part of the adventure game. When a joystick is used to control the cursor's motion from page to page, this motion can be controlled without the need to look away from the screen. For children, and other people who are not good typists, it is distracting for them to have to periodically interrupt their reading in order to hunt on the keyboard for the key that moves them to the next page.
Electricity is hard to understand because it is invisible, and, in addition, because it acts very quickly: a single electronic pulse travels through a circuit and does its work in a few billionths of a second. In simulation, happily, time can be slowed down to a convenient rate. Choosing a simulation time rate is a compromise: if the simulation moves too slowly it is boring and tedious, but if events succeed one another too rapidly, then the viewer becomes confused about what caused what. One event causing another one occurs, in normal experience, with the two events near each other in space, and with the evoked action immediately following the provoking action in time. The graphical format of the logic simulation con conveniently show spatial relations such as nearness, and, to achieve maximum clarity, the designer's goal must be to make the delay between an event and its cause long enough to discern which came first, and short enough to make it evident that the two events are related. In such a simulated machine, if the different states and positions of all its parts are clearly discernable, and if the viewer can see how changes in one section of the machine cause other parts to change, then simply watching the machine in action is very informative. A transparent model of a car engine, with the pistons moving up and down, is informative in a similar way. Watching a well-timed graphical simulation can strongly suggest relations of cause and effect among the elements of the simulation.
If, furthermore, the user can experiment with the parts of the machine, to test out his theories of how the parts work, and what causes what, then the user has a very powerful tool for understanding the phenomena being simulated. He can experiment and discover how the parts work.
Ann Piestrup advocated the idea that "the computer never tells the child that he is wrong." The interactive tutorials provided a risk-free environment for experimentation. It was Leslie Grimm's idea to provide "practice rooms" at the end of each tutorial, to encourage experimentation. Still, a learner needs feedback at some point to test himself, and know if he is getting the idea: the win-lose outcomes of the games provided this feedback. Even in the games, failure to win was mild and reversible: an incorrect circuit just did something other than what the player intended, and it could be rebuilt easily, with the player proceeding toward a correct solution by trial and error.
If the user can combine the simulated elements into more complex structures, this helps him test his understanding. Children build from a set of parts with Tinkertoy sets, Lego bricks, Erector sets and simple wooden blocks. Using the computer, building is done with little shapes on the screen rather than little physical objects. Rocky's Boots is an electronic Tinkertoy set.
The use of orange and white in the simulation to show the on-or-off state of each component makes the behavior of a circuit visible. The ideas of psychologist Jean Piaget suggest that a child is able to grasp concepts with concrete representations first, and abstract ideas later in his life. Orange and white are concrete. By contrast, digital logic circuit design has traditionally been taught in a much more abstract form using a branch of mathematics called Boolean logic. Boolean logic uses an algebraic language of logic equations, and symbols standing for logic signals. It is not surprising that grade-school children didn't or couldn't use Boolean logic. It is interesting, however, that these children could understand the underlying logic circuits when the circuits were given a concrete representation.
The graphical images I chose to represent the AND, OR and NOT gates were the same symbols that electrical engineers use when they design computer circuits. Thus, the logic circuits that the player designs on the screen look just like the circuit diagrams in the back of computer reference manuals. But, there is a difference: the on-screen circuits work. These circuits are both symbolic diagrams and working, fully functional logic circuits. The abstract with its symbols and the concrete with its immediately perceivable objects approach rather closely here. I call these concrete abstractions symbol-gizmos.
The graphical simulation of logic circuits in Rocky's Boots was important both because of its topic, and because of its general method of presentation. The topic, digital logic circuits, is basic to any understanding of computer hardware. Every computer in existence is made from the simple logic and memory components presented in the simulation. An understanding of AND gates, OR gates, NOT gates, and flipflops is a firm foundation from which to reason about the workings of a complex piece of computer hardware, just as in chemistry, a knowledge of the properties of atoms is a prerequisite to understanding the behavior of molecules.
The method of presentation of the logic circuits is as an interactive graphical simulation. Simulation offers a phenomenon from the world faithfully mimicked (but safely contained) in the computer. Graphical simulation brings the eye's great powers of analysis to bear in aiding the understanding, and in grasping the relations of cause and effect which govern the phenomenon under study. Interactivity lets the user test his tentative understanding by tweaking parts of the simulation and seeing if it behaves as expected.
Rocky's Boots simulates several different things. It uses the adventure game metaphor of connected rooms to simulate a large space. By dropping pages of text along a path through the rooms, it is easy to simulate a book. Adventure game objects are used to simulate individual logic elements, and by providing a means plugging these elements together, it is possible to simulate logic circuits.
Interactive graphical simulation has been explored, in a preliminary way, in a few areas. Much uncharted and fertile ground beckons. Those microcomputer software products which have been most interesting, useful, and successful -- electronic spread-sheets, word processing, and video games -- may be fairly described as interactive graphical simulations. A spread-sheet program like Visicalc simulates a financial system. A word processing program simulates scissors, paste, paper, and a typewriter. Video games simulate spaceships, missiles, bouncing balls, and other things.
Many provocatively complex phenomena await interpretation into the interactive graphical format -- trains and other vehicles which move cargo through spaces, kayaks in swirling river currents, planets orbiting their stars, competing creatures in evolving ecologies, visible melodies smeared upon harmonic wallpaper, looping programs in throbbing execution, and human thought darting across a tangled network of knowledge.
Copyright © 1983 Warren Robinett. All Rights Reserved.