RSS

Hunt the Wumpus, Part 1

At the height of the hippie era, two fellows named Bob Albrecht and Leroy Finkel founded the publishing company Dymax in San Francisco to write books about BASIC. Yet Albrecht in particular had ambitions that went beyond merely selling books about computers. In those days computers were still the stuff of science fiction: huge, sinister machines that were always going haywire and causing Captain Kirk all sorts of problems. For this to change and for Albrecht’s dreams of computers as tools of fun and creativity to be realized, people needed access.

Albrecht, apparently a very charismatic and persuasive man, managed to wheedle a physical PDP-8 out of DEC and a remote terminal connection and an allotment of shared computing time out of HP. He soon turned Dymax’s Menlo Park offices into a sort of computing open house, where anyone could drop in and just play with the machines. By 1972 the for-profit publisher Dymax had spun off a very different institution Albrecht named The People’s Computer Company. PCC was not really a company at all — or at least not a company terribly interested in actually making money. Its name was in fact inspired by Big Brother and the Holding Company, the late-60s band that boasted one Janis Joplin as its singer, and this fact shows where its heart really lay. San Francisco was still largely living the hippie dream in 1972, even if some of the luster had begun to fade post-Altamont, and Albrecht and PCC fit right in with the counterculture there. Their mission was to bring computers to the people, which they accomplished not only through their open house but also through a newsletter whose first issue appeared in October of 1972. Its banner read: “Computers are mostly used against people instead of for people. Used to control people instead of to free them. Time to change all that. We need a… People’s Computer Company.”

The atmosphere at the Menlo Park office was described in this way by Steven Levy in Hackers:

The air was usually filled with the clatter of terminals, one hooked to the PDP-8, another connected to the telephone lines, through which it could access a computer at Hewlett-Packard, which had donated free time to PCC. More likely than not, someone would be playing one of the games that the growing group of PCC hackers had written. Sometimes housewives would bring their kids in, try the computers themselves, and get hooked, programming so much that husbands worried that the local matriarchs were abandoning children and kitchen for the joys of BASIC. Some businessmen tried to program the computer to predict stock prices, and spent infinite amounts of time on that chimera. When you had a computer center with the doors wide open, anything could happen. Albrecht was quoted in the Saturday Review as saying, “We want to start friendly neighborhood computer centers, where people can walk in like they do in a bowling alley or penny arcade and find out how to have fun with computers.”

This was the environment that the 27-year-old Gregory Yob wandered into one day, probably around the time that that landmark first issue of PCC’s magazine was being published. At the time a certain collection of grid-based guessing games written by Albrecht himself was popular there. Hurkle was probably the first of the kind:

RUN
HURKLE

WANT THE RULES?Y
A HURKLE IS HIDING IN A GRID, LIKE THE ONE BELOW.


                          NORTH

               9    . . . . . . . . . .
               8    . . . . . . . . . .
               7    . . . . . . . . . .
               6    . . . . . . . . . .
               5    . . . . . . . . . .
        WEST   4    . . . . . . . . . .   EAST
               3    . . . . . . . . . .
               2    . . . . . . . . . .
               1    . . . . . . . . . .
               0    . . . . . . . . . .

                    0 1 2 3 4 5 6 7 8 9

                          SOUTH

TRY TO GUESS WHERE THE HURKLE IS HIDING. YOU GUESS
BY TELLING ME THE GRIDPOINT WHERE YOU THINK THAT
THE HURKLE IS HIDING. HOMEBASE IS POINT  0,0  IN
THE SOUTHWEST CORNER. YOUR GUESS SHOULD BE A PAIR
OF WHOLE NUMBERS, SEPARATED BY A COMMA. THE FIRST
NUMBER TELLS HOW FAR TO THE RIGHT OF HOMEBASE AND
THE SECOND NUMBER TELLS HOW FAR ABOVE HOMEBASE YOU
THINK THE HURKLE IS HIDING. FOR EXAMPLE, IF YOU 
THINK THE HURKLE IS 7 TO THE RIGHT AND 5 ABOVE
HOMEBASE, YOU ENTER  7,5  AS YOUR GUESS AND THEN
PRESS THE 'RETURN' KEY. AFTER EACH GUESS, I WILL
TELL YOU THE APPROXIMATE DIRECTION TO GO FOR YOUR
NEXT GUESS. GOOD LUCK!

THE HURKLE IS HIDING - TRY TO FIND HIM!

WHAT IS YOUR GUESS?5,5
GO NORTH

WHAT IS YOUR GUESS?5,2
GO NORTH

WHAT IS YOUR GUESS?5,1
GO NORTH

WHAT IS YOUR GUESS?5,0
GO NORTH

WHAT IS YOUR GUESS?5,8

YOU FOUND HIM IN 5    GUESSES!!!
LET'S PLAY AGAIN.


Later variants made things a little more complicated: in Snark, one must enter the radius of a circle around a central gridpoint to be informed whether the snark is inside or outside, while Mugwump (the most difficult) tells only how far in a direct line the mugwump is hiding from each guess, leaving the player to puzzle out the direction for herself. In a sense, these are not really games at all; there is no way to really lose, only to end up with a lesser or greater total of guesses. One might imagine people competing against one another in the social atmosphere of PCC, but since each game is randomly generated it’s impossible to really know what two scores mean in relation to each other.

Yob’s reaction to these games was, in his own words:

“Eech!!” Each of these games was based on a 10X10 grid in Cartesian co-ordinates and three of them was too much for me. I started to think along the lines of: “There has to be a hide and seek computer game without that (exp. deleted) grid!!” In fact, why not a topological computer game — imagine a set of points connected in some way and the player moves about the set via the interconnections.

A “topological computer game” in which “the player moves about the set via the interconnections.” Starting to sound like something you recognize?

 

Tags: ,

In Defense of BASIC

If there’s a programming language that just don’t get no respect, it’s BASIC. One could make a pretty good little bathroom reader from all the snarky comments it’s attracted over the years. My favorite is this gem from Edsger W. Dijkstra: “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC. As potential programmers they are mutilated beyond hope of regeneration.” (I think Dijkstra’s slightly stilted phraseology works better if you imagine it being said with a heavy Dutch accent.) That’s a bit hyperbolic, to be sure, but certainly BASIC has a lot to answer for. When I was a kid trading software on my trusty Commodore 64, saying a program was written in BASIC was as good as saying that it sucked. And things haven’t changed that much today. Has any development environment, ever, produced as much awful software as Visual BASIC? I must admit that learning that a program was written in Visual BASIC is still sufficient reason to make me not even try it.

But despite all that, BASIC’s importance in the history of computing is immense. Before it, there existed two principal computing cultures. First there was the mainframe culture. Centered around IBM and a few other big companies that tried to compete with it, it was marked by what Steven Levy so memorably called the “priesthood” model of computing common to government and big business: a few highly trained, lab-coated elites serving as minions of The Machine, doing everything by (IBM’s) book, with creativity and fun strictly Off Limits. The other culture was the hacker culture that sprung up at MIT and similar technical universities and perhaps the occasional smaller company: a group of generally young savants who were fascinated by the world inside the machine and lived to hack, who scoffed at the conservatism and groupthink of IBM and particularly embraced the smaller machines of the more freewheeling Digital Equipment Corporation (DEC). Different as they were, neither of these cultures cared much about making computers accessible to the everyman. Neither culture had any time for or interest in anyone who did not think in bits and bytes and registers.

When John Kemeny and Thomas Kurtz designed and implemented the Beginner’s All-Purpose Symbolic Instruction Code at Dartmouth College in 1964, they were not trying to please hackers or computer scientists. They were, rather, trying to make it possible for “ordinary” individuals to productively use computers. Today the idea of a programming language for the masses is almost oxymoronic; they simply load up their computers with the latest from Microsoft, Apple, or whomever, and leave the programming to the professionals. Back in 1964, however, and for quite a long time afterward, applications software in the way we know it today did not really exist. Using a computer for any but the most rote of tasks virtually required programming it; certainly, at any rate, using a computer creatively did. In attempting to bring computing to the masses, Kemeny and Kurtz’s goals were not so much technical as sociological, political, even ideological. A third computing culture, one I already began to discuss when mentioning HP Time-Shared BASIC and Creative Computing magazine in the context of The Oregon Trail, began with BASIC at Dartmouth in 1964 and remained associated with the language for many years.

While the priests in their climate-controlled data centers and the hackers sequestered away in their cubbyholes at MIT were oblivious to the changes that were wrenching society in the late 1960s and early 1970s, the BASIC culture was full of counterculture excitement. They were all about bringing these machines out of the banks and the ivory towers and putting them at the disposal of the street. That makes their work as important as that of the hackers who were inventing C and Unix and laying the foundation of the Internet at about the same time. Sometimes, more perhaps than either would first want to admit, the two cultures even intersected, as they did in the case of the game I want to talk about in my next historical post, Hunt the Wumpus, which originated in HP Time-Shared BASIC but was novel and appealing enough to be attractive to the traditional hacker mindset as well — appealing enough to influence the first works of true IF.

As for BASIC, let’s remember to give it its historical due. If you’re excited by computers as artistic tools with relevance to the world and the people around them, you should recognize its place in forging those connections. The sniffing condescension of elitists like Dijkstra seems pretty unattractive indeed in this light.

So, yeah, respect is due. Now just don’t ask me to actually use the thing.

 

Tags: ,

On the Trail of the Oregon Trail, Part 5

The Oregon Trail is all about resource management. You start the game with $700, which will have to serve as your non-renewable bankroll for the entire trip. From this you must buy your oxen team as well as food, ammunition, clothing, and “miscellaneous supplies” (which basically comes down to medical supplies). Play then proceeds through a series of up to 18 turns, each representing two weeks on the trail. At the beginning of each you can choose whether to hunt or simply press onward. In addition, you pass by a fort every other turn, where you can purchase additional supplies if you like. And you have to decide if you want to eat poorly, moderately, or well during that period, balancing your food supplies with the risk of illness that comes from a poor diet and hard work. During the body of each turn, you are usually subjected to a randomly chosen event of some kind. Most of these are of the unfavorable variety. This series of misfortunes and disasters is what most people remember best about the game:

“WAGON BREAKS DOWN — LOSE TIME AND SUPPLIES FIXING IT.”
“OX INJURES LEG — SLOWS YOU DOWN REST OF TRIP.”
“BAD LUCK — YOUR DAUGHTER BROKE HER ARM. YOU HAD TO STOP AND USE SUPPLIES TO MAKE A SLING.”
“WILD ANIMALS ATTACK!”

According to the City Pages article, these last were hostile Indians in the original version, which would certainly have been more exciting to imagine if less politically correct. Telltale signs of code modifications around line 2885 bear this out. (Interestingly, the immortal “YOUR WAGON BROKE AN AXLE!,” source of a long-running Internet meme, is not yet in this version.) This tragic litany is occasionally broken by “HELPFUL INDIANS SHOW YOU WHERE TO FIND MORE FOOD,” but most of the time it’s a hard life indeed on the trail — which I suppose is accurate enough.

Rawitsch strove mightily to make the program accurate in its simulation of the trip, even constrained as he was by the limitations of his computing hardware and HP BASIC. The likelihood of the various randomized events are based as much as possible upon historical reality. The terrain changes; the going gets slower and harder later in the trip, when you begin to pass through the Rocky Mountains. Even the weather changes, requiring more clothing. In fact, there is more going on below the surface than you might realize. A peculiarity that The Oregon Trail shares with many other BASIC games of this era is that it seems to expect — even to depend upon — the player having a look at the code in order to fully understand what’s going on in the game. For instance, I didn’t realize that stopping at a fort for supplies dramatically reduces the miles you can cover in a single turn until I read that in the code. Likewise, it is easy to miss the terrain changes and the effect they have on the game if you haven’t at least skimmed through the code.

As a narrative experience, The Oregon Trail is more compelling than it perhaps has any right to be. Its communications are terse indeed, but one really does get the sense of embarking upon a long and dangerous journey. As I limped ever close to my destination of Oregon City, with one of my oxen injured, low on food and supplies, with winter fast closing in, I felt real tension and concern for my little family. The “you are there” feeling is further enhanced by the occasional “action” sequences in which you are given a limited amount of time to type the word “BANG” in the hopes of success at hunting or at defending yourself from bandits or animals. The game is relentlessly unforgiving; failing to stockpile enough food for the coming turn, or enough medicine or bullets, leads to instant death. Unlike in more typical early adventures games, where instadeaths are rather comical in their unexpectedness and cruelty, these feel believable. It was a hardscrabble existence indeed on the trail, and I’m sure plenty of real would-be settlers died for exactly these reasons. There’s actually a consonance between gameplay and narrative that’s rather rare to find even in modern storygames.

My personal strategy is to buy little if any food, reserving my precious money for other things. I then hunt about every other turn, taking advantage of the fact that I know my way around a keyboard pretty well. I also try very hard not to carry too much stuff at any time, as I always seem to end up losing it for nothing in some disaster or other. Traveling light, however, means more stops at forts; my biggest problem is usually running out of time, being trapped on a mountain trail when winter arrives. If you develop a favorite strategy of your own, maybe one that works better than mine, feel free to tell about it in the comments.

The Oregon Trail story after 1978 has been much better documented than has its early years, so I won’t devote much space to that. By 1980 MECC had purchased 500 Apple IIs and installed them in classrooms all over Minnesota, where children used them to (among other things) play the freshly ported Apple II version of The Oregon Trail. There followed a version with accompanying full-color illustrations (1985), a CD-ROM extravaganza version (1996), and, eventually, that Facebook version (2011), just to hit some of the highlights. When you strip away all of the multimedia that encrusts them, it’s really quite surprising how closely these later versions hew to the model that Rawitsch designed back in 1971. It’s not the most sophisticated storygame in the world, but it really is better than it ought to be. I’m glad I took the time to get to know it better, and, again, happy to be able to offer the code to anyone else who’d like to dive in. I’d go so far as to place it alongside Eliza and Hunt the Wumpus as one of the three pre-Adventure computer games that anyone interested in the history of interactive narrative really ought to know.

 
 

Tags: ,

On the Trail of the Oregon Trail, Part 4

It’s been a while since I’ve written on this subject. That hasn’t been because I’ve lost interest; rather the contrary actually. I’ve been doing some digital archeology with my new friends Michael Gemeny and Bob Brown of the HP 2000 Yahoo Group, and we’ve been able to turn up something very cool indeed.

On an old tape image from the school district of York County, Pennsylvania, Michael found a program with the very promising name of “Oregon.” Sure enough, when we loaded it onto the system we found a version of The Oregon Trail dated March 27, 1975, more than three years older than the earliest previously known version. I’ve uploaded the program listing to this site, if you’d like to have a look. Looking at said listing has already proven to be very interesting for us.

First of all, it appears that the little history lesson I gave in part 3 of this series was not entirely correct. When Rawitsch came to MECC in 1974, he evidently did not port the game — or at least not immediately — to run on MECC’s centralized UNIVAC mainframe. He rather typed it out once again on another HP-2100 system. That makes a great deal of sense when one considers that these little systems were quite common in Minnesota schools and, indeed, in schools all over the country. By early 1975 MECC was obviously already giving the program away to school districts in other states.

It’s also evident that Rawitsch, or MECC, or at any rate someone, continued to improve and refine the game for years before it made its way to the Apple II. The 1978 version found in Creative Computing has some features not present in the 1975 version. In both versions, the player must enter a word quickly into the terminal at certain points: when hunting, when attacked by bandits, etc. The 1978 version, however, has a difficulty setting; when the program starts, the player is asked how good a shot she is, from “ace marksman” through to “shaky knees.” This determines how much time the player is given to type the word. And unlike in the 1975 version, in 1978 that word is chosen randomly from four possibilities — “BANG,” “BLAM,” “POW,” and “WHAM” to be specific. In 1975 it’s just good old “BANG” all the time. For those interested in looking at the differences, you can also download the 1978 version. This one isn’t quite as authentic as the 1975 one. I spent quite a lot of time fixing problems in the code that resulted from the OCR, and in the process also ported it back to HP-BASIC from CDC Cyber BASIC. I believe the problems have all been sorted out, however, and it should look and play just as it would have on an HP system back in 1978.

So, if we take the liberty of calling these major version numbers 2 and 3, it sure would be nice to have version 1, wouldn’t it? Unfortunately, that doesn’t look likely to happen. Since this version apparently never made it beyond the system on which Rawitsch, Heinemann, and Dillenberger wrote it, and since Rawitsch deleted it off of that system in 1972, the only hope seemed to lie with that famous yellowing printout Rawitsch carried over to MECC. This picture from an Oregon Trail anniversary event at the Mall of America gave us hope, as Rawitsch is holding something that looks suspiciously like exactly what we were seeking.

I was able to contact Rawitsch about that, but the news was disappointing: he no longer has the printout. Barring a miraculous find, it appears that the 1975 version is the best we’re likely to do. Still, that’s a heck of a lot better than 1978. I feel lucky indeed to have found it.

Looking at the code of the 1975 version does tell some very interesting stories in itself. Michael knows much more about HP BASIC than I do, so I’m going to quote him here:

“The line numbers of this code tell an important part of the story which matches the historical accounts. From the looks of it, I would have said that it was being maintained by an accomplished programmer with a sense of pride and dedication. Then it seems to have been maintained by a less experienced programmer, or a programmer lacking the sense of pride, or the time, or perhaps the skill to maintain the appearance of the code.”

This latter programmer would of course be Rawitsch, who re-keyed and modified the program at MECC, initially at least on his own, and who, unlike Heinemann and Dillenberger, was not a trained programmer.

While most of the program is numbered in steps of 5, this pattern is occasionally broken. This is somewhat odd, as Michael informs me that HP-BASIC has a very powerful renumbering facility that Rawitsch perhaps didn’t know to take advantage of. Michael has assembled a list of lines which break the numbering pattern, and which therefore probably indicate places where Rawitsch made changes or additions at MECC. At the risk of belaboring the point, I’ll just paste that in here for the passionately interested.

Line 8- 11 Added MECC name, maintainer, and version
Line 262-263 Caution user against using a dollar sign
Line xx99 added section names in remarks
Line 1332 require user answer to be an integer
Line 1537 added caution about spending
Line 1752 discovered that ‘7 was a bell, added note to that
effect
Line 1902 made question two lines
Line 2392 fixed bug when riders don’t attack
Line 2672 added ammunition losses to heavy rains losses
Line 2792 added ammunition losses to fire losses
Line 2891 may have changed Indians to wolves and cause death
Line 3147 added ammunition losses to wagon damage
Line 3317 added ammunition losses to blizzard damage
Line 3650-3658 added next of kin and aunt Nellie
Line 4012 added another note about ‘7 bells
Line 4279 changed congratulatory message

Working from these clues and the historical record, it might be possible to reconstruct an “original” Oregon Trail. I’ve thought about it quite a lot, but I’m not really certain if it’s a good idea. The end result would inevitably be the product of a lot of conjecture. And, while we can learn much from the line numbers, we can’t know what modifications Rawitsch might have made within certain lines.

But perhaps you’d like to play this thing? If so, here’s how you can experience it in all its 1975 glory in HP Time-Shared BASIC.

1. Telnet to mickey.publicvm.com. (Telnet, mind you. None of that newfangled SSH!)
2. Slowly alternate CTL-J and CTL-M until you see a “PLEASE LOG IN” message.
3. Enter “HEL-T001,HP2000,1”. Without the quotes, of course — and note that those are zeroes. Oh, and the system isn’t case-sensitive, but for the authentic experience you might want to have your caps lock on.
4. Enter “GET-OREGON” to load the 1975 version, “GET-ORE2” to load the 1978 version.
5. “LIST” the program if you like, or just “RUN” it.

Bob Brown has graciously made this system available for all of us interested in this corner of computer history. Poke around as you like — there’s a lot of other interesting programs on there in addition to The Oregon Trail. But do please be polite and respectful if you decide to rummage.

As for our subject today… damned if the thing isn’t kind of fun. More on that when I wrap all of this up very soon now.

Update, October 25, 2018: Mickey appears to be down for good. Sorry, folks, it was nice while it lasted. If anyone should put up a similar system, by all means, contact me.

Update, January 2, 2019: And now it’s up again. Get in there while you still can, folks.

 
 

Tags: ,

On the Trail of the Oregon Trail, Part 3

My search for the original Oregon Trail code as first written at Carleton College having turned up nothing, I set out to find the earliest version I could. That turned out to be the one posted by one Deserthat in his blog. This version appeared in the May-June 1978 issue of Creative Computing. But before I get to that let me talk just a bit about the seven years that elapsed between the game’s creation and its appearance in Creative Computing.

Rawitsch, Heinemann, and Dillenberger were roommates enrolled in the student teaching program at Carleton College in 1971; Heinemann and Dillenberger taught math, Rawitsch taught history. It was Rawitsch who first conceived of and designed The Oregon Trail as a board game, and Heinemann and Dillenberger who suggested that it be computerized and then programmed it in Time-Shared BASIC. The first outside of this trio to play it were the students in Rawitsch’s history class, on a teletype machine which Rawitsch wheeled into his classroom on December 3, 1971. According to Rawitsch, they “loved it.” Rawitsch and many other teachers in the Minneapolis school district used it frequently for the remainder of the term. When Rawitsch left the district in 1972, however, he deleted The Oregon Trail from the system and took it with him as a long roll of printed paper which he ended up tossing into a drawer somewhere and forgetting about.

As it happens, Minnesota was something of a center of computer innovation in these days. In 1973 the state’s legislature founded an organization called The Minnesota Educational Computing Consortium (MECC), with a mandate to seek out and implement new applications for computers in education. A UNIVAC 1100 mainframe was installed at MECC’s Minneapolis headquarters, and some 1500 terminals were connected to it from schools throughout the state. In 1974, MECC hired Rawitsch to work as “a liason between MECC and a group of community colleges.”

Encouraged to think about new applications for computers in education, Rawitsch recalled that yellowing printout of The Oregon Trail. He punched it into a teletype connected to MECC’s UNIVAC over a “long Thanksgiving weekend” in 1974. The UNIVAC was a mainframe rather than a minicomputer like the HP-2100 — a very different proposition altogether. Luckily, it did have a version of BASIC available. [Actually, this is not quite correct. I learned after writing this that Rawitsch initially keyed the program into another HP-2100 system. See Part 4 of this series for more about that.] In addition to presumably being modified by Rawitsch or someone else at MECC to suit the UNIVAC’s implementation of BASIC, The Oregon Trail was also enhanced by Rawitsch himself to be more historically accurate, consistent, and entertaining. That version was played by thousands of schoolchildren all over the state during the next several years.

In 1977, MECC replaced its aging UNIVAC with a top-of-the-line CDC Cyber-73 system, and The Oregon Trail was modified once again to run on that system. This was the version that appeared in Creative Computing in 1978, and the version I back-ported to HP Time-Shared BASIC in order to experience The Oregon Trail in something close to its original form.

Now, as for Creative Computing… well, there’s one hell of an interesting story there as well.

Founded in 1974 by David Ahl, Creative Computing was the first mass-market magazine devoted to computers, predating even Byte by a full year. In keeping with its name, Creative Computing approached its subject not as an exercise in business and engineering, but as an artistic and cultural phenomenon. Its pages have plenty of technical advice and program listings, but also plenty of speculation on what the impending computer revolution really means. These “soft” articles are perhaps not surprising when one considers that many of the people who read the magazine could only dream of and speculate about access to a real computer of their own. There is much enthusiasm, but also some trepidation, most prominently in repeatedly expressed concerns about civil liberties in the new world to come. Both its idealism and its anti-authoritarian bent seem anchored in the by then fading counterculture of the late 1960s. I’m always reminded when I read it of the atmosphere around Berkeley’s Community Memory project, as described so well by Stephen Levy in Hackers.

Before founding Creative Computing Ahl was Education Marketing Manager for DEC. In keeping with this background and with its humanistic focus, Creative Computing was always very interested in the use of computers for education, devoting many pages to the subject in almost every issue. It’s thus not a big surprise that The Oregon Trail ended up there; if anything, the surprise is that it didn’t appear sooner.

By the time it did, MECC, which shows every sign of having been quite the visionary organization, was already getting involved with the new generation of “microcomputers,” as they were called in those days. MECC began installing Apple IIs into many Minnesota classrooms that year. And, yes, The Oregon Trail was ported yet again to run on them.

And so, with that history dispensed with, I’ll finally have a close look at the game itself next time around, which is after all where I’ve been trying to go with this shaggy-dog story all along.

 

Tags: ,