Dan Phillips / Cyberdyne Systems,
Added on March 25th, 2014 (3211 views)
Mr Phillips, please start this interview off by telling us a bit about yourself.
Hi, my name is Dan Phillips, I was born in Devon in 1969. I'm currently Senior Software Development Engineer at Black Tusk Studios in Vancouver, before which I was living in Croydon and working as the Head of EyeToy Technology at Sony Computer Entertainment Europe. Away from work, I enjoy playing games and spending time with my wife and two children.
Tell us about how you got into computers in the first place.
Around 1984, I was playing bad arcade clones on a BBC Micro Model B at school. A couple of my friends had Spectrums, and I was fully expecting to get one for Christmas, but my parents bought a C64 instead, I suspect because of its better keyboard which was probably the only thing they took any notice of. I quickly got over the initial shock, however, and went on to amass a huge collection of games starting with a couple of cartridges – Radar Rat Race and Choplifter, as it happens.
Originals or copies? ;-)
Lots of both! I did spend a small fortune on originals. I tended to buy anything of quality (mostly guided by Zzap!64), or at least one of us would. Also, my uncle Stan was in the Marines, and some friends of his had a kind of network spanning a few different countries, and they swapped games, most of which I'd never even seen for sale in the UK – Summer Games, Shamus, Drelbs, to name but a few. As soon as I got a 1541 disk drive, I was in and had a steady stream of new and exotic titles.
Were you ever active on the demo scene?
Not really, other than downloading a lot of them off Compunet.
Tell us how your career in computers started, because it almost seems like you came from nowhere and suddenly had this fab game called Armalyte ready for release.
Ah, that was down to messing around with an Expert Cartridge, using the monitor in it to change the title screen of Spindizzy, which led on to making some sprites bounce around the screen and stretch vertically.
Tell us about how the folk behind Cyberdyne Systems got together. Where did you meet?
John Kemp and myself were in the same year at school. Robin Levy was in the year below, and we saw him in the local software shop in Exeter called Computerware and offered him copies of various bits and pieces. Rob Stevens (Snare/Barbarian II) used to frequent the same shop, and he was friends with John Harries, so we were introduced and decided to make games together. John K and me were a bit inexperienced, but John H and Rob S had quite a few nice demos already up and running, and we learnt from them (Rob S had a full game, which if I recall correctly, was released on a budget label).
Who came up with the name Cyberdyne? What other names did you consider?
I think that was probably me, as we started out as Terminator Systems. My favourite film at the time was Terminator. We also cracked a few games under the moniker of The Vogon Constructor Fleet, using the oh-so-catchy tagline "protection is useless". :-) I'm not sure there were a lot of candidates to choose from, but I don't recall there being much discussion.
Did you submit work samples to different games companies, fishing for jobs, from day one?
Almost. We spent several weeks making demos and getting used to programming in assembler. At our first computer show, we showed one of these demos to the games companies to see if anyone was interested. We really wanted to do the C64 conversion of Salamander, and we talked to Konami about it, but they had already signed up Peter Baron, so we went round to the Zzap!64 stand, and Julian Rignall and Steve Jarret took our details and promised to put us in contact with Paul Cooper who was running Thalamus at the time.
What happened then?
A couple of months later, we were in talks with Paul, who needed someone to help with the mastering of Hunter's Moon. John Harries had agreed to write a new turbo tape loader to replace Cyberload (which we didn't find out until we arrived), Robin Levy was to supply a loading screen, and after a few phone calls with Martin, Robin suggested an end sequence. Martin just about had some space left – well, about 1.5 kB – so John Kemp and myself knocked up the code during the night, before we went to Aldermaston.
We travelled up by train and spent the next 72 hours straight integrating the end sequence and working out how Cyberload worked, though we also found time to visit a pub, grab a Chinese takeaway and catch about 15 minutes of sleep. :-) Eventually, I had put together a mastering disk which they could use to create a tape version. I think we ended up being paid about a thousand pounds, half of which went to Robin for the loading screen, and the other half was split between the rest of us.
What did your development kit setup look like?
It consisted of a C64, a 1541 disk drive and a green screen, all on a beat-up old desk at John K's house.
Did you have any special built-in hardware to make things easier for you?
Not really. We mostly used Action Replays and/or Expert Cartridges to freeze out versions of our code, which was a handy thing to be able to do with the assembler still in memory.
Did you program directly in the machine code monitor or in an assembler? If the latter, which assembler did you use?
We did use an assembler, but I can't remember the name. :-) For The Last Ninja 3 intro, we got to use PDS, writing the code on a 286 PC (4 MHz) and squirting it down to the C64, so no multi-object file linking with jump tables and no limitation on label names, you could even write some descriptive documentation... it was a revelation. If we'd had that system for Armalyte, the game could have been considerably better and would have been so much easier to make. :-)
Did you use any special coding techniques?
Lateral thinking will get you an awful long way, and back then, saving even just the odd cycle in a tight loop could really make a huge difference to the performance of a game, mainly because the C64 was so slow.
Armalyte is considered to be one of the top C64 shoot-'em-ups. Tell us about the game's inception and development.
It started with me playing Salamander obsessively until I could complete it on one 10 pence piece. :-) I then forced Robin to make a clone, when all he really wanted to do was make his own games inspired by Jeff Minter and Eugene Jarvis. Sorry about that, Rob. ;-)
Where did the name come from?
It's the first line of the last track on a Marillion album called Script for a Jester's Tear. It was selected by John Harries, who had a fairly extensive music collection compared to the rest of us. Of course, the name originates from the ArmaLite rifle, but we weren't allowed to keep the same spelling.
At what point did you realise that you had a possible top-seller on your hands?
Well, we only ever shifted 19,000 units, I'm not sure that counts as a top-seller. At any rate, we didn't really anticipate its popularity, not even when every magazine review was giving it 90%+, we just didn't equate that with big sales. Seeing it at number one in the European charts did make us think, though. Oddly, the game that knocked it off that top spot (The Last Ninja II) sold 270,000 units or thereabouts.
Why do you think fans came to love the game so much?
We loved to play it. If we hadn't had a contract (and no money), we would happily have carried on forever making more levels and making the code better, just for our own satisfaction. :-)
Was the game offered to publishers other than Thalamus?
Nope, they were our first port of call and they snapped it up. Hardly surprising, as we accepted a £4000 advance and 18% royalties on net profits. I think they definitely saw us coming... ;-)
Were you pleased with the deal?
It was pretty terrible, really. We were due to get 24% royalties, but John H accepted 18% even though the advance was also tiny.
There are lots of sprites in Armalyte, and your sprite multiplex routine is quite famous. How did you come up with it? Did you draw inspiration from any C64 demos (which were starting to get quite advanced by then)?
Rob Stevens gave us a crude version (for which we are eternally grateful, Rob!) that could just about do 24 sprites using the whole of the C64's processing power. I took it and made it "less crude". Eventually, I had a version that could run 54 sprites and still had enough time left to play music and have a full-screen scroller going as well. It was mostly Andrew Braybrook's diaries that gave us hints on how to do this.
Did you decide early on to make it a multi-load game?
Yes, as soon as we had finished the first level and found we didn't have any memory left. ;-) We knew almost immediately that having a (for the time, huge) 32 screen levels and different graphics per level meant that it would have to be multi-load.
How long did it take to code the game?
About ten months in total, six of which was just John Kemp, Robin Levy and myself.
What did John Kemp code in the game?
He wrote the joystick routine that allowed two players to knock each other around, and much more importantly, he wrote the editor that was used to make the backgrounds and design the enemy attack patterns.
Why didn't things work out with John Harries in the end?
We worked at John H's house for a few months, after which we started working at John K's house again. John H was kind of left out of the development process, to the point where he wasn't capable of contributing to Armalyte, so it was decided that he would write a tape loader and a budget game. After he signed the contract with Thalamus – which included a completely unrealistic completion deadline of one month, with only one level completed – he came and saw us less and less, until we were eventually informed by our accountant that he had resigned in order to go and work as an assistant producer at Thalamus. It was probably for the best.
Going back to the initial one-month deal John H signed, did you try to revise the contract with Thalamus?
No, we didn't, but Paul eventually accepted that we couldn't just make seven more levels in a month, when it had taken more than a month just to make the first. He actually showed great patience, especially as he was given the impression we were just messing around and wasting time. There was very little actual power in the contract anyway, other than the agreed royalties, which were 25% less than we were initially told. Brilliant deal... :-/
Which routine was the most complicated to do? Was it the sprite multiplexer, or the enemy AI?
I'd say probably the joystick routine that handled the interactions between the players. As I mentioned, John Kemp wrote that. It was a fantastic piece of engineering.
The multiplexer was based on work done by Rob Stevens, I just had to make it run faster and combined it with an unrolled version of Gary Liddon's stack bucket sorting routine – as used in Andrew Braybrook's Morpheus, a fab game which I really enjoyed! (We got a naughty alpha copy of Morpheus in the Thalamus offices during the mastering of Hunter's Moon).
The enemy AI wasn't that complicated, it was just a simple movement pattern sequence reader. It was fairly quick to run but required Robin Levy to manually place and direct each enemy's movement.
The only thing that had any AI was the enemy bullet firing routine, and even that was just a very approximate "fire in the right direction" routine. We didn't want pinpoint accuracy, at least, I don't think we did. We certainly couldn't afford the CPU time to work out the proper direction and velocity, let alone run the movement with lots of sub-pixel increments. What we ended up with was more something that mildly harassed the player and made them think about where they would have to move to.
Most of the game was written purely for speed and simplicity. Quite often, we would add something that caused us to re-think whole systems in order to try and save a few cycles. We were determined to keep the game as smooth as possible, which ironically we didn't actually do a great job of. :-)
With our limited assembler experience, the big challenge was getting the whole thing to run consistently at 50 Hz. Every routine had to be re-written several times. The first time we put Martin Walker's SFX routine in, the whole game flickered and crashed because it wasn't running in a frame. Those 15 to 24 extra raster lines which the SFX were using meant that a lot of the code had to be streamlined or redesigned. The first time we put in mother ships, it led to multiple crashes, because if the player unleashed a barrage of bullets, we didn't have enough time to set up all the sprites. To solve this, we stopped the player from being able to shoot just before the mother ships are generated, but we didn't want to leave the player vulnerable, so we ended up with a short lull in the action before every mother ship appeared. It served as a kind of atmosphere builder but was really just there to keep things flicker/crash-free.
Oh, the other headache was writing the high score code, which is normally the easiest part of writing a game and often the first thing that goes in if you aren't really sure how the rest of the game should proceed, but for Armalyte, it was late and rushed. Looking at the code now, it's got more nonsensical labels and hard-coded magic values than any other part of the game. I'm not sure exactly how it works... it's definitely got some very dodgy hard logic, shifts, ORs and fixed absolute memory locations. :-)
Did Martin re-write any parts of his music driver to help save raster time?
Not that I remember, though we did help him find a very nasty bug that made it spike to 100+ raster lines, but the SFX and music routines were already very sleek and highly compact, all the SFX and music took up less than 6 kB, and that was for 30 effects and four tunes, plus the drone of the mother ship. I recall talking him through the routine over the phone, line by line, until there was a moment of silence and then an "ahhhh" as he saw the problem. :-)
Was Martin your first choice for creating the music?
Yes, once we'd heard what he could do. I believe Wally Beben was originally commissioned by Thalamus, but after John Harries left, he assumed the project wasn't going ahead, so we turned to Martin. He also had a massive role in testing and tuning the game. He would come down to Exeter and give us vital feedback on how we were doing. His suggestions helped tremendously in shaping the game.
What did a typical day working on Armalyte look like?
I would get to John Kemp's house at about seven in the evening, stare at a routine for a while, re-write all of it, stare at it a bit (sometimes, a lot) more, shave a few cycles off it, and so on. I would usually then play the latest level Robin had made for a good few hours, then watch Tour of Duty while eating a cheese toastie, before going back to the slog of optimising and eventually heading off around dawn. It was probably the best fun I ever had!
What was the atmosphere like? Did you ever argue about routines, level design and such like?
The vast majority of the time, we were a happy, united bunch. There were certainly disagreements, and being creative, stroppy and opinionated teenagers meant that we sometimes didn't agree, but I think we all got on pretty well, considering.
Is there anything you find wrong with the game? Was there anything you wanted to change but couldn't because of time constraints, etc.?
Only that it was too hard, and the weapon upgrade path isn't explained on the title screen in some kind of demo, so if you don't already know about it, the game appears a lot harder than it actually is. I would also have liked to have added in some more intelligent enemies, rather than just fixed-path drones.
What did you think about the conversions of the game for the Atari ST and the Amiga?
They were supposed to be ports of Armalyte 2, but as that never got finished, Arc Developments designed their own versions, which were pretty poor games IMNSHO. If they had just stuck to porting the C64 version, it could have been a lot better, but the Amiga would have struggled with the full-screen scrolling and all those sprites and bullets, I doubt it would have run at 50 Hz.
Were you offered other jobs after Armalyte was released?
Not immediately, though we spoke to Activision and System 3 after we'd made the first demo of Deadlock. We didn't go back to Thalamus, as the terms they offered weren't good and the sales of Armalyte had been pretty dreadful.
You started work on Armalyte 2 but it never got finished. What happened there?
We were already contracted to System 3 to write Deadlock when Thalamus said they'd like to make Armalyte 2, but System 3 called in the contracts and we had to go back and work for them. Mind you, System 3 were offering six times the money.
What new features were you planning to add and update, to make it a kick-ass sequel?
The weapons, mostly. We wanted bigger bosses, and many, many more bullets flying around. Also, some AI running on the enemies to have them homing, walking and/or running along the background automatically – rather than manually scripted by Robin.
Was anyone signed up to do the music?
I don't think so, it really didn't get that far. The demos we did are available on Frank Gasking's brilliant Games That Weren't site.
How did you get employed at System 3 and how did you get to do the intro to The Last Ninja 3?
Originally, we were going to write Deadlock for them, but once that slowed to a crawl, Robin joined them to do the graphics for The Last Ninja 3, while John K and I started on Armalyte 2. Once it started looking like The Last Ninja 3 would be completed, Mark Cale wanted somebody to give it a nice intro, so we went up to London for what was supposed to be a week or so, but ended up staying for six weeks, at the end of which we took full-time jobs with System 3.
Did you do any work on the actual game code?
Only the bit at the beginning of a level that scrolls the whole screen on.
What did a typical day working on The Last Ninja 3 look like?
We would get in around 9:30, wait for Robin to finish some more graphics and then go down the pub.
What do you think about the music in the Ninja games, and who do you think did the best music in terms of catching the Ninja atmosphere? Ben Daglish, Anthony Lees, Matt Gray or Reyn Ouwehand?
I liked the music in The Last Ninja, and Reyn did a fine job on LN3.
What was the most enjoyable thing about working for System 3?
Working with some brilliant people, notably Stan, Chris Butler, John Twiddy, and of course the receptionists and PAs.
What was the atmosphere like?
It was pretty relaxed. I don't think any of the management knew how to run an office, let alone a software development studio.
How long did you stay there?
About 18 months in total, I think.
What rules and/or routines did you have in place to prevent game code and graphics from being leaked to crackers?
Absolutely none. Anyone could have walked in and taken it off the machines at any time.
Did cracking bother you in general?
Not really. People who are thinking of buying the game usually will if they enjoy it, and if they're introduced to the game in the first place by playing a cracked version of it, then so be it. It's really only something to be worried about if the quality of your product is somewhat lacking.
What were the pros and cons of Cyberdyne Systems as compared to System 3?
At Cyberdyne, we were working, for ourselves, on the games we wanted to make, and we didn't greatly care whether or not they made money or not, whereas System 3 was a "proper" business.
What were the worst working conditions you ever had to endure?
I can't say I've ever had bad working conditions – even working in a hotel for a month just to get something finished was kind of fun.
Which game was the most fun to do and why?
Definitely Armalyte, it was our first game and we loved it... probably a bit too much. :-)
Which game was horrible to do and why?
That would be Deadlock. It was never going to be a "good" game to play, which we knew even as we were making it, but we didn't have any way of stopping it (in fact, it should have been called Juggernaut).
Was there a lot of planning involved before you actually sat down and started coding, or did that only emerge in the course of coding?
With the C64 stuff, quite a lot of the code was written on paper and re-written on paper, mostly because I would have ideas at two in the morning, but also because when you're starting out, it's nice to put stuff down on paper so you can carry it around and tinker with it whenever you feel like it.
With regard to time limits, did you ever have the feeling that you weren't completely happy with your work but that it had to go out because of a deadline?
Not really, we were very lucky for a long time in that respect, in that our integrity remained intact.
Did there ever come a point when you felt you'd mastered the machine and there was nothing left to do?
Well, maybe... though I was recently looking over some of my old code because I was converting it for the GBA, and I noticed some places where I could save a few more cycles here and there, so I'm not sure you ever "master" a machine.
Are there any games you wish you'd coded because you could have done a better job? (And let's face it, there are a shedload of bad releases out there!)
I would have liked to have had a stab at Salamander. Pete Baron did a damn good job, but with two levels missing, it's not a proper conversion.
Which other programmers did you admire at the time?
Jeff Minter because he always did what he liked and just hoped that other people would come along for the ride. Andrew Braybrook because Morpheus was a huge inspiration for me, and his games were always beautiful. John Twiddy because I liked pretty much everything he did. Gary Liddon because he's a smart geezer, you know. Martin Walker because Hunter's Moon and Citadel were classics.
You supplied the multiplex routine for Martin Walker's Citadel. Was it something you wrote for him exclusively, or was it the same routine as that used for Armalyte?
It was a tweaked version of the routine.
Could he not code his own? ;-)
It would have taken some time, and I wanted him to get on with Citadel as quickly as possible. :-)
You've spoken somewhat disparagingly of Deadlock, but when I look at the screenshots on Frank Gasking's Games That Weren't site, I see a rather colourful and fun-looking game. What happened?
It was simply ill-conceived. There are some demos out there now which kind of show how it evolved over twelve months or so, but at no point did we step back and ask ourselves the most important question of all: "But is it fun?". If we had, I'm sure we would have gone for a more action-based design and pulled out something brilliant, but we just didn't have the experience to do that then.
Was the game technically advanced?
It did have some really cool stuff in it. The scroll routine was top-notch, at any rate. :-)
As stupid as this question is: was it fun to program the C64 despite its limits? Would you say, as many have, that it was the limits that made it fun?
The limitations were definitely part of the fun! You had to be minimalist about it, it was programming at its purest, although the C64 hardware was, for the time, almost the opposite of limited. With just a few lines of code, you could get the whole screen moving with sprites and a scrolling background, stuff other platforms would really struggle with.
Looking back on the games you did back then, do you feel completely satisfied with yourself?
No, we should have made more games! Armalyte was a pretty good effort, for a first game. Deadlock should have been better than it was, but we needed (and lacked) someone to help us pare down the design and ask us questions about why it wasn't fun to play. It was very cool, though. :-) The intro for The Last Ninja 3 was a bit rubbish, but I was proud to have helped out on Citadel and, to a much lesser extent, on Hunter's Moon (Martin was a brilliant designer as well as a really good programmer). We did start quite a few games, some of which had potential.
What have been your most successful games, and what are you working on right now in your current job at Black Tusk Studios?
I can't actually talk about what I'm working on at the moment, other than to say that it's a very exciting project. The team are highly talented and just generally good folk to work with. :-) The EyeToy games were probably the most profitable, we were a very good small group who put out a lot of games.
Do you still have the C64 lying around somewhere?
I believe there's one in my parents' house, somewhere in the loft, I think.
When can we expect to see a new C64 game from you? I mean, Robin Levy quite recently released a new hires image, so there's no excuse really!
We are messing around with some ideas for a proper Armalyte 2, or at least one level of it. It will probably be cartridge-only, I just need to find more spare time! It is happening, though.
Thank you so much for helping us preserve an important part of computer and gaming history! Do you have any parting comments with which to leave a final impression on our readers? Feel free to greet anyone you know.
I'm really grateful to the people who have played our games and continue to be fans. Shout out to Robin Levy, John Kemp, Martin Walker, John Harries, Rob Stevens, Paul Cooper, Julian Rignall and Steve Jarrett. Armalyte wouldn't have been possible without you!
back to the list of available interviews