Wednesday, September 23, 2009

Retro Shop Talk: Roger Schrag on Arex (1983)

I've recently had the pleasure of corresponding with Roger Schrag, a then-young and very talented TRS-80 Model I and Color Computer coder circa the early 1980's. He wrote several games published by Adventure International, and some very popular utilities for The RAINBOW magazine.  I owe him a personal debt for creating EDTASM+, a patch that made the cartridge-based Radio Shack EDTASM editor/assembler for the Color Computer compatible with disk drives -- for FREE! -- and gave me my first practical chance to tackle machine language programming. 

I thought it would be fun to revisit his games of the early 1980's and ask a few questions about them, and he has graciously offered to share his recollections of the time. 

We're going to start with the action game Arex, which Mr. Schrag programmed for the TRS-80 Color Computer.  This was a conversion project -- the game was originally created by Willam Muk Koon Yet for the TRS-80 Model I in 1982:




Arex is an abstract action game that plays like a combination of Qix and Targ.  The player controls a "spaceship" (as depicted on the box art, anyway -- it's just a plain white plus sign in the game) whose mission is to invade 90% of the available screen real estate, "eating" immature enemy shapes and avoiding the mature, dangerous ones.  There's a time element too -- the player's trail of territory-occupying rectangles starts to decay into dangerous white dots if the player stops moving for too long, undoing progress and making navigation riskier.

I'm impressed with both versions I played -- Arex is a great game that should have gotten more attention than it did.  I think it came to market at the worst possible time, and really before its time -- its simple four-direction control scheme, pick-up-and-play rules and schematic visual style would have made it a natural on portable game devices from the GameBoy on up to modern mobile phones.  Someone ought to track down the rights and release an updated version.

Origins:

Roger Schrag was given the assignment of converting Arex (and Airline) to the TRS-80 Color Computer after he ported the classic Scott Adams Adventure interpreter to the CoCo on his own initiative.  He recalls:
If I remember right, after I got my Color Computer, I translated the Scott Adams Adventure engine on my own from the Model I to the Color Computer. Once I had an engine working on the Color Computer, I could generate Color Computer versions of the Scott Adams Adventures in an automated fashion. I never had to play the adventure on the Model I or know any part of the solution in order to convert it. I showed this to Adventure International and they immediately gave me a contract--I got royalties and credit on the Color Computer version of the Scott Adams Adventures. Then they came to me with Arex and Airline and asked if I would convert them also.

I began the conversion process by porting the code exactly as-is, just making changes to allow for hardware. This kept the game design intact. (I had to rearrange the screen some due to different screen resolution.)  Many things [at Adventure International] were extremely informal and without structure. I don't recall what guidance I was given with respect to matching the original game play or freedom to innovate, but I suspect I was given very little.

I believe AI provided me with nothing but a free copy of the Model I version and the same instruction booklet any purchaser gets. I don't believe I was given any source code, nor any design information. I don't believe I ever had any contact with William Muk. I was a hacker in those days, and had written my own disassembler. The Z-80 machine language was very primitive and easy to disassemble. The 6809E processor in the Color Computer had more registers and instructions than the Z-80, so it was easy to port code instruction for instruction without having to understand what the code did. (Except for hardware issues, of course.)
Playing the Game




The first screen is actually more difficult than some of the later ones, because it's wide open -- the enemies are free to pursue the player swiftly and directly, and the player is free to make all kinds of mistakes.  Later levels have existing walls, which provide shielding of a sort, allow fewer spawning points for the enemy ships, and constrain the player's route to something that should work.  On the first level, there are no rules, and it took some doing to get this clean run:



The screenshot below from level 2 provides a better picture of the gameplay.  The walls of red rectangles are there when the level starts.  The white plus shape is me, the blue rectangles are my trail, and the white dots are early bits of my trail degenerating behind me.  The blue checkerboard thing is a young enemy; the two white shapes are mature enemies capable of taking me down.  The screenshot definitely should NOT be taken as any kind of a strategy tip -- in my quest to show as many gameplay elements in one screenshot as possible, I have gotten myself fatally stuck.  In this picture, I can't cross over my trail of blue rectangles and am just waiting for death to come when my decaying trail catches up with me...



The game has a bit of a learning curve, but it has that classic "one more try" quality, and eventually I got the hang of it.  After hovering around the low mid-thousands for a while, and not getting on the board at all many times, my score finally broke 10K and I made it to level 5.  Hardly an impressive performance, but I figured I'd quit while I was ahead.


 

Roger Schrag Talks Shop:

I asked Roger about some of the technical and business aspects of this game and its era.

On Arex's impressive, Williams-arcade-game-style sound:

I did not use interrupts to manage the sound--I remember being impressed by the games that did. If I remember right, I initially ported the code exactly as-is from the Model I version, making the necessary changes for graphic/sound/controller input hardware. In other words, I started with all of William Muk's original logic and program flow. If I remember right, I didn't have to change much of William's design. The graphics in this game are so rudimentary that there isn't much CPU use going on. That allows plenty of time for managing time delays to get the sound effects correct.
On the game's solid, flicker-free graphics, an improvement on the original:

I remember the video flicker problem inherent in the Model I's design (video goes blank when CPU accessing video memory). I don't remember at all how that whole issue played out on the Color Computer. I also don't remember Arex having flicker problems. So I suspect I did sync updates with the vertical blanking interrupt. But I can't be sure.
(To my recollection, the Color Computer didn't have a hardware-level flicker problem while video memory was being accessed, but it was possible to update video memory while the screen was being redrawn, creating flicker and tearing if page flipping wasn't used to keep the view stable while the next page was drawn in the background.  Page flipping on the CoCo chewed up an extra 1.5K to 6K of precious memory, depending on the graphics mode, so it's probable that the 16K Arex doesn't use page-flipping.  Whatever the solution, there's something smart going on to keep flickering at bay.)

On why the Model I voice samples were dropped from the CoCo version:

I remember thinking at the time that the voice samples on the Model I version were pretty silly. I might even have found them annoying when playing longer games. I don't think there would have been any problem getting the sample data transfered across platforms. So my guess is that I dumped the voices because either (a) I thought it was an unnecessary feature, or (b) we wanted to keep the program to a 16k footprint. If I had to guess, I'd go with (b).
On why this Color Computer game doesn't force the user to continually reset until a particular red/blue color scheme is achieved (working around the machine's unofficial and unpredictable black-background pseudo-color mode):

I didn't think it really mattered which way the program came up. For those who cared, they could hit reset and restart until they got the color arrangement they liked. Some programs would start by showing a screen that said, "Press the Reset button until this screen appears blue. then press enter." Those programs had more sophisticated graphics. Since this program had crude graphics that only involved red, white, and blue (if memory serves), then it really didn't matter if red and blue were swapped.
On what was going on in the industry and the company around the time Arex shipped, on the eve of the mid-1980's game industry crash:

I was a kid at the time I did all of my work for Adventure International. I wasn't doing it for the money. I wrote these programs for the intellectual challenge and for the novelty of seeing my name in full page color ads in the magazines.  Checks sort of came in whenever they came in. Sometimes there were sales reports attached. Sometimes not. Since I wasn't doing this for the money, I really didn't care much.
(I asked Adventure International founder Scott Adams to comment on the back-office situation at the time, and he indicates that he did all the royalty payment processing and sales reports himself, using a TRS-80 Model II with a fancy $5,000 8 megabyte hard drive.  But towards the company's end, the royalty payments slowed and stopped as overall cash flow did the same.)

Roger Schrag again:
My sense is that I got a lot more money (relatively speaking!) from [Model I titles] Sky Warrior, Spook House and Toxic Dumpsite than from any of the Color Computer programs. I think the Color Computer products came out right as the end was coming, and that is when royalty payments became extremely erratic. But this was also right about the time I was leaving home to go to college. And so a new chapter in my life was beginning, and I didn't pay much mind.

So that's the story of Arex on the TRS-80 Color Computer.  It's quite fun, and well worth tracking down in any of its several incarnations if you're in the mood for a fresh retro challenge.

Thanks very much to Roger Schrag for taking the time to dig out old artifacts and memories -- we'll be taking a look at the rest of his early-80's game oeuvre in the near future.

1 comment: