Review – Usborne Creepy Computer Games.

January 8th, 2014

OK, another review. This one is interesting for a number of reasons. I did most of the work away from home on holiday between Christmas and New Year. This proved Orwell makes a good travel computer (although he needs some help for now). It also bought up a new command for me to support. And finally I found an odd quirk in the original MS Basic. I am not sure it’s a bug or not but it’s definitely odd. But, lets start at the beginning.

20131231_073923_1

This book is quite a thin one and it has 8 programs to enter, all with a ‘creepy’ theme. It jumps straight into things and there is little intro and none of the descriptions of BASIC or lists of keywords some of the other books have.

As always to avoid having large chunks of listings in these reviews I have instead made the listings available as a ZIP file here: http://www.asciimation.co.nz/UsborneBookReviews/

You will notice the beachy background behind the cover photo. This is at Ahipara, the base of  (incorrectly named) Ninety Mile Beach in upper New Zealand. I was on holiday, roughing it away from garage and computer, but I was able to take Orwell with me and get him working.

20131231_071004_1

The netbook is basically being used as storage. Orwell can send and receive serial commands via a USB to serial converter and a terminal emulator on the netbook. I was able to enter the programs on the netbook, store them then LOAD them into Orwell. I could then make changes and send them back to the netbook for re-saving if needed. Output was to the tellie (which works great). Unfortunately with only my phone as a camera I wasn’t able to get clear pictures of that screen so I retook the photos on my own tellie once I got home. It wasn’t until I was home I got all the programs to work anyway as you well read below.

Lets start with the first program. Computer nightmare.

20131231_073028_1

This is a simple game. It’s just a random number matching one. The computer generates random numbers and you have to type them in. Nothing difficult at all. It also prints up (not very insulting) insults at you.

This wasn’t a particularly exciting start to the book. Not even worth a screenshot.

Next up we have Number Wizard. Again this is a simple random number type game but this one is a little more interesting.

20131231_073141_1

The computer generates two random numbers between 1 – 9 and prints them on screen. It also prints out a list of number from 1 – 9 across the screen. You have to enter two numbers that are in that list and also that add up to the same total as the two number the computer generated. So if those numbers were 3 and 5 you need to choose two number that add up to 8 and are in the list on screen. Once you use a number it disappears from the list.

You are able to use 0 as one of your numbers which I originally thought was a bug but it is actually coded that way (and commented in the book as such).

20140108_215422

A little more satisfying than the first game but nothing special.

Next we have Ghost Guzzler. This one proved interesting, not for the game itself which is another number matching one, but for a quirk it showed up in MS Basic.

20131231_073426_1

This game generates a random number that moves across the screen towards your ghost guzzler, a ‘:’ and a number. You change this number so it matches the moving one and when that hits your guzzler it is eaten. If the numbers don’t match you lose a life.

20140108_215526

There is nothing special in the code. But it didn’t behave correctly. Instead of the random number starting off at the left most column of the screen it started in the third one. It wasn’t till I got home I could debug why.

The line of interest is this:

120 PRINT TAB(I);N;TAB(18);”:”;Y

Where I is the position of the number. N is the number and Y is your changing number. I starts at 1.

It turns out there are two quirks in the version of MS Basic I am using. I am not sure yet if they are bugs though.

The first is the TAB command starts indexing at 0 not 1. So TAB(0) is the left most column. TAB(1) is the second column and so on.

The second is when printing a numeric value (such as N or Y above) an extra space is printed before the number.

The combination of these two quirks meant that lines of Basic starts printing in the third column across. I tested this out on a VIC20 online emulator and an online Applesoft Basic emulator, both of which use their own variation of MS Basic. The Vic emulator shows both quirks whereas the Apple one doesn’t.

Investigating the assembly code for each version does show there are differences in the code so it might be something Apple ‘fixed’ in their version of Basic. I am not sure if I will change Orwell or not yet but I think so as the printing of the space before the number seems wrong to me. The two quirks are related as it is the code that handles the printing of TABs and spaces where the differences are. I am still studying the code but I believe the issue is in how it is checking how many spaces to print and where and when it decrements the count.

Next up we have Spiderwoman.

20131231_073441_1

Yet another guessing game. In this one the computer chooses a random letter then you have to guess what it is. you enter in words are are told if the letter is in your work. You can then narrow it down until you are ready to guess the letter. You only get to enter 15 words though.

20140108_215755

The next game, Gravedigger, is a big one compared to the others but it is quite satisfying and actually quite a challenge to play.

20131231_073507_1

The game draws a graveyard filled with random gravestones. You (*) move from the start to the exit in the opposite corner by specifying an N, S, E or W direction.  You can’t move though walls (:) or gravestones (+) as they block your way. To make things harder three skeletons (X) are following you  but you can block their way by digging holes (O). Don’t fall into your own holes though!

20140108_225924

Visually this is an interesting game. And I haven’t actually beaten it yet!

Next up is Mad House.

20131231_073523_1

This game prints three lines representing walls which have a moving door each (represented by > <). You can move the top and bottom doors left and right. The middle one moves randomly. You have to get all three to align so you can escape (indicated by a line of ‘M’ footsteps!) before a counter on the screen reaches zero. 

This game threw up a command I didn’t have – PRINT AT. The lines in question are:

180 PRINT AT I,0;L$
190 PRINT AT I,P(I/5);”> <”

Different computers do this in different ways but basically it’s a command to move the cursor to a different part of the screen then print there. Orwell didn’t support this and I couldn’t add that functionality until I got home as it meant modifying the original MS Basic code and burning a new ROM.

To actually add the command I needed a new command and two values, the X and Y co-ordinates to move to. I knew the Batsocks video board supported a move command. The command you use is: <ESC>Y xy

That is actually a VT52 terminal command.

Basic didn’t have any existing command where it took two number values as input for me to copy so instead I created a new command, MOVE, that takes no parameters. Instead I created two memory locations at 0X30F and 0x310 into which you can POKE the X and Y values. The command then just reads from those locations.

So in Orwell code the lines above become:

180 POKE 783,I: POKE 784,0: MOVE: PRINT L$
190 POKE 783,I: POKE 784,P(I/5): MOVE: PRINT “> <”

Memory locations are POKEed using their decimal value hence the 783, 784.

This works very well and it is used again in a later game.

20140108_220202

Next up is Ghost Maze.

20131231_073643

This game creates a maze and you have to escape (and not get caught by a ghost). You can how ever only see a little of the maze in front of you and you can only move forwards or rotate left and right.

This game is OK but a little hard to play as it loops slowly and it’s a bit fiddly getting it to accept your input as it is using inkey which continuously scans for a key. So sometimes it doesn’t see your key press and other times it will see it multiple times.

20140108_230313

The final game is called Seance.

20131231_073758_1

This game also uses the PRINT AT function so I didn’t get it working until I was home and added in my MOVE command.

The game prints the letters of the alphabet arranged in a rectangle (as if the edges of a table). An asterix (*) then appears next to a letter and then and randomly moves about to be next to another letter. The number of letters and sequence is random. You have to remember the letters in the correct sequence then type them in correctly when asked.

20140108_230415

It keeps a score and once you get enough right you win or, if you get too many wrong, you lose.

All in all this was a very good book. Some of the games are a little lame. More of the usual guess the random number/letter type but in this book they are presented in an interesting way. And it threw up some interesting problems for Orwell.

One other small thing I found was a bug in my keyboard handling code. To handle the ALPHA key (basically a caps lock key) I was checking if it was a letter key that was pressed and if so making it upper case. Only I was off by one when checking if it were the ‘z’ key. I was only checking between a-y not a-z. So the ‘z’ key wasn’t being capitalised if ALPHA was down. Not a show stopping bug as you could always SHIFT it to uppercase it but good to find and fix.

Finally on the back cover of the book it lists some others in the Usborne computer series:

All of these book I now have and I have linked to the ones I have already reviewed. There are lots more to come. And I only have one more book (Computer Spy Games) to get to complete my collection!

One final little interesting bit of information. That beach I was on is actually a public highway. So it is perfectly legal to drive on the beach!

20131231_074208_1

5 Responses to “Review – Usborne Creepy Computer Games.”

  1. Zootius Says:

    I had that book! Typed all those games into my Apple II 🙂 Thanks for the memories. I even remember being a bit scared of the Spiderwoman while I was typing in the game, ha! Gravedigger was fun, too. Brilliant stuff.

  2. tizzypee Says:

    Great reviews! I have collected these over the years and have most of them too. Which books are you missing? I have doubles of some.

  3. Simon Says:

    I believe the only one I am missing now is Computer Spy Games.

  4. NR Says:

    If I remember rightly from back in the day with a VIC and PET, the punctuation mark ‘,’ would give you five spaces before actually printing the string, and ‘;’ would give you one.
    The answer was to leave out the comma, if possible.

  5. Simon Says:

    Been so long since I had my VIC20 (30+ years!) I can’t remember now! Will have to find a manual online and check.