COMPETITION ENTRY #17: MOTORACE81
"Your poor, sad, ZX81 shamed me into submitting this entry for the competition. I wasn't sure it was crap enough, but you can be the judge of that. The '81 was my first machine, although we didn't get one until January 1982. Anyway, the rest of that year was spent programming variations on various themes, one of which was the horizontal scrolling race game. The thing that irked me was that using SCROLL meant that the road moved the wrong way, up the screen instead of down. This was profoundly displeasing, but my lack of machine code skillz meant that was all there was. 39 years later, with the help of Pasmo and Appmake, I have finally got a simple machine code game to run without crashing and without any obvious bugs. So here, in honour of the little ZX81's 40th Birthday, I humbly present MotoRace81. My best score so far is 79."
- Colin Williams, 5 March 2021
"What's this? Looks like spam to me. In the dumpster it goes. We know what's best for you, peons. Do not question us. Respect mah authoritah!"
It's the dawn of a new era for CSSCGC Towers in the marshlands of northern Cambridgeshire, and this fact is what rescued MotoRace81 from the scrapheap. Because I have a new internet connection with Sky, and hence a new IP address, Thunderbird threw a hissy fit when I tried to check my three Gmail accounts and forced me to log in via the web portal. And there, in the folder marked "Spam", was this entry - it was sent barely three hours after Don't Panic, and was left languishing there for 25 days! Five more, and it'd have been dumped forever. So I'm awarding the full ten demerit points straight away - to Google. They deserve far worse!
To business, then: this is a standard kind of scrolling racing game that was doing the rounds in the type-in magazines in 1982. The most bare-bones of these, written in BASIC, would scroll upwards using the SCROLL command on the ZX81 or POKE 23692,255 on the Spectrum, and would do so slowly, jerkily, and with a fair bit of blur. (Ski Run, from ZX Computing, is one I remember typing in back in the day.) Colin's idea was to turn the game on its head so that it scrolls upwards - quite simple to do in machine code if you know how - so it now resembles a totally stripped-down version of Spy Hunter. In this case, instead of a recognisable car, you are an inverse H, such is the limitation of the ZX81, and you move it with any of the keys on the left or right side of the keyboard (5/T/G/V and 6/Y/H/B is the dividing line between the two).
The problem I've always had with vertically-scrolling racing games and shoot-'em-ups is that I can't see far enough ahead - the viewable area is wider than it is long, and in the case of racing games, I've crashed into an obstacle before I know it's there. The game is written in machine code and initially, it looks like it's barely faster than a BASIC scrolling routine on a Spectrum, but gradually, too gradually to notice, it will speed up. The road is narrow, and the other drivers - the non-inverted Hs - take a Maltese attitude to road positioning (they don't drive on the left, or the right - they drive in the shade). All this means that you will crash sooner rather than later, whereupon you will be told your score, and whether you've beaten the high score.
I managed to beat Colin's best score of 79 once, with a score of 81, but pressed the wrong key when trying to take the screenshot, and lost the "this is a new high score" screen forever. Try as I might, I couldn't repeat it. Seeing as I'm unlikely to be able to examine the listing (even 2.4K of machine code is a bit beyond me at this stage), I will make an educated guess that the speed increases in proportion to the score, and also that (according to some crude observations), the score increases by one with every four scrolls of the screen. By the time the score is 60, the scrolling is getting too fast for my reflexes, and by the time it hit 80, that one time I made it, I was thinking "surely a ZX81 can never be this fast?" Apparently, it can, and getting to 81 was sheer fluke - the random positioning of the other cars was favourable, the road wasn't twistier than the Stelvio Pass, the ZX81 responded to my inputs in time (which, at slower speeds, it didn't always do), and my inputs were correct. Until the inevitable happened, of course.
That my clumsiness with EightyOne's pause key gave me a self-imposed challenge, I played this game for longer than I would ever have to, to see everything it had to offer. So where it might have scored two masks for attainment, I'm going to give it three instead, and I think there's a challenge on offer - does anyone have the reactions of a fighter pilot, and if so, is a three-figure score possible? As for effort, machine code games are harder to score because I never know how competent the programmer is with it, but I reckon Colin knows his way wound the Z80, so I think it's only two Ricks given that there's no documentation or other extras, there's no attempt at a Challenge, and - most of all - this game was submitted barely four hours after I'd put up the "emo ZX81" picture, so it can't have taken a huge effort.
And then, Google had to intervene until it was almost too late to receive it. I would hope that this does not happen again.
DEMERITS FOR GOOGLE: