RSS

Tag Archives: dog star adventure

A Few Questions for Lance Micklus

I recently was able to pass along a few questions to Lance Micklus, author of Dog Star Adventure, and I thought some of you might find his replies interesting.

Jimmy: Scott Adams mentioned in a couple of places that you convinced him he should recode his adventure engine using assembly language rather than BASIC. Do you happen to remember how this transpired?

Lance: I don’t recall talking with Scott about this but it was good advice. BASIC would have made these programs very portable – meaning they could easily be ported over from one system to another. But assembly language gave these programs speed and efficiency – and a better overall experience.

Jimmy: Anything at all you can tell me about the creation of Dog Star Adventure would be hugely helpful. As one of the first text adventures to appear after Scott Adams showed it was possible on the TRS-80 and the very first to have its source published in a magazine, Dog Star is quite historically significant, you see. As such, I just played through it yesterday, and I’m just starting to write a little piece about it for my blog.

Lance: In the mid 1970s I worked for Vermont’s public television station as a studio engineer. I also did some computer programming for our station. Since our station was part of the University of Vermont, we used their computers when we needed to. One of those computers had the original text adventure game installed on it. I believe this game was known as Get Lamp [actually, Adventure, of course] and that it was written in Fortran around 1972 [make that 1976 for Crowther’s original experiment, 1977 for the completed game]. It was very popular with the students. I began to play it when I had time, although I never really got into the game too deep.

Eventually, when the University upgraded their computer systems, we lost access to Get Lamp. It was about this time that I got my first personal computer – the TRS-80. I began writing programs to replace the ones I once played on the University of Vermont computers. Dog Star was my attempt to replace Get Lamp.

The story line for Dog Star was influenced by Star Wars. My story takes place on something similar to the Death Star. Star Wars had a Princess Leia. In Dog Star there was a Princess Leya.

One of the influences from Get Lamp that I carried over to Dog Star was the use of a common story telling device known as “the ticking bomb.” In Get Lamp the batteries in the flashlight go dead after a certain amount of game play. After that happens it is impossible to complete the adventure. In Dog Star it was a cheeseburger that got cold.

One of the techniques I used to write Dog Star was to give objects properties. There were actions and there were objects to perform actions on. Eating a cheeseburger was one action that caused something to happen – there was no more cheeseburger after you ate it. Talking to the cheeseburger was another possibility but it didn’t do anything.

Jimmy: This is even more open-ended, but: I wonder if you could talk a bit about what led you to buy a microcomputer at such an early date, and (especially) how you immediately started cranking out such a huge quantity of software. I understand from your web page that you worked in radio and television prior to the TRS-80. What kind of background (if any) did you have with computers?

Lance: I first became interested in computers in 1953 when I was 8 years old. One of my favorite TV programs was Superman starring George Reeves. One of the episodes from season 2 was called “The Machine That Could Plot Crimes.” It was about a machine named Mr. Kelso that was tricked by a bad guy to plot perfect bank robberies. I was fascinated by this machine. After watching the episode, I asked my mother if there really were such machines. When she told me that there were, I decided I had to have one.

Superman's computer

Mr. Kelso's computer from "The Machine That Could Plot Crimes"

In 1964 I got a summer job as a computer operator at IBM in Poughkeepsie. This gave me an opportunity to toy around with a 1401 computer in assembly language. Although computers fascinated me – and still do – I also wanted to pursue a career in broadcasting. Much of my life has been spent going back and forth between these two careers.

Purchasing the TRS-80 in the fall of 1977 was the fulfillment of the dream I had when I was 8 years old – which was to have my own computer. I enjoyed writing computer programs and did it just for fun. I got into publishing my work as a way to share my creations.


As seems to keep happening on this blog, this interview puts the lie to a couple of assertions I made in my previous post. Namely, Lance did have some exposure to the original Adventure, albeit apparently quite briefly given the very limited window of time between Adventure‘s widespread distribution in the spring of 1977 and the release of the TRS-80 that fall. Still, Dog Star is also markedly similar to Scott Adams’s early efforts, such that I can’t believe the similarity is coincidental. Also, Lance’s background with computers was a bit more extensive than I had described it. Ah, well, living and learning is part of what this blogging thing is all about, right?

Just for fun, here’s a picture of Lance from the glory days of the TRS-80:

Lance Micklus, circa 1980

And here’s him and his lovely wife Dianne today:

Lance and Dianne Micklus, 2011

These days Lance is hoping to produce a Christian-themed movie based on the legend of Santa Claus. He’s a very, very nice man.

Next time I really will get back to Scott Adams, and talk about (among other things) that switch to assembly language I asked Lance about.

 

Tags: ,

Dog Star Adventure

SoftSide's Dog Star Adventure issue

Flipping through early issues of SoftSide magazine, one can’t help but notice a handful of people who are absolutely everywhere, churning out games, tools, applications, even feature articles at a dizzying pace. There’s Scott Adams, of course, who in addition to his adventures also wrote a variety of other card- and board-game adaptations and simple strategy games. There’s the Reverend George Blank, who in addition to editing the magazine and writing a pile of games and utilities for it also authored an article speculating on the possibilities for computer gaming:

Few good computer games have been written so far. Of the good ones, some are adaptations of games like chess and Othello [also known as Reversi] which existed first in another form. These games are good if they add a dimension to the play of the game that is not present in its original form (such as the possibility of solo play), and do so in an aesthetically pleasing form. My personal opinion is that such computer adaptations will play a trivial role in the future of computer games and the best ones will be those which take unique advantage of the computer’s capabilities.

And there’s the man who authored Dog Star Adventure for SoftSide‘s May 1979 issue, Lance Micklus. Before doing so Lance had already written and sold: Concentration (an adaptation of a classic game show); Robot (a maze game); Mastermind I and II (board-game adaptations); Breakaway (a pinball game); Treasure Hunt (a mapping exercise in the Hunt the Wumpus tradition); Renumber (a programmer’s utility); KVP Extender (keyboard utilities); and Personal Finance and Advanced Personal Finance (financial software). Most of all he was known for having written Star Trek III.3, a port of a classic space strategy game that originated on HP Time-Shared BASIC; and a suite of terminal emulation software that allowed TRS-80s to communicate with larger institutional machines and with each other via modem. Quite a portfolio, especially considering that Lance was not a seasoned programmer when he came to the TRS-80, having spent his career working as an electrical engineer in television and radio.

The TRS-80 was perhaps the ideal platform for fostering such Leonardos. Since its graphics capabilities were one step above nonexistent, art assets weren’t exactly a big concern. And then of course its sound capabilities were completely nonexistent, so strike that off the list. Combine this with the fact that 16 K of RAM places a sharp limit on possibilities even for the most ambitious, and virtually any program that was conceivable to implement on the TRS-80 at all was doable — and doable relatively quickly — by a single skilled programmer. There’s something kind of beautiful about that.

Another nice facet of these more innocent programming times was a blissful unawareness of intellectual property rights. Certainly the many adapters of copyrighted board games, not to mention that hugely popular Star Trek game, hadn’t signed contracts with the owners of their respective properties. Dog Star Adventure was “inspired” by the middle act of Star Wars, when the crew of the Millennium Falcon is trapped aboard the Death Star and must rescue Princess Leia and escape. It seems somebody got just a bit nervous this time, however, so the Death Star became the Dog Star, Princess Leia became Princess Leya, Darth Vader became General Doom… you get the picture.

As soon as you start the game the debt it owes to Scott Adams is obvious. Here we see the bridge function that Adams’s early games served in action; Dog Star Adventure was inspired by Adams’s work, having been written by someone without exposure to Adams’s own inspiration of the original Adventure. (UPDATE: Um, not quite. See my brief interview with Lance for more on Dog Star’s influences.) Note the “Obvious Exits” convention, and the shift from second-person to first-person narration that Adams initiated with Adventureland:

The game is somewhat easier than Adventureland, with fewer howlingly unfair puzzles, but it still has its dodgy moments, such as the storage area filled with “all kinds of stuff.”

The storage area with its "all kinds of stuff"

Yes, you need some of that stuff; and yes, you have to guess what is there and what the game wants you to call it. I can’t quite decide whether I like this or hate it; there is a certain element of cleverness to the “puzzle” (imagine my satisfaction when I entered GET BLASTER and it worked).

There are also packs of stormtroopers wandering the complex. Fortunately, you can use the aforementioned blaster to take them out.

Taking down a stormtrooper

Unfortunately (but inevitably), your blaster has a limited amount of ammunition, and you can only GET AMMUNITION once in the storage area. So, you’ll be seeing this quite a lot:

Captured!

Superficially, your goal in Dog Star Adventure is the same that it was in Adventureland: gather a collection of treasures into a certain location (in this case, the cargo hold of your spaceship). Clearly Mr. Micklus didn’t get the memo about the Sexual Revolution, because even the Princess herself is implemented as just another takeable treasure.

The Princess, a treasure worth 50 points!

Look a little deeper, though, and you’ll find there’s something going on here that is very interesting. Instead of just collecting for hoarding’s sake, all of these treasures (presumably including the Princess) are actually good for something in the context of the plot. You’re collecting fuel for your spaceship; the Princess’s necklace, with a hidden computer chip that encodes “the location and strength of her Freedom Fighting Force”; General Doom’s battle plans, which you have recorded onto a TRS-80 cassette tape (maybe you should have made a few backups?). Nor does the game end immediately when you have collected all the treasures; you must still get the space station’s hangar doors opened somehow and launch your ship. It’s not exactly compelling drama, but there’s the skeleton of a real plot arc here, climaxing in triumph for the Rebel… er, for the Forces of Freedom.

Freedom for the galaxy

In addition to being available on tape from The TRS-80 Software Exchange for the low, low price of $9.95, the complete Dogstar Adventure was also published as a BASIC listing in that May, 1979, issue of SoftSide for the budget-conscious (or the masochistic). One of the things about this era that feels bizarre today even to those of us who were there is how much software was purchased in this excruciatingly non-user-friendly form well into the 1980s. Not only were program listings a staple of the magazines, but bookstore shelves were full of books of them. When we complain about the illogical puzzles and guess-the-verb issues that plague virtually all of these early games, we should remember that it was possible for anyone with modicum of programming knowledge to find answers for herself just using the BASIC LIST command. When Dog Star‘s parser started to frustrate, for example, I hunted down these lines:

30650 VB$(1)="GO":VB$(2)="GET":VB$(3)="LOOK"
30700 VB$(4)="INVEN":VB$(5)="SCORE":VB$(6)="DROP"
30750 VB$(7)="HELP":VB$(8)="SAVE":VB$(9)="LOAD":VB$(10)="QUIT"
30800 VB$(11)="PRESS":VB$(12)="SHOOT":VB$(13)="SAY"
30850 VB$(14)="READ":VB$(15)="EAT":VB$(16)="CSAVE"
30900 VB$(17)="SHOW":VB$(18)="OPEN":VB$(19)="FEED"
30950 VB$(20)="HIT":VB$(21)="KILL"

Right there are all 21 verbs understood by the game. I would submit that source-diving was not only unpreventable but also anticipated, even relied upon, by authors. In this light some of their design choices are perhaps not quite so cruel and bizarre as they initially seem.

As it happens, I got a little bit too well reacquainted with the tribulations of the BASIC transcriber when I played Dogstar in preparation for this post. In one section of the game there’s a security robot who blocks you from escaping the jail area with Princess Leya. This robot likes McDonald’s hamburgers (in another era I would suspect a marketing deal, but as it is I’ll just have to chalk it up to really bad taste in burgers). Luckily there just happens to be a hamburger lying in the crew’s lounge. Thanks to my BASIC source-diving, I thought I had divined the correct syntax to use to feed it to the robot, but the game obstinately refused to accept it. It turns out that the version of the game I was using had a tiny typo, in this line:

7350 X=22:GOSUB21450IFY<>-1PRINTM6$:GOTO2125

It should have read like this:

7350 X=22:GOSUB21450:IFY<>-1PRINTM6$:GOTO2125

That’s the kind of damage that missing a single colon can do when typing in hundreds of lines of BASIC code by hand. Once corrected I could feed the hungry robot at last.

The hamburger-loving robot

And yes, the original listing is all crammed together like that. The TRS-80’s BASIC interpreter doesn’t absolutely require spaces to separate the elements of each statement, and spaces use memory — so off they go, along with other niceties such as comments. Readable Dog Star Adventure is not.

Which makes the important role it played rather surprising. Remember all those hobbyists interested in creating their own text adventures? Well, as a competently put-together game conveniently provided to them in print (printers were still a rarity in these days), Dog Star gave them a model to follow in doing just that. (While Scott Adams’s adventures were also coded in BASIC, none was printed in a magazine until 1980, and their interpreter/data-file design made them more difficult to deconstruct than Dog Star‘s admittedly less flexible all-in-one approach.) Lance Micklus himself became increasingly absorbed with his communication products, forming a company of his own later in 1979 to market them, and never coded another text adventure. And yet his fingerprints are all over early text-adventure history, as countless bedroom coders built their own designs from the skeleton he had provided. That, even more so than its hints of actual plotting, is the biggest historical legacy of Dog Star Adventure.

Next time we’ll drop in on Scott Adams again, who like Lance Micklus had a very busy 1979. In the meantime, if you’d like to try Dog Star Adventure I won’t make you type it in from scratch. Here’s a saved state for the MESS TRS-80 Level 2 emulator — and yes, the hamburger-eating robot works correctly in this version.

 

Tags: ,