I was trawling through some old CDs, and found something that brought back so many memories, it’s untrue. Way back in the Amiga days, I used to do some programming. And by that, I used to faff around in AMOS knocking together daft little programs, and upload them to Aminet. Basically, anything tha twas free for the amiga went on there. And it was a great site.
It must have been back in 1996 when I released a crap little game called “Reaction”. The screen would say “GO!” and you’d hit a button as fast as you could to get the lowest score.
My memory is blank on what this looked like, and what it played like, but the Readme file is still available. It mentions “FOX PD”. That’s a repressed memory for another day!
Anyway, where am I going with this?
Half of my life ago (at the time of typing), I was at college, and expected to do a placement, and I ended up at some accountancy place. It was a weird setup, sort-of a company within a company. They dealt with software.
Anyway, me, a spotty 18 year old layabout, in his first ever foray into the work environment, didn’t really enjoy it. It was the first time I’d ever have to work over the summer, and my entire time there, I never felt like I was neither needed, nor wanted. The two people who worked there would often have to go out to site visits to repair or reinstall software. This was before the internet, and patches were mainstream, so as you can imagine, once a software upgrade came out, they’d have to run around the north-east, installing the updates.
This meant I often had very little to do. Sometimes I’d write up college work, sometimes they’d have me typing out letters and stuffing the envelopes. This was the first place I ever had a computer to myself. Inside it was a 33.6K modem. And did I know the password? Did I bollocks.
It was awful. For the very first time, I had the world (wide web) at my fingertips, and this one little dialogue box stood in my way. One day, the boss gave me the password. And no work was done that
day week month.
There doesn’t seem to be a point to that story. There isn’t. But, while I was there, and had the full rip of a computer, I decided to have a bit of a play. Part of my college work from the early days was to design something written in basic, and for this, we were provided with a copy of Turbo BASIC on floppy disk (a copy, of course). This has the advantage of being able to compile .exe files.
Anyway, back to my original workplace. The guesome twosome were out installing something somewhere, and I was left to my own devices. Somewhere, out of the blue, I received an email, thanking me for my original Amiga game. I guess that spurred me on to sit down and write a PC follow-up. I think the whole thing took half an hour. Maybe longer.
Anyway. I remember compiling it, and never actually giving it to anybody, or uploading it anywhere of relevance. I maybe had a copy on whichever website I as running at the time, but just like this one, its viewing figures are minimal.
I was 18 then. 18 years later, I’m trawling through some old catalogued CDs for a particular file, and I find one called “reaction.bas”. Could it be that the original file has survived for so long? Well, it seems I “updated” it back in 1999, but the guts are still there, and amazingly, saved in text format. Here’s the … ahem… “source”, in all its glory. I’ve had to remove a couple of comments, because in hindsight they’re probably slanderous!
1 rem ****************************************************
2 rem * REACTION - The only game where is pays to have a *
3 rem * shit machine! Programmed by Arctic Fox 27/5/98 *
4 rem * VERSION 1.02! (30/12/1999) *
5 REM ****************************************************
11 RANDOMIZE TIMER
20 color 3,0,0
30 print " ### #### ### ##### # ### "
31 print " # # # # # # # # # #"
32 print " # # # # # # # # "
33 print " ##### #### # # # # "
34 print " # # # # # # # # "
35 print " # # # # # # # # # #"
36 print " # # # # ### # # ### "
38 print " ##### ### # #"
39 print " # # # # #"
40 print " # # # # # "
41 print " ##### # # # "
42 print " # # # # # "
43 print " # # # # #"
44 print " # ### # #"
45 color 5,0,0:print "Presents:"
46 color 15,0,0:print:print "REACTION!!!"
50 print "The first program written in 1998 GUARANTEED to work on an"
51 print "8086. In fact it'll work better on one. If you have a P400"
52 print "then you may as well quit now."
53 print:color 12,0,0:print "Press any key to continue!"
60 if inkey$="" then goto 60
62 CLS:LOCATE 1,1
65 for d=0 to 21
70 for x=0 to 10000
71 next x
72 print "REACTION! REACTION! REACTION! REACTION! REACTION! REACTION!"
80 NEXT D
90 FOR X = 0 TO 20000
100 NEXT X
120 PRINT "THE IDEA OF THIS GAME IS TO STOP THE COUNTER AT THE LOWEST"
130 PRINT "NUMBER POSSIBLE. YOU CAN DO THIS BY PRESSING ANY KEY!"
140 PRINT "SOUND EXCITING? WELL.. NOT EXACTLY, BUT SOMEONE LIKED"
150 PRINT "THE AMIGA VERSION I WROTE! (2 YEARS AFTER RELEASE I"
160 PRINT "RECEIVED AN EMAIL!)"
170 PRINT "ANYWAY, GET READY WITH THAT KEYBOARD AND";:COLOR 11,0,0:PRINT" BE PREPARED!"
180 PRINT:PRINT "PRESS ANY KEY TO BEGIN"
190 IF INKEY$="" THEN GOTO 190
200 print "Marks... Set..."
205 D = INT (RND * 500000)+1
210 FOR X = 0 TO d
230 NEXT X
235 print "GO!!!!!"
240 FOR g=0 TO 10000 step 0.5
241 if inkey$<>"" then goto 250
242 locate 2,2:print INT(g)
245 next g
250 IF g=0 THEN F$="False start!! Please try again..."
260 if g>0 and g<1000 then f$="Cool! Now find the hidden messages..."
270 if g>1000 and g<2000 then f$="Yeah! You could do better though!"
271 if g=561 then f$="To MASC - no-one likes you."
272 if g=472 then f$="The one with the jelly in the middle."
273 if g=639 then f$="Email me. [removed] "
274 if g=628 then f$="I like children, but I couldn't eat a whole one."
275 if g=213 then f$="Toooobe."
276 if g=178 then f$="This is hidden message number 1."
277 if g=841 then f$="Alan Robson is the king of talk shows. Except Tom Davies."
278 if g=562 then f$="These numbers are picked randomly."
279 if g=921 then f$="The secret of my success is my good looks."
280 if g>2000 and g<3000 then f$="It's good, but in an average sort of way..."
281 if g=2419 then f$="I'm at work typing this. I really should be doing some."
282 if g=2719 then f$="I've hidden 100 messages. Find them all and win a prize. Offer ends yesterday."
283 if g=2611 then f$="This is program line 283. Cool, eh?"
284 if g=2534 then f$="Reaction ver 1.02 29/5/1998 by [me]"
285 if g=2524 then f$="Programmed using Turbo Basic, you know!"
286 if g=2172 then f$="Greets go to Daniel, who emailed me about the Amiga version!"
287 if g=2511 then f$="... [The Boss] for leaving the office while I did this..."
288 if g=2473 then f$="... and the cat ran away with the money."
289 if g=2162 then f$="Toilet."
290 if g>3000 and g<4000 then f$="Quite poor really, isn't it?"
291 if g=3128 then f$="email: [no loner works]"
292 if g=3829 then f$="Visit [a website]. Tell them AF sent you."
293 if g=3239 then f$="Duke: You peed on my face. I hate you."
294 if g=3814 then f$="When you get to hell, tell them REACTION sent you!"
295 if g=3629 then f$="Lucky message #26."
296 if g=3221 then f$="Hackers, note the bug at $00A4F before recompiling."
297 if g=3422 then f$="Mr. Do! Is the best arcade game of all time."
298 if g=3912 then f$="Lesley, where are you? I love you! I still have your tape."
299 if g=3333 then f$="All the threes..."
300 if g>4000 and g<5000 then f$="Good score! Erm, no. I lied."
301 if g=4820 then f$="Hell! 18 months after starting, I finally get back to it"
302 if g=4204 then f$="HAPPY MILLENIUM!"
303 IF g=4021 then f$="[Removed]"
304 if g=4793 then f$="DAVID ICKE! DAVID ICKE! WAYNE, YOU LOVE HIM!"
305 if g=4309 then f$="Thinking up 100 messages like this isn't easy y'know."
306 if g=4621 then f$="That's probably why I left it for so long."
307 if g=4291 then f$="[removed link]"
308 if g=4999 then f$="Score 4291 and find out how to get paid to surf!"
309 if g=4522 then f$="Bum!!"
310 if g>5000 and g<6000 then f$="Come on! Connect your keyboard!"
320 if g>6000 and g<7000 then f$="The idea of the game is to PRESS the button!"
330 if g>7000 and g<8000 then f$="You really ARE using a pII400!"
340 if g>8000 and g<9000 then f$="Oh dear..."
350 if g>9000 and g<10000 then f$="You play badly."
360 if g>10000 then f$= "Way too slow. Try again."
400 print INT(g):print:print f$
410 ?:?:?:?:PRINT "(Hiscore not available in this version)
411 ?:?:?"Please wait, or press X to quit"
500 for x=0 to 25000
501 if inkey$="x" or inkey$="X" then end
502 next x
504 goto 1
So, some of the explanations. “ARCTIC FOX” was my old CB handle at the time. It was before I started using “scribbler”, and many years before “mercuryvapour”.
MASC… think I went to college with him. Think I said I was mentioning him in the game.
Alan Robson and Tom Davies are both still hosting talk shows. (Update November 2019: Alan Robson’s show ended in the summer, unfortunately. Tom Davies probably does something like this somewhere, but not on a local station)
Duke was a dog, the father to both of my dogs (now only one dog, and no dogs as of July 2017), And he really did pee on my face. He died many years ago and I didn’t hate him.
The program itself was obviously not CPU optimised. It ran as fast as your CPU ran. IT’ll be almost impossible to register any type of score these days. That is, if there’s anything that can even compile it these days. Oh wait… Minecraft?