JUST HAVING A BALL
Neil Davidson reveals how he came to write the latest arcade game released by Superior

RICOCHET is about a little red bouncy ball's quest to save the world from yet another evil dictator, who has stolen the five hourglasses of time. You have to retrieve them and teleport safely out of each level.

The game's origins can be traced back to the last few months of 1985 when Roland Waddilove's articles on machine code graphics were first published in Electron User.

At the time, I knew next to nothing about machine code, so although I could draw pretty pictures, I couldn't manipulate them. To rectify this omission I bought a book on machine code and avidly read it from cover to cover and wrote little programs until I was reasonably fluent in it.

My interest in writing a commercial game was rekindled in late 1988 by a series of articles on the same subject in Electron User, again by Roland Waddilove. This time, however, I had the means to put some of my ideas into practice.

I approached David Williams, and asked him if he would be interested in attempting to write a 100 per cent machine code game. He agreed and so we started.

I began writing the game in May 1988, and started in what I now recognise to be completely the wrong way. Instead of sitting down and planning out the game on paper, like any normal, sane, person would do, I decided to rush in headlong and write the code without really thinking about it.

I wrote it backwards, starting with little unconnected bits of code which I thought might be useful, and racked my brain to think of some adequate way to link them up.

One consequence of this method was that I often stumbled across inefficient, and even redundant, pieces of code which I duly deleted and rewrote. Perhaps the most obvious example of this is the graphics - we originally started with about twice as many characters as we have now, and I rewrote some of the relevant code up to four times.

The game took a long time to write - about a year and a half, on and off - and I sometimes uncovered code which I was sure had some deep and meaningful relevance, but couldn't be exactly sure what it was.

One of the most persistent bugs turned out to be in a piece of the code which I had completely forgotten about a year previously. It can be very frustrating to look through pages of code for a missing colon, or a SEC instead of a CLC.

In retrospect, I would advise potential authors to plan out their games, especially the memory needed for the sprites and code. You don't want to be in the position I was, scouring the code for places where a byte or two could be saved - yes, it really was that bad.

You should, of course, make frequent backups of the code. I found it annoying when I frequently deleted several day's work by mistake, but it could have been worse.

The graphics in the game came from David Williams, Nick Weston and Guy Burt. I was lucky that I could afford not to worry too much about this aspect myself.

There are five levels, each one harder than the last. There are over 330 different screens in all. The first level, entitled Fortress, is intended to be the easiest of the five, although some people might disagree.

In it you meet some of the puzzles you will need to solve. How will you manage to bribe the robber in his cute little striped shirt? What is lurking inside the wicker laundry basket, and how will you entice it out? What part does the strange alchemist in his white lab coat play in all this?

As you progress you will find, I hope, that the puzzles become slightly more sophisticated. How to make the slug disappear on level two? Find the best way to navigate to the infuriating cargo hold on the UFO.

Even if I haven't managed to persuade you that I think the game is well worth buying - after all, I am very slightly biased - I hope you will have a go at writing your own game. To coin a cliche, you'll never know until you've tried.


This article appeared in the January 1990 edition of the "Electron User", published by Database Publications.

Scanned in by dllm@usa.net
http://www.stairwaytohell.com