An interview with Mick West
I had the pleasure of interviewing programmer Mick West, who has created some fantastic Amiga games and worked for Binary Design, Tiertex and Ocean.
How old were you when you got your first computer and what was it?
I was 14, and it was a ZX81.
Which programming languages did you learn and in what order?
ZX BASIC first, then fairly quickly Z80 (on the ZX81 and the Spectrum).
68K Assembly next, along with a little C, but most 68K. I started on the ST, and got an Amiga a year or two later as well.
This is a list of known games you worked on from the Hall of Light with their approximate release dates based on magazine reviews at the time. Are there any others missing?
- Steve Davis World Snooker (May 1989)
- Rotox (July 1990)
- U.N. Squadron (December 1990)
- Darkman (October 1991)
- Parasol Stars (April 1992)
- Lethal Weapon (December 1992)
My games are all listed on Mobygames, but yes, that's an accurate list/order of the Amiga/ST games.Â
At Binary Design, I helped slightly with Speedboat Assassin (the programmer there, Grant Evans, died in a motorbike accident on July 23rd, 1989, and I don't think it was released).
I did some very minor uncredited coding for Hook (some cut-scene stuff). I think it was all done in DPaint Anim, and my work was just on shoehorning it into memory. Maybe some of the motion with Tinkerbell. Nothing to do with the actual game (although some fragment of my code may well have ended up in there).
Do you remember approximately how long each game took to write?
About 6-9 months. Closer to 6 on average. And pretty much all of them were one programmer and one artist. On the Binary Design games, the artist was not even full time.
What was the development system you used?
At BDL the dev system was just another Amiga. For Steve Davis, I'd code on one machine, write it to a floppy, and then insert it into another machine. Rather slow, but then the game was small, so loaded quickly.
I had a rotating system of backups, which consisted of two floppy disks. I'd take one home every other day.
For the next game (Rotox) there was a home-brew system using a parallel cable to connect two machines. I think we used DevPac at first.
I can't remember when we started using hard drives, but that obviously made things easier.
When I went to Ocean, I started using SNASM, which ran on the PC, and used Brief as the editor. This worked very well. I'd have the data stored on the target machine in a RAM disk, so everything ran pretty quickly and iterations were quick.
From what I can tell, U.N. Squadron was the only coin-op conversion you've done. How much assistance from the manufacturer did you get?
We got zero support for U.N. Squadron. The graphics were actually done by frame capturing the machine, and then cleaning up the results. I had to play the game over and over to figure out the patterns.
You worked for Tiertex doing U.N. Squadron - was that in-house? How were they to work for?
In-house, in West Didsbury, Manchester. They were perhaps a bit of a sweat-shop, everyone crammed into one big room, sharing a desk. I did not really mind though - still young.
The general feeling amongst Amiga people on the forums is Tiertex didn't give a damn about the quality of the games they made (Dynasty Wars, Human Killing Machine, Street Fighter, Strider 1+2 etc). Straight Atari ST ports, graduated backgrounds made with bitmaps rather than using the Amiga copper, no use of the Amiga hardware sprites etc. Were almost all games designed for the ST then ported without care to the Amiga platform?
At that time (1990) ST games outsold Amiga games, so yes, the ST version was given priority. The Amiga was often a very quick conversion. I did U.N. Squadron on the ST first, and then converted it to the Amiga very quickly, maybe two weeks. I was actually only at Tiertex for that one game.
I think a lot of the time it was as you describe, mostly driven by financial concerns, they wanted to just get the game done, and done on time.
Did they hire "fast" coders that didn't care so much about quality?
It's not that the coders they hired did not care, more that they were not given the time or direction to make a good game, it just had to be (many times, but not always) good enough.
There was variable quality in coders back then. I remember one coder who I replaced on Steve Davis, who had no conception of the math required for ball collision, and yet he was essentially in charge of it. It was bit of luck of the draw as to how good the coder was who got a particular game.
Did you code at home and go in for regular meetings/updates, or do all coding at each workplace?
All the coding was done at the workplace. BDL had some terrible offices near Manchester's Victoria Station, over a Kebab shop. Ocean's were in a crypt, under a Quaker's meeting hall. There were almost no meetings.
When you were working for Ocean, how were the games allocated to the programmers?
Gary Bracey was pretty much in charge of that. Games were just assigned by him to whoever was available, based somewhat on the importance of the game. Gary assigned Darkman to me as I was new, and it was not a major license. He says he regrets that now, as I turned out an alright coder, so might have been better used elsewhere. But I think it was probably the right decision.
Ocean relied quite heavily on movie licences for a while, snapping up all manner of movies. How did Darkman perform?
The movie did not do particularly well, as I remember.
What happened if a game was delayed?
I don't remember any delays at Ocean. At BDL the games were not released on time, but I don't really remeber a big fuss about it. There was very little in the way of scheduling - it was just: stick a guy in a room for a few months, and see what comes out.
If a game was going to be late, would Ocean throw extra programmers at it or cut levels or something else?
You'd just work longer hours. The programmers they had then were all basically kids in their early 20s or younger, so had little in the way of lives. Working very late was not uncommon.
Extra programmers rarely helped, at best they could do stuff like cut-scenes, but towards the end of a game there was generally just one programmer who knew all the code, and could safely make changes. That's a consequence of games being A) small, and B) in assembly.
Did you get feedback from about the quality of your games? Or Ocean simply wanted the games ready and as long as they worked that was enough?
No, that was a problem at Ocean really. There was very little feedback during development. They did not tell me they wanted the Amiga version done first until after I'd finished the Atari ST version, they had just expected I'd know. We were pretty much left on our own.
Did you ever have to rewrite sections using another algorithm if they were too slow or anything like that?
I was always optimizing the code. Generally you'd just make sections of the game do what the code was capable of. Since it was just the artists and programmer working closely together, you'd not get situations where a designer would put something in that was too slow - we just did whatever worked.
Did you get royalties based on the games or a bonus based on sales while at Ocean?
We got a bonus when we finished a game. I think I got Â£5,000 for finishing Lethal Weapon, which I promptly used to leave the country :) There were no per-unit royalties or bonuses that I was aware of. However a lot of people were leaving Ocean at the time, and the company in the US that was poaching them (Malibu Interactive) was offering large royalties. So Ocean were planning to introduce that.
What map editor did you use for scrollers like Lethal Weapon?
We used tUME, but I also wrote a variety of custom tools for placing baddies etc.
How did you store the maps? Did you have a couple of layers, one for the graphics, one for where baddies/pickups would appear, or a single map or some other trickery?
It would depend on the scroll direction, but all the games I did on the Amiga were multi-directional, so the maps were just stored as plain arrays, horizontal then vertical.
The positioning of baddies varied by game, I think for the Ocean games I had all the positions and other data entered in using an in-game tool, rather than a layer on the map. Although I think the fruit in Parasol Stars was in the map.
What block size for your maps? Most Amiga games seem to use 16x16 so they can be blitted efficently.
Yes, 16x16. I found an old Amiga scroll routine from Parasol Stars, attached. As you probably know, the background is blitted onto word boundaries, and the hardware scroll used to move it at the pixel level.
Who decided on the neat little touches (such as screen fades and effects) that make a game look polished? Was this side of things left up to the programmer? Or would Ocean say a particular screen is a bit boring and needs an effect added?
Basically it was the programmer's move there, some of the stuff was based on effects from the demo scene, and it was basically stuff I thought looked cool.
Darkman has a rotating cylinder effect that was pretty cool at the time and I was quite proud of - but looks rather garish now. It was also common for loading screens to have the palette manually tweaked for different vertical sections. Like the Parasol Stars title screen had a palette split above the Ocean Logo, and there was another on the planet screen.
"Ocean" (Gary) would almost never say that something needed sprucing up. Those effects were fun to do, so programmers liked working on them.
Did Ocean have/insist on any generic system or shell to create the games, or all code was completely left up to the programmer?
It was all up to the programmer - there were just some legal stuff that needed to be on the loading screens.
Now for some copy protection questions! :-)
As far as copy protection was concerned, can you explain the process for each of the games you worked on if you can remember them?
I don't think there was any on Steve Davis. Rotox just used a non-Amiga file system, but could easily be copied with XCopy. Not sure about U.N. Squadron - that might have been added after I finished it, as I left pretty quickly to go to Ocean, basically the minute it was finished. Darkman used Rob Northen Copylock, but I did not put much effort into it. I spent a lot of time on Parasol Stars, but when that got cracked I did not really bother too much after that.
Did you add the copy protection yourself? Was any consideration taken while creating the games, or that was always added at the final stage?
It was generally done at the end, except for Parasol Stars.
U.N. Squadron used the standard US Gold protection track (not sure what it's called, but one of the guys in the WHDLoad team calls it "Track 78 Master"). Did you add that in, or did someone else master the game and add it?
I think actually there was a guy there who specialized in doing the mastering. I really can't remember.
Parasol Stars is one of the games most widely known as "very tough to crack" - the common story with this one is that you requested a bonus if it couldn't be cracked? How long did the protection take you? What did it consist of? (I hear it's masses of encryption loops for each level).
See attached files. The file MASTER.S creates the actual disk image, and applies the encryption and checksums. I probably spent around three weeks on it, on and off.
Basically there's three things going on:
- There are checksums in the code to see if it has been altered, there are lots of these.
- The code is encrypted in various ways.
- The code is obfuscated in various ways.
I did ask for a bonus, which obviously I never got.
The main encryption, looking at it, seems to encrypt the main program using 132 slightly different types of encryption in about 550 levels. I suspect though that this was all simply bypassed.
Then there was run-time encryption and checksumming, in CHECKSUM.S, there were various macros that were scattered though the code, which would checksum other level, or encrypt code so that it would decrypt, call and re-encrypt a piece of code. Unfortunately I don't have any example usages.
The copylock itself on Parasol Stars (included multiple times) seems to be quite standard, no obvious trickery in the middle of it. Did you request this type or Rob Northen supplies one and you work with whatever you are given?
I just used what Rob gave me.
Were you aware how certain groups cracked games? Did you ever download your own games to see what crackers had altered to make them copyable?
Yeah, I did for Parasol Stars. Basically they just went through and removed all the protection one bit at a time. Quite depressing.
Lethal Weapon had the following sneaky trick in the key calculation routine for the copylock:
.loop add.l d6,d6
move.l d6,($100).w ;Serial number stored at $100
The trick in this one was the line that did a move.l d6,($100).w in addition to storing the key. Is that something you requested, or Rob Northen would supply a copylock and tell you the additional secret longword was located there?
We just worked with whatever was the latest version. Rob kept improving it and suggesting ways it would be used. For Parasol Stars though I was relying on my own layers of encryption and checksums. After that I just did a minimal implementation for Lethal Weapon.
Did different types of copylock cost more/less depending on what you wanted done with them or no idea? Could you request a certain thing to happen in the middle of it? How much input did you get? Did you get to choose the serial number? ;-)
I don't know what it cost. Like I said, I just used what he gave me.
Who worked out faults/ways to crash cartridges such as Action Replay to try and prevent copying/hacking? (I see some in Parasol Stars, I didn't realise AR3 had those bugs as AR1 and 2 are well documented how to crash them!)
Hmm, I vaguely remember doing that. But I don't remember who discovered the code.
When you wrote a game, did you have to supply a final disk with the game on, effectively the boss could put it into the computer and play it and that was enough? Or did the company had to have all source files and someone else mastered it?
At Ocean I did the mastering. But before that someone else did it. I remember U.N. Squadron, the last thing I had to do was play through the Amiga version of game with the boss. There was one bug, so I fixed that, played through the game, then I left to go to Ocean.
Any idea on the sales figures of your games? Which was the most successful game that you know of?
I'm afraid I don't know. I would suspect that Parasol Stars did the best, but I did not really follow the sales figures, just review scores.
Which was the most fun game to work on?
Parasol Stars. Mostly because it was a fun game.
Which was the most troublesome game to work on?
Darkman, maybe, or Rotox. Both had too much stuff in them.
Which was the quickest to write?
They were all similar, but maybe U.N. Squadron.
And the longest?
Rotox, as I was basically just left to do whatever I wanted for months. So very little got done.
Have any of your games got technical tricks in that you are especially proud of?
I liked the rotating effect in Darkman. Nothing though seems to be really impressive in hindsight. I think I was most proud of my neat scrolling and sprite routines.
I was very happy with how Parasol Stars turned out, managed to get something very similar to the original game. There I was proud of the tools I wrote - a palette mapper to convert the sprites to the fixed palette, and a layout tool to set the start positions, all of which helped the game get done very quickly.
Any idea who originally came up with effects like the repeated sprite for the score panel in Parasol Stars?
I don't know who came up with it. I would suspect Richard Aplin, but that's a guess.
When an effect was found, did other programmers pass the knowledge around or did people disassemble games/copperlists themselves?
There was a combination of shared knowledge (several programmers worked at each company, and they tended to move around), and some hacking.
Who were the best co-workers while working on the games?
On all the Amiga games I was pretty much just working by myself with one artist. At Ocean, I'd say Artist Don Mc Dermott was a good guy to work with, as he'd push me to do stuff I was a bit too lazy to do otherwise. He added a whole secret level in Parasol Stars.
Did you read reviews of all your games in the magazines at the time? Any you felt were overly harsh or too generous with their marks/comments?
Yes, I read all the reviews. Rotox got much too high scores initially. I think there was a lot of favors being done back then. The others were probably about right.
When did you leave Ocean and the Amiga?
March 1993, when I moved to the US. The last thing I did at Ocean was convert Lethal Weapon to the Sega Genesis. No more Amiga after that.
Did you keep up with the Amiga scene after you stopped doing Amiga games? Have you seen any of the amazing games with awesome demo effects like Brian the Lion, Elfmania, Lionheart or Super Stardust?
I never had an Amiga after I moved to the US, so I lost touch with the scene. Later I'd look at stuff on emulators, but never got back to the metal.
Do you have any photos of your time working at Ocean?
I worked in a room pretty much like this (this was next door):
There was a row of five or six rooms set up with one programmer and one artist:
Finally, what are you up to these days?
No up to much at the moment. I semi-retired after Neversoft, and now just do bits and bobs.
Thank you very much for your time and for providing some of the source code to Parasol Stars!
Starting out creating graphics for early pioneer Steve Bak, Chris moved into programming games and went on to create one of the Amiga's flagship characters - James Pond.
Well known for his slick Amiga games Midnight Resistance and RoboCop 2, Ian Moran worked at Special FX from mid 1989 until 1992 when he was one of 5 founding members that formed Rage software.
John was one half of the formidable Random Access/Sales Curve programming team that worked on some of the Amiga's most fondly remembered games. John worked on Silkworm, Ninja Warriors, SWIV, Rodland, Saint Dragon and Indy Heat.
Copy protection expert and creator of the copylock, Rob Northen's system was the primary measure to prevent casual software copying for around 500 commercial Amiga games, the majority of which were protected between 1989 and 1992.
The programming legend responsible for the superb games Silkworm, Ninja Warriors, SWIV, Rodland and Q-Bic, Ron answers a plethora of technical questions about his games.