I got a blog comment on my other blog last week asking for information about a video game I worked on back in 1987 and that whole episode in my life came rushing back to me so I thought I'd better get it down before it fades from memory.
Early in 1987, I was made redundant from a company called MacSerious Software when they decided to drop their Apple hardware sales force. That's another part of my life that I won't go into here but on a speculative visit to the local Dumbarton job centre, I noticed a card advertising for an experienced
6502 programmer. I wasn't expecting to see anything like that in there so I reckoned it was some sort of karmic intervention as I had indeed done some extensive work with the 6502 processor, which was what was in the Apple, Commodore and BBC computers of the time. Since I needed a job to support my wife, three-year old daughter, new mortgage and a car it was worth checking out.
The job was with Gannon Designs in
Alexandria so I called, got an interview with the M.D. Martin Gannon and basically got the job on the strength of my previous work. I had absolutely no experience of games coding and was completely self-taught in 6502 assembly programming but I had done a lot of work on it, writing stuff like experiment process control and analysis on the
Apple II and an image analysis suite for the
BBC Micro, had several articles published in an Apple II focused magazine and had a bit of a hobby in removing the protection from Apple II games. Anyway, getting into video games was probably every programmer's dream at the time so I jumped at the chance.
Martin Gannon had been a fireman who, rather than spend his dead time on duty sleeping or playing cards like the rest of the watch, began programming games on the
C64 and
Vic-20 computers. He turned out to be a bit of a computing prodigy and even had a game out for the Vic-20 before the technical manuals had been released by figuring out how the video chip worked himself. He left the fire service when Argus Press M.D. Stephen Hall recognized his talent and pushed him to set up his own games development team and do work for the
Quicksilva and
Grandslam labels. Martin's first words to me were " Hi, I'm Martin! Bye the way, I've got a medical condition that makes me break wind a lot from both ends but it's not smelly so please don't be put off by it. So, you've done some 6502 coding…" and I knew were going to get on well.
Gannon Designs was based in a small industrial estate behind the ex-torpedo factory in Alexandria and, unlike the bigger developers, was just a little office and a single programming room. The building we were in was pretty anonymous looking, which was pretty sensible if you know the Vale of Leven area. If the local wildlife had got a sniff that the place was full of home computer kit, then we'd have been turned over quickly and regularly. With five of us and all the computer kit jammed into that one wee room along with a
Pac-Land arcade machine and a fancy coffee machine, so began my introduction to the world of games programming.
Things were definitely looking good. We had deals to do the Pac-Land and
The Hunt For Red October conversions for the Commodore 64,
Sinclair ZX Spectrum,
Amstrad CPC and
Sony MSX systems. Martin was working on a game of his own design called The Tube, a sort of mixed-mode space shoot em up and also doing a fair bit of sub-contracting work for other development teams by writing customized, protected, fast tape-loaders for them. Our graphics designer Mick also got to design loads of game loading screens for these so if you ever see a wee lozenge with MD in it in the corner of a game loading screen from that era, then it was probably done by Mick and the loader would have been Martin's. I've never since seen anyone capable of hand-coding and patching raw machine code as fast as Martin could do it - the man was a genius with computers.
I got put onto working on The Hunt For Red October even though we had no design yet. I dutifully read the book and got down to working out some of the physics involved in moving a sub through a 3-D environment while the rest of the team got on with trying to figure out Pac-Land. We had no support from
Namco other than a photocopied manual in Japanese so the guys just played the arcade machine over and over and over to get the graphics and levels mapped out.
We never really got much further on The Hunt For Red October. Argus wanted The Tube completed and work on coding Pac-Land started so they gave The Hunt to another team to let us get on with the other games and I moved over to helping Martin on The Tube. The C64 didn't have any decent development or storage systems so we did our assembler coding on a BBC Master, which was linked up to a C64 via the parallel ports. We just squirted the assembled code over to the C64 for testing whenever we needed to and stored all the source and object files on BBC floppy disks. It was a very efficient way to do it.
The C64 was an amazing bit of hardware for the time, coming as it did with dedicated graphics and sound processors. Having a 6502-based processor meant it could only address 64K of memory, yes only 64k so think about in terms of what we're used to now. I mean, I walk around with a 4Gb pen drive in my pocket. Anyway, we had to fit all of the game code into a measly 64k as well as the levels, sound, graphics and sprite data in a single tape load. There were a few games, like Gauntlet, that loaded their levels from tape each time but the wait involved in doing that just wasn't acceptable for most people so we didn't consider it. The C64 mapped its 32K ROM-based OS and BASIC into memory at startup so that took up half the space right away but Commodore in their wisdom used a 6510 processor in the C64, which allowed us to switch that out, leaving the whole 64K of memory to play with. The only problem with that was that, with the OS off, there was no handy library of routines available and we had to do absolutely everything ourselves. Without the
VIC-II graphics and
SID sound chips, we'd have been in serious trouble.
As for The Tube, as I said earlier it was something that Martin had designed himself. The idea was that there was this big tube out in space that sucked in ships and stripped them of cargo, etc. and your ship was next in line. It basically consisted of three levels - a first-person shooter, a sideways scroller and a top-down vertical scroller/puzzle. By this time Martin had also recruited Steve Kellett, another guy with a great track record on games development, and he did the sound effects and designed the logic puzzle in the game. Music for The Tube was done by a guy called
David Whittaker and he did a wonderful job of it. If you want more info on the game or listen to the music, then you'll find a wealth of it
here. I ended up coding the first-person shooter level, which involved simulating flying into the mouth of the tube while being bombarded by alien drones. The user got to man the sliding gun port and stop the aliens striking the ship so things could get a bit manic trying to move the gun target using the keyboard. I also helped out a bit with the sideways scroller level but I have to admit now that I wasn't a great fan of the game as the graphics were a bit on the basic side and the game-play tended to be on the easy side. The soundtrack was a cracker though!
The hours were long at Gannon Designs as deadlines have to be met and I imagine that's still the case in the games development world today but we all enjoyed what we did. However, when some twonk in marketing published the promo material well before the game was ready, we ended up doing lots of all-night coding and testing sessions to get the game completed. In fact I remember distinctly working all night on it to get my bit finished just before jetting off on holiday to Spain the next morning. I was still working at eight in the morning and the flight was at ten so I really wasn't popular at home that day.
With The Tube out of the way and most of the graphics and level design having been done by the others, we all got into coding Pac-Land at last. Pac-land was a reasonably straight-forward but seriously addictive platform game that involved racing sideways through various landscapes (town, forest, mountains, desert, ponds, bridge and castle) avoiding Pac-Man's familiar adversaries, the ghosts, to return a lost fairy to her home in Fairyland.
I got the job of controlling and animating Pac-Man as he ran and jumped around the levels and his handling his interaction with the ghosts and scenery. I also controlled Sue, the lead ghost, and handled all the title, start, middle and end-level animations as well as animating the timers, score and credits, etc. We did the game in the standard, 40-column text mode in order to save memory, which meant that Mick had to design all of the level backgrounds using custom character sets and I think he did a excellent job of it. All the other graphic elements like Pac-Man, the ghosts and interactive scenery objects were done using the VIC-II chip's brilliant sprite capabilities. Memory was so tight though that I came up with the idea of compressing the sprite data and only expanding the ones required for each level. In the end, we simply didn't have room for all the levels so had to make do with a cut-down version.
As with most C64 video games of the time, all of the code handling was triggered off of the screen refresh interrupt. To put it simply, most of the processing was done when the video scan beam had finished displaying the screen and was moving back to the top to start again and all of it synced off of a 25 frames-per-second trigger. In that gap, we had to act on any user input, update all sprite positions, scroll the screen if necessary, keep the music and sound effects going and update all the goings on around the screen border. It had to be done that way to avoid visible glitches on screen so all we did in the foreground program was a looped check for user input.
We had several months to get the job done and everyone was upbeat at the start but the long hours and the realization that we were never going to be able to fit all the levels and extras into the C64 eventually took its toll. In its time, the Pac-land conversion was definitely at the leading edge of C64 programming and no-one else had produced a full screen, smooth sideways scrolling game with as much animation going on before. In fact, it was so complex that we ran out of background processing time on each screen refresh and to avoid a screen glitch, I had to break the scrolling routines into two so that we scrolled the bottom half of the screen while the video scan beam was still drawing the top half. It was a huge game and took us much longer than anticipated, even with Steve Kellett co-opted onto the team to help as well. The delays also meant we had the publishers breathing down our necks about Christmas deadlines, which realistically meant that the game had to be ready for the October, pre-Christmas sales orders.
Towards the end, we were working seven extremely long days a week and we knew it was going badly. Martin was under severe pressure from Argus while also having to do coding work on the game and run the business and have a life with his wife and young son and things eventually broke under the strain of it all. Len, our MSX programmer went AWOL for a couple of weeks and then it was Christmas. Family life was suffering to and I only rarely got to spend time with my wife and daughter. I remember diving out of the office to the nearest jeweller on Christmas Eve to get a present for my wife; I just hadn't had the time to shop for anything.
The coding quality started to suffer too and with two of us working on different parts of the C64 version with no source code control system things eventually got out of sync with the master source, which threw a bug into the system that took me days to find. In January of 1988, Argus pulled Gannon Designs funding and that's when it all started to go really bad. Martin fired Mick for refusing to remove his customary MD logo from the loading screen as it was a condition of the license that no one got any credits on the game and Mick retaliated by dropping a huge magnet on what he thought were the graphics master disks (we had backups). By that time Tommy (the Spectrum and CPC programmer), Steve and myself started looking for new jobs before the inevitable happened, which it did in early February when Martin called in the receivers. I'm not sure what happened to Len, he just vanished and I've never heard from him since. We were all made redundant in late February, having had no wages since Christmas.
Also laterally, Martin had been prone to inexplicably falling over and after some tests we found out that he'd contracted
Motor Neurone Disease, which is a terminal condition. After the break up of Gannon Designs, his condition deteriorated quite quickly and he sadly passed away about a year or so after. We did keep in touch from time to time and the last time I spoke to him, he was lying on the floor (he couldn't walk by then) programming the bejesus out of an Amiga 500.
Well, that was it - the year of my life spent in computer games development. It was a great experience and a terrible experience all at the same time but also a very memorable one.