In The Chair: Kevin Edwards
From Acorn Electron to PS Vita, Kevin Edwards has coded for many classic computers and consoles. He takes time out from creating Lego games to discuss his long career, baseball and a familiar webslinger
The 8-bit coding whiz looks back at his illustrious career
When did you first encounter a computer?
In 1979, when I moved to a new high school in Manchester. They had a Commodore PET 2001 with 8K of RAM, locked away in a storeroom and only accessed by a handful of people.
How soon did you start programming?
I spent all my spare breaks in that computer room.
You couldn’t keep me away from that PET! We had an amazing computer studies teacher, Pete Davidson, who encouraged us all. He was teaching us 6502 machine code at the same time as BASIC. My first
PET games were in BASIC and I added machine code routines later as my knowledge improved. I started with simple maze games and later used machine code to scroll the screen left and right, like Scramble.
Your first commercial game was Atomic Protector, how did you publish it?
By 1983 Pete Davidson had left teaching and arranged some summer jobs for myself and school friend Martin Galway – we were studying for our A Levels. This was at Database Publications, a big computer magazine publisher, where he worked. We spent six weeks writing games and other software, including Atomic Protector, which was published by Optima Software – a company under the Database umbrella.
What did you like or dislike about the BBC and Electron hardware?
Not enough memory (both) and the lack of speed (Electron). 32K RAM was never enough and I would spend lots of time optimising memory usage to get the games to fit. Galaforce on the Beeb ran in Mode 2 which takes 20K of memory. That leaves only 12K for code, data, audio and graphics. It’s actually less than 12K, as the operating system steals various blocks of this memory for its own use.
You worked with Martin Galway on those early BBC titles, what do you remember of him?
We were both super-keen enthusiasts that wanted to learn how to write software. Martin worked on a sound envelope editor for the BBC during our summer job at Database Publications. It allowed you to tweak the envelope and ADSR parameters in real-time. This was used to create sound effects for Atomic Protector – the first commercial game for us both. I don’t remember the editor being published or distributed. However, it certainly helped start Martin’s audio career. He worked on his own music driver and created several demos that eventually landed him a job at Ocean. I and other school friends used his audio skills in our early BBC games – including Knight Lore, Alien 8, Cookie, Nightshade, Galaforce, Crazee Rider, and Match Day.
When we ask Kevin if there were any programmers he admired, he replies, “Anyone who has developed a game for home computers or the early consoles deserves praise and admiration. Development tools back then didn’t exist or were crude, simplistic or unusable. You had to have a lot of patience and enthusiasm to achieve relatively simple tasks. Games were also written in machine code which required a lot of effort to do simple things.” Did that mean he spent a lot of time crunching to finish a project? “I’ve spent more late nights finishing off games than I care to remember.” Kevin has a clear passion for making games, so let’s take a stride down memory lane and look at his career.
How did your association with Superior Software start?
I was a freelance programmer working on a shoot’em-up. The game was 80 per cent complete and I decided to approach a publisher to see what they thought. At the time Superior were the most active publisher for the BBC, so I sent a demo to them.
They got back to me really quickly, were very helpful and gave me lots of useful feedback. We worked closely together for several weeks and shaped the game that became Galaforce. Richard Hanson and his team at Superior were honest and very professional – something that was important as there were some unscrupulous people in the industry at that time.
What was your development hardware like?
For Galaforce and earlier titles I used a single BBC Micro that assembled the 6502 source code and then ran the game. I used BBC Basic’s built-in assembler
32K RAM was never enough and I would spend lots of time optimising to get the games to fit Kevin Edwards
to create the machine code. The source was spread across multiple files which were loaded and assembled one at a time from disk using a simple overlay technique. For Crazee Rider and Galaforce 2 I used a BBC Master 128 with turbo coprocessor and 28MB Viglen hard disk which was connected via the user port interface. This allowed me to build the game image very quickly on the Master 128 and deploy the game to the second computer for testing. The data transfer time was really quick – less than five seconds, if I remember correctly. This allowed me to edit source code and run images at the same time.
Did you just start coding, or would you plan it on paper first?
I love planning and writing code on paper first. It’s very tempting to jump in and start coding straight away. But something I learnt early on is that you should never rush things without thinking first. Sit down and plan with the big picture in mind, not just the little thing you have in your head at that moment. I have lots of notes for Crazee Rider which includes handwritten source code, diagrams and general information. A lot of this is on Twitter as people seem really interested. I wish I still had the documents for my other projects, but I guess they were recycled years ago.
Did you come up with any special techniques when working on the BBC Micro?
Each game has its own set of technical challenges which must be overcome. Galaforce was all about performance. The software sprite routines had to be fast, so code optimisation was really important for this game. Also, memory was tight so I had to pack the level and pattern data as small as possible.
Galaforce drew heavily on arcade games, what were your favourites?
I played many of the early arcade games, some more than others. Defender was truly amazing and has to be one of my all-time favourites. I also enjoyed Galaxians, Galaga, Star Force, Fantasia, and Moon Cresta. Basically, I’m a big fan of shoot-’em-ups. Simple, mindless blasting!
What made you develop a motorbike game? Superior Software’s Overdrive was a massive seller on Beeb and Electron, a very basic car racing game that had no corners. You simply had to dodge the cars as they came down the screen. Superior were desperate for a new racing game that featured realistic corners, but it had to work on the Electron, too. I took up their challenge and worked on the road technology first as this was the most important aspect of the game. I managed to get this going quite quickly using a clever edge update technique and tried it on the Electron to see if the performance was good enough – the Elk runs much slower than the Beeb. The speed was great so proper production began. There were so many car racing games around it was decided that a motorbike would be more original. You could also bash into the side of other riders and knock them out of the way – well before Road Rash did it. It was a technical challenge and a nice break from shoot-’em-ups. The game was well received, especially by Electron owners.
Did you have any unreleased BBC games?
I started many games that were abandoned very early in development, from isometric adventures to 3D wireframe arcade simulations. In most cases I created the basic technology required and then struggled to make it into a fully-fledged game. However, two titles did become well-developed demos. Storky (1985) was a sideways-scrolling game influenced by arcade title
Kevin Edwards Each game has its own set of technical challenges which must be overcome
Fast Freddie. The player controlled a basketball-kicking stork that had to avoid the scrolling scenery and airbased baddies and missiles that were trying to knock him out of the sky. Sadly, I haven’t located any of the disks and I can only guess that the game is lost forever.
Amnesia was located and made available on popular BBC Micro website stairwaytohell.com. The game was abandoned for various reasons, the main one being the BBC market was in serious decline by 1988 and it didn’t make commercial sense to continue.
another string to your bow was tape protection software. How did this come about?
One of my school friends was Paul Proctor, who converted many Ultimate Play The Game titles to the BBC Micro – including Sabre Wulf, Knight Lore, Alien 8, Nightshade, Lunar Jetman and Cookie. Because piracy was a big issue, he wanted to protect his games from being copied from tape to disk. At the time BBC owners distributed copied software on disk as it was so quick and easy to do. The idea was to make the tape to disk transfer process difficult for the average user, thus slowing down the rate at which games would be copied. I’d deprotected many games and knew the techniques other people were using, and devised a more secure way of protecting code. This basically involved obfuscating 6502 code that loaded and decrypted the main game code and data. The obfuscated code was hidden behind some robust decryption code that used some of the system’s 6522 VIA timers to decipher itself. If someone tried to hack the code by changing it in any way it would break the decryption process and fail to reveal the obfuscated code correctly. It proved so successful that many of the top publishers asked me to protect their titles, including Ocean, Imagine, Superior Software and US Gold. I reworked this system and enhanced it over the years.
I also protected Exile for Superior Software and was fortunate enough to see the game a few weeks before everyone else. Exile is a remarkable game that has to be one of the best Beeb games ever created.
You were known for your tight protection code for your games. Which game’s code took the pirates the longest to defeat?
Nightshade, I have only heard of a handful of people that claim to have cracked it – mostly using hardware devices. It was particularly nasty and had multiple decoder stages and lots of pitfalls. A few years ago I helped the emulation community out as they were still unable to emulate the code. A massive technical [forum] thread was started on startdot.org.uk about Nightshade’s protection and the outcome was that they could finally run the protection code successfully under emulation. The cycle timings for the 6522
VIA had to be perfect for it to run correctly and they managed to nail it.
Did you ever go to the duplication plants to help master the games?
No, I never got the chance. The last thing I did was create the ‘Master Maker’ Disk. This disk saved out a cassette image of the protected game. The duplication staff would boot the disk and record a single master tape from it. After testing, this was then ‘bulk-copied’ by their duplication machines and boxed up. I think Ablex did the mastering for most of the Ocean, Imagine and US Gold titles. Did you get extra payments from the Play It Again Sam compilations?
Yes, I got a proportion of the full royalty. So if I had one game out of four, I got 25 per cent of the royalties.
How did you make the jump from home computer to NES and SNES?
In late 1987 I realized that the Beeb market was starting to collapse – home computer and software sales in general were slowing down quite rapidly. I considered developing games for the Amiga, ST and Archimedes but I didn’t see much of a future for those machines either. Around that same time Paul Proctor was working for Tim and Chris Stamper (at Rare) on a new console called the Nintendo Famicom. This was of course the NES when finally launched in the US and Europe. [I thought], ‘If the Stampers were investing time and effort on consoles, then maybe I should do something similar.’ I knew someone who owned a local development studio, Software Creations, and heard they were building a team to work on the NES. I went down to meet everyone and find out more and
got offered a job there and then. When the SNES was released we started development for that, too.
Did you love working with the SNES?
Yes, it’s my all-time favourite console platform. Great hardware with plenty of display modes and hardware sprites. Powered by a 16-bit 6502 processor, too – the last platform where the whole game was written in assembly language.
You have basketball and baseball games in your back catalogue – were you a fan?
I wouldn’t say I’m a big fan of either, really. I did get the chance to go to see the Lakers play in Los Angeles, which was an awesome experience. Baseball is way too slow for me.
are you proud of the ken Griffey Jr baseball game, developed in the uk?
Yes, very proud. I worked with an amazing team of people on that project, including Ste Pickford who was in charge of all the art. The game was produced and designed by an American, Brian Ullrich, who was a massive baseball fan. He worked at Software Creations with us and made sure we created the best possible baseball game for Nintendo. Hard work, but happy days!
With the hype surrounding this year’s Spiderman game on PS4 in mind, what was it like working with the character (and other Marvel superheroes) in the ninteies?
Working with other people’s intellectual property can be the best and worst experience. You are often bound by guidelines that tell you what you can and can’t do. Most of the time, as long as you aren’t being really stupid, there are no problems. Spider-man and Wolverine are two of the best Marvel characters that you could choose for a videogame. They have awesome abilities and this allowed us to make great games. The hardware in the Nineties was 2D spritebased so we were quite limited with what could be done. Rendering Spider-man’s swinging web using sprites was a fun challenge.
the Incoming games were 3D shooters for the PC, a big change of direction for you. What was your role on these titles?
My role was to get the game running on lots of different 3D graphics cards and work around problematic drivers/hardware. I was also tasked with optimising CPU and GPU code paths. This included making use of multimedia processor extensions where possible. Incoming was in development just as affordable 3D graphics cards were appearing for PC. Hardware vendors were competing against each other to sell their cards. However, they desperately needed 3D games that showed off their products. Rage Software came along and supplied a copy of the game that was bundled with the graphics card. Rage received a fee and the graphics card companies got
Most of the time, as long as you aren’t being really stupid, there are no problems Kevin Edwards
something to give their customers on day one. Everyone was a winner!
You returned to working on Marvel properties with X2: Wolverine’s Revenge on Xbox – what did you make of the hardware?
The first Xbox was a really nice console to develop for. However, the GPU was quite limited and only allowed you to create very simplistic vertex and pixel shaders. Those chunky Duke controllers were terrible, too, thank goodness for the [smaller] ones. It was a lot easier to program than the PS2, which often required you to roll your sleeves up and do very low-level hardware programming. I’m not saying PS2 was bad, it was a very capable platform, but Xbox was a relatively simple step for anyone that had written PC games. C and
C++ arrived with PS2 and Xbox which made game development so much easier.
Your most recent job is at traveller’s tales. is it fun working on the Lego games?
Lego mixed with massive IP is an awesome combination. How often do you get the chance to work with great franchises such as Star Wars, Indiana Jones, The Incredibles, Pirates Of The Caribbean, Lord Of The Rings, Batman, Marvel superheroes and Harry Potter? The Lego games are so much fun to create and it’s great to work on games that people recognise and have bought themselves.
Do you prefer dedicated handhelds or smartphones for mobile gaming?
Dedicated handhelds, because they have decent built-in sticks and buttons. Touch controls for games are difficult to do well and are never as good as having proper controllers. I really liked the Vita, but it got crushed by faster and better mobile phones and tablets.
What was your favourite studio/company to work at?
It’s the people you work with that makes the job fun and creates the culture within the studio. I’ve been lucky enough to work with so many great, talented, amusing people at several studios. It’s those people you remember and talk about. Do you have any unusual stories you can share? Countless hilarious stories that cannot be told for legal reasons and to avoid embarrassing the parties involved. I do remember the time someone was sent flying across the room because they connected a console, powered by a non-isolated 110-volt transformer, to an earthed TV monitor. Fortunately, they weren’t injured and eventually saw the funny side of things once they’d picked themselves up off the floor. Remember it, Tony?
recently you have been preserving old BBC disks. Has it been a challenge going back to machine code?
I still have all of my BBC Micro disks from the mideighties and recently started to transfer them to the PC – these disks are 30-plus years old now and in a poor state. The problem is that magnetic media fails over time. If they have been stored in poor environmental conditions they begin to deteriorate and even develop mould which makes then difficult or impossible to read. Fortunately, I have been able to recover the source code and data for most of my early games as well as other documents and software I worked on. I was also the custodian of Paul Proctor’s source code backups for his Ultimate conversions. Paul’s disks were in a bad way, but I managed to recover the source code for Knight Lore, Alien 8, Cookie, Lunar Jetman and Nightshade. A bit more work was necessary to get them assembling under emulation. I have made videos of these games assembling for Youtube and Twitter (@Kevedwardsretro). I still remember how to program 6502 machine code!
Would you ever release new BBC games?
Yes, if I ever get the time! I have already converted the source for Galaforce 2 so it can be assembled on a PC using modern-day development tools and deployed directly to an emulator. My long-term plan is to release BBC and Electron versions of Galaforce 3. It’s a straightforward shoot-’em-up, but I need to rework all the levels and alien pattern data, which is the most time-consuming part of the entire project. The coding is the easy bit and probably won’t need much more work!
What games do you play to relax?
I love playing Mario Kart with my children. Yes, they beat me every time. I’ve never been a good gamer!
Do you see a future for retro gaming?
I can’t see it ever going away. The catalogue of retro games gets bigger by the day. Everyone enjoys playing the games from their childhood.
[BBC Micro] Kevin’s first ever game, Atomic Protector, saw you protecting the dots in the maze.
Equipped with a 28MB(!) hard drive and coprocessor,BBC Master 128 development this is Kevin’s machine.
[BBC Micro] Galaforce was born from Kevin’s love of shoot-’em-ups like Moon Cresta, and, obviously, Galaga.
Kevin in 1987, interviewed for A & B Computing magazine.
[NES] Silver Surfer is infamous for its ridiculous difficulty – pretty much anything on the screen will cause the hero to fall off his board.
[SNES] Kevin cites Spider-man as one of the best Marvel heroes you could utilise in videogames.
[SNES] Despite working on baseball games, Kevin wasn’t a fan.
Ken Kevin and the team design Brian Ullrich’s flowcharts helpedGriffey Jr Major League Baseball.
[SNES] Vigilante antihero Venom is about to deliver a coup de grâce in Venom/spider-man: Separation Anxiety.