An interview with Chris Sorrell
Chris has an impressive list of Amiga titles, culminating in the popular James Pond trilogy. His games include:
- Spitting Image (1989) - Graphics
- Dogs of War (1989) Graphics
- Bad Company (1990) - Graphics
- Fire and Brimstone (1990) - Graphics
- Yolanda (1990) - Code
- James Pond: Underwater Agent (1990) - Code, Graphics, Sfx
- James Pond 2: RoboCod (1991) - Code, Graphics
- James Pond 3: Operation Starfi5h (1994) - Code, Graphics, Misc
How old were you when you got your first computer and what was it?
It would have been in 1983 when I was eleven. It was an Atari 400 which was quite a cool, popular machine in the US, but in the UK where I lived it was a fairly marginal system (most people had Spectrums or C64s). For me it was perfect though as I quickly became obsessed with games like Miner 2049er and the Atari classics like Pole Position, Star Raiders, Donkey Kong Jr, etc all of which were pretty awesome on the Atari 400/800 (as opposed to the super crude 2600 versions that many people think of when they remember early Atari games).
It's pretty interesting how much the Atari 400/800 hardware was an indication of what was to follow in the Amiga - the link clearly being the talents of Jay Miner who headed up IC design on both.
Anyhow, I soon realized that I wanted to make games almost as much if not more than I wanted to play them. I quickly learnt that BASIC was utterly hopeless and started to learn assembler. It wasn't until I switched to a C64 (too many great games to ignore) that I really started to put together my first programs.
From the game credits in the Hall of Light Amiga games database, it appears that you started working on the 16 bit machines, with no development on 8 bits. Is that correct?
Commercially, yes. Throughout school I had spent all too much of my spare time creating small demos and partial games on my C64 - for most of the time never aware that there was an actual demo 'scene' - this was just for my own fun. I (foolishly) left school as soon as I could because I was itching to get into the industry... By this point I owned an Amiga but had only been using it for graphics - my coding work was all still on the C64.
How did you end up working on Spitting Image? Presumably it was your first paid work on the Amiga?
I was lucky enough to hook up with a guy named Steve Bak via the local computer shop where I had a Saturday job. He was already a very established developer with multiple C64 and Amiga/ST titles already behind him. However his talent was coding - he always brought in freelancers to provide the artwork. He happened to be looking for an artist to work on his next title which was to be a beat 'em up based on the then popular Spitting Image TV show. Having always done my own artwork as well as coding I jumped at the opportunity to put together a disk of sample pictures - enough to impress him into offering me the contract.
What kind of a specification were you given in terms of what he wanted you to draw?
We knew we were essentially making a side-viewed beat 'em up, which characters should feature and that we wanted each to have a 'home' background. I don't remember starting with much more than that to go on!
Did you as the artist get to choose the colour palette yourself? Did you have to do rough versions of all characters to see what combination of colours would suit all of them?
Absolutely - Steve left all art decisions to me, just providing the technical guidelines I needed to work within. Successful 16 bit artwork was very much about picking the right palette - focus too much on one shade and things would look very monochrome, aim for too many different hues and you wouldn't have enough of each colour for decent shading, etc. In Spitting Image (as with most of my Amiga work), there was really just one palette that was adapted in subtle ways between locations. This was necessary because any of the games' characters could visit any other character's home location.
Can you remember approximately how long it would take to do the graphics for each fighter?
The whole thing only took about three months - I don't think it was much more than a couple of weeks for each character and their backgrounds, including all character and background animations.
Did you draw them from still photos or video or was there another version you were basing the graphics from?
Everything was drawn by hand using whatever reference I could get hold of. I had two (publicly released) Spitting Image books for character reference but that was it! Anything else was just derived from whatever books I could find... It's crazy to think how much effort it was to muster up reference material back then when now all it takes is a single web search.
What art package did you use? And on what platform?
It was all created in Deluxe Paint (2?) on my Amiga A500. I didn't have a hard-drive so everything was stored on 3.5" disks.
How do you go about drawing the Sylvester Stallone picture that features at the end of the game? Did you have a digitiser? Or work straight onto the computer? It looks amazing for only 16 colours, but the Amiga version should have had 32 or used HAM mode hehe! :)
I'd totally forgotten about ever creating that one! Most likely it was based on a decent photo reference and certainly created straight onto the computer 'by eye' (I'd never used a digitizer until after Spitting Image when I actually bought one with part of my income from the project!) It was indeed 16 colours - like most art I did - because of the need to work on the ST. The Spitting Image title screen was one 32 colour exception; I was actually always pushing to do stuff 'right' for the Amiga but of course deadlines were fairly tight and Steve was a very pragmatic guy with his mind on business practicalities.
Do you recall any interesting stories during the development?
The whole experience was an amazing thing for me, being about as naive and raw as you can imagine (I was just 16 when I started). This was a first taste of the industry I'd been desperate to join for about four years! One memorable point was a trip I made with Steve up to visit the conversion house that were working on the (totally independent) 8 bit versions of Spitting Image. During the same trip we stopped by the house of David Whittaker who was providing the music. It was quite something to be meeting these people who actually made games for a living. (How small and sad my perspective on things seems now of course :)
Dogs of War
The intro sequence with the Commando-like figure firing the minigun looked like it would be a lot of fun to create! Was it? Did you base the character on anyone?
The start and end of my inspiration for this project came from the gung-ho action films of the era: Commando, Predator, Rambo, etc... So basically this was a fusion of Arnie, Stallone and the infamous mini-gun-vaporizing-the-rain-forest scene from Predator!
My cousin absolutely loved the weapon selection screen with the huge variety of guns and ammo available! Who decided on all the weapons that should be available? Did you have any interest in weaponry or it was just another drawing job?
I must confess - this one really was just a drawing job. I've never had any interest in weaponry and this wasn't a project that I really had any connection with (beyond enjoying those aforementioned action films).
Did you have to research lots of weapons to come up with all the graphics for each gun and the bullets?
I recall Steve got hold of some crazy magazines that seemed like they were aimed at mercenaries or red-necks (or perhaps mercenary red-necks) - loads of adverts for guns, animal traps and all things deadly. They made for great reference in combination with one of those 'Janes' military hardware guides.
Did you get any say in the design of the game?
Not especially. Really the whole game was a re-tread of Steve's earlier game 'Leathernecks' but with Tim Coupe as coder. This was the first project that we did as Vectordean and was a pretty quick one just to bring in some cash...
How about the difficulty level? (The game seems impossible without using the Timbo F5 cheat!)
Very true! There was no such thing as play-testing in those days. Consequently I think many games shipped with difficulty set for the developers (who of course know every trick and technique for success).
$14,000 seems pretty cheap for risking your life against an army of enemy soldiers in Vietnam to rescue a P.O.W, even at 1988 prices! Especially when you have to kit yourself out with all the weapons with that money! But seriously, were the little character faces in the game of anyone in particular or you just drew random faces?
No kidding that seems cheap! I guess that was a symptom of trying to balance the game's economy system in a big hurry! The faces are certainly Arnie and Stallone inspired once more.
Who created the maps for the game? If you did them, what map program did you use?
I think we had a simple in-game utility. I contributed to the maps but I think Steve did most of the work on this one.
Were the big panels on either side of the screen deliberately done because the Atari ST couldn't push pixels around quick enough? Did you get to design those panels yourself?
Yeah, those were pretty ugly, right :) I can only think we did that to keep the amount of scrolling screen area as low as possible; getting any kind of smooth scrolling out of the ST required chicken sacrifices and voodoo magic.
Was the actual name 'Dogs of War' decided when you began work or were you creating a shooter without a name to begin with?
The name was in place pretty early - I think Steve had come up with it.
Did you have anything to do with the box art or was that created by someone else after the game was finished? Were things like the 'Dogs of War' logo designed by you?
No, no, no! Let me state very clearly: I HAD NOTHING TO DO WITH THIS BOX ART! (I say this loudly because in my opinion this has to rate as one of the most dire pieces of artwork to ever sully the cover of a professionally made product!) The logo was based on one that I had created for the game's title screen, but the guy behind it (I mean *behind* it - who positions a figure behind a logo!?!) can only have been created by someone's nine year old kid or something?!... I could rant all day about this one, but suffice to say, we were NOT pleased when we received our final copies of the game and saw this abomination on the cover. I remember feeling sorry for Steve - I mean you'd think it might be an honour to have your name on the box, but certainly not on this one!
Any interesting memories about this title?
Not too much to say on this one - it was a quick and dirty project just to get the studio established and test out our new team; not really the finest hour for any of us I suspect!
I must admit to having never played this prior to this interview. From the screenshots it appears to be a Space Harrier clone, but it's quite slow, you're confined to running on the ground and it plays pretty badly by today's standards! At the time did the team like the game and think they had a hit on their hands?
This was another one that was really just business (well for me at least). The high concept came either from Steve or from someone at Logotron (the publisher - who were about to become Millennium) and to be honest, no, I don't recall any of us thinking it was going to be a big hit! I remember Steve being quite keen to try out something with a trick 3D look and that was really the defining aspect of the project. I think we kept play fairly slow because the frame-rate for the 3d sprite scaling wasn't great and wouldn't have supported a faster paced game.Â
This game appears to have been the first where you worked with another artist - Pete Lyon. What was that like? Who decided on the palette? And how did you divide up the work?
That's funny - I really had no recollection of Pete being involved in this, although I can't argue with the evidence! Pete was a long-time collaborator of Steve's prior to Spitting Image (and formation of Vectordean). He was an awesome traditional artist - much better than me at things like full-screen images; my strengths were always in more technically constrained art and in getting varied results from limited palettes.
Whatever the work split was I don't even remember it so it must have been pretty segregated!
How did you create the graphics for the ground? Were they drawn looking down and the game calculated the perspective effect, or did you have to create the various frames yourself in DPaint or something?
The tiles were just drawn in 2D and Steve had an algorithm that applied the perspective and calculated pre-scrolled versions of the tile so that runtime expense was just a straight-forward 'blit' to the screen.
The title screen has CRIS written on it - was that any kind of handle or are those your initials?
Ugh! That was a brief phase I went through (I was still only 17 remember!).
The panel at the bottom looks like it was added to the Amiga version to make it a full screen PAL game. Did anyone insist on that? It appears to not really have much of a purpose other than to fill up space. I assume the Atari ST version just had some extra stuff at the top of the screen instead?
I think there may have been a desire to be able to say 'enhanced Amiga version' that prompted that (haha). Like I mentioned previously, I was a big Amiga fan back in the day, so I wasn't any happier when we did stuff like this than the end user would have been, however we were still finding our feet as a team, and paying the bills was the order of the day! I remember applying a constant ongoing pressure to Steve to let us treat the Amiga as a lead platform which eventually came to pass.
Anything else to add regarding this game?
Nope - as with Dogs of War, this one isn't exactly a career high-point :)
Fire and Brimstone
Who came up with the idea for this game?
I think this one was quite a group effort - Steve, Tim Coupe and myself. Tim was the main programmer this time around.
Was this another Atari ST original game converted to the Amiga?
I'm afraid so :) ...I was really itching to do a proper Amiga project by this time, and I found it especially frustrating that we were making this one as a static screen game when I really wanted to see it scroll...
The graphics have a style quite reminiscent of Ghosts'n Goblins or the sequel Ghouls'n Ghosts. Was that deliberate or it just turned out that way?
Absolutely! I had always been a fan of Ghost'n'Goblins and having only seen a few screenshots in a magazine of the (soon to launch) arcade sequel, I already knew Ghouls'n'Ghosts had a look that I really wanted to emulate.
Did you have artistic licence to come up with the characters or were they all decided in advance and you just drew them?
I had complete free licence to come up with characters although I recall spending much more time working on background art than on characters - perhaps a mistake in hindsight.
Most magazine reviews gave the graphics very high scores at the time (80-90%). Did you feel that was your best work up until that point?
It probably was. I think I tried to do a little too much with the limited palette (e.g. the super detailed background scenes distracted from the foreground), but at the time I was fairly happy with the end result.
The difficulty level on this seems rather high! For example, if you accidentally press fire on the first screen and throw a weapon at the troll, you are killed! Did you ever feel that it was a bit of a waste of your graphical talent if most people couldn't complete more than a couple of screens?
Another case of 'tuned by the developers for the developers' although the game was deliberately mapped to have a flow more akin to a puzzle based adventure than an action platformer. As for feeling that effort was wasted for later levels, I never really thought about it that way at the time, but I've absolutely come to think like that over the years... It's funny how perception back then was that 'challenge = fun' and so many games (Ghouls'n'Ghosts being a perfect example itself) were so brutally difficult.
I think with Fire and Brimstone the bigger problem was that there weren't any sufficiently fun central mechanics to force that 'just one more go' principle upon which games like G'n'G thrived.
Your first coding project, a conversion of Hercules on the C64 to prove yourself as a coder to Steve Bak. Did you get any say in which of Steve's old games you would be converting?
Exactly - I had a lot of old 6502 demo code behind me, but I'd never written anything major in 68k at this point. The premise of updating Hercules came from Millennium as much as Steve - this was the one out of his older games that had been best received (I could remember having see it awarded a 'Zzap! 64 Sizzling' review when I was a kid!)
What assistance did you get in terms of the original? (Maps, source, video etc)
Bizarrely I don't recall ever getting to see a working copy of the original - I just had print-outs of the original 6502 code! It was weird and kinda fun to see the game coming together as I gradually converted things over to 68k (on the Atari ST).
Have you tried playing the game lately to see how badly it's aged? I'd be interested to know what kind of score you would give to a game like it now!
I don't need to replay it to know that it won't have aged well! ...And although I was always super grateful for Steve giving me that opportunity to prove myself, I was never under the expectation that this would be a well received project (I don't recall ever seeing a review as a matter of fact - I think it was a pretty quiet release!).
Several people reviewing the game have said it's the most difficult game ever! If you stand still for more than a couple of seconds at the start of a level, the land you are standing on bursts into flames and kills you. The jumps often require pixel perfect accuracy. As programmer, were you able to zip through all the levels easily unlike us mere mortals that lose all our lives within 20 seconds?
Yup, it was always one of the most extreme examples of truly punishing old game difficulty levels you could imagine, and that was a point of pride to Steve! ...It would start you on a randomly selected screen - killing you within seconds if you didn't move quickly enough - and should you miraculously complete a screen, the next would be chosen at random too!
I actually got to be very good at it so I can vouch for the fact that it *can* be completed (I even finished it without losing a life once!).
Can you remember how many levels were in the game? (The Hall of Light database currently only has 4 screens - I suspect because nobody can complete more than that!)
There were twelve 'levels' with four screens each because - from its original incarnation - it was all about the twelve challenges of Hercules. The decision to switch to a female lead (and the choice of name) came from Millennium; kind of a weird call when the content of the game is still the same Hercules it ever was!
How happy were you with the graphics that were provided to you for the game?
The artist was a friend of mine - actually an excellent artist, although working in pixels for the first time. I can't say I loved all aspects of the work he did here but I did quite like the character styling and animation (very She Hulk inspired), and really the simplicity and constraints of the project were so great that I don't think we could have achieved too much more :)
Were there any difficulties in converting the game?
Not really - a super simple project, whose strengths and weaknesses were really all in that premise of updating an old C64 project as faithfully as we did.
I'd say not your finest work but it allowed you to create the legendary title James Pond!
Exactly. From this point onwards I finally had the chance to really shape the projects I was working on so as limiting as Yolanda was, it certainly represented a major career turning point for me.
James Pond: Underwater Agent
I was pretty sure the game was running in dual playfield mode when I first saw the mission intro screen, but it's far too colourful to be restricted to 8 colours in each playfield! Is it basically 4 bitplanes (16 colours) + a 5th plane for the vertical parallax (presumably left off the ST version?) + attached sprite for James + another sprite for his bubble?
You got it exactly... So the trick is that the 32 colour palette has the same 16 colours in each half and then the 5th plane can move totally independently. As you say, this makes it very simple to port to the ST - you just lose the parallax (and accept that the scrolling is going to look horrible :)
Use of sprites was very fixed in this one. I must confess, coming from a C64 background I was always somewhat disappointed with Amiga sprites. I did a little more with them on JP2...
There appears to be a neat parallax trick with bitplane 5 where it's just a single colour used for a background effect but if you travel up 2 pixels it scrolls just 1 vertically giving the distance parallax illusion. If that's correct, it's very cunning as presumably you just had to increment/decrement that 5th plane address by a line each time!
That's right. I always wanted to include horizontal parallax too but this technique didn't really fit and I didn't have the time to figure out something that could work.
The colourful mission intro screen appears to be changing into 64 colour mode (half-brite) to scroll the text up which looks very slick! It temporarily disables the parallax bitplane (mentioned above) until you have seen the text. How did you come up with these neat effects?
Yes, it switches to half-brite mode for the text-scroll. Having been mired in ST land for so long I really wanted to try out any and every Amiga capability that I had the time to! The great thing about the Pond world - and general tone of the game - was that it was very easy to justify and plug in just about any colourful, cutesy effect I could think of. Being able to control both graphics and code really allowed me to try things out and experiment.
How did the poor Atari ST emulate those effects without the Amiga hardware? (I can't find a youtube video of the ST version to compare). If I recall correctly, Steve Bak did the ST version.
It was very much 'path of least resistance' since we had accepted that the Amiga version was the lead sku (finally! hooray!). Yes, Steve did the ST version and he certainly knew as much as just about anyone about how to get the best from that system (excepting a few demo crews that hit upon specific tricks).
As part of the cheatmode, you can press F10 and the overscan parts of the screen flash various colours, I'm assuming some kind of DMA timing debugging so you could tell how long each part is taking to run. Is that correct? If so, can you remember what any of the colours mean? :)
You certainly know more about my game than I can remember :) ...Yes, the colour 'bars' represent timing - this was a common trick used by 16 bit developers. I don't remember any colours specifically, but almost certainly the largest one will be character draw time. Scrolling was actually cheap on this one (see below).
Are you using the copper-wrap method for drawing the screen?
No - in JP1 the scrolling system is actually fairly low tech - I just allocated enough screen memory to contain the entire play area. That's why some levels are wide but shallow and others are less wide but deeper (and most levels use multiple 'pages'). JP2 had a much more sophisticated system (that I imagine we'll cover when we get to JP2!).
Can you tell me a little about the controversy over the MGM intro screen spoof. What happened in the end? I'm surprised a big corporate would even know about the game.
Obviously we were all pretty naive about copyright issues back then, so spoofing the MGM lion-roar intro was done without a second thought for how it might be infringing anyone's copyright! As I understand it, a little while after the game launched, Millennium were contacted by MGM lawyers. I don't really know the details or how it was resolved, but suffice to say we were all a lot more careful about such matters in our later work... I'm sure the fact I directly sampled their intro can't have helped. Ooops.
How was your time split on programming the game vs doing the gfx?
It was a very loose split - I pretty much did whatever I felt like doing, or needed to do on the day. I was still living at home for this project, so I would quite often spend more of my work hours doing coding and then come home and do graphics work in the evenings.
What development system did you use for coding the game?
It was pretty horrible... It was a combination of the Devpac 68k assembler and for debugging - almost nothing! Until partway through development we picked up a first generation Action Replay cartridge. That proved invaluable, although was still a poor substitute for an actual debugger!
We had 1040 STs cross compiling under Devpac and downloading via serial cable to the Amiga. I have to say even though I was never a big fan of the ST, it did have a great monochrome, high-refresh rate, high-res (and very affordable) monitor that actually made it better for staring at code than an Amiga would have been.
What mapping tool did you use to create all the levels?
There was a built in tile editor (same for JP2 as well, although that one dealt in pre-defined 'objects' rather than individual tiles).
James Pond features missions including dumping radioactive waste, leaking ACME oil tankers, destruction of rainforest to grow burgers, and saving cute seals from evil eskimo dwarves! Are you a bit of a greenie or were evil corporations the easiest to create interesting missions for?
The foremost reason was that this made for interesting missions, but as a secondary thing I guess I probably do have a little bit of a green streak :)
The game features almost anything in the water - bulldogs, sharks with boeties, some kind of monkeys! Talk about letting imagination run wild! Was it literally anything you could draw cute was fair game to be included?
What do you mean!? It all makes perfect sense! You're seeing dogfish, old-men-of-the-sea and erm, sharks with bow-ties. It was great to have such creative freedom. Most elements are grounded in something slightly logical, but I sure loved any opportunity to be silly. The vampire fish almost got to star in their own game - James Pond 4 was going to be subtitled 'The Curse of Count Piracula' before the 16 bit console market died...
Which part of the game was the most fun to write?
The whole thing was fun - that was one of the great things about development back then: you had an idea, you tried it out, you expanded it. Very few team inter dependencies, no studio bureaucracy, and for JP1 at least, no pressure or expectations - the game was whatever we wanted it to be. As for specifics, I always liked the attention to detail stuff like changing Pond's expression according to his health level (or number of lives), or letting him pick up and wear silly items like the helmet or shades.
And the most difficult?
I don't remember anything being a big problem on this one - oh, except stopping those stupid bouncing star-fish from getting stuck in the walls inside the bonus rooms. I never did get that fixed :)
Are there any technical tricks that you are especially proud of?
Apart from the fact the game ran at a reasonably solid 50 frames per second, I don't think so. JP1 actually only made relatively simple use of the hardware both because I was still getting to grips with it, and because being our first Amiga led project (and still having to think about ST), we didn't want to go crazy.
Richard Joseph's music thoroughly suits the game, and adds greatly to the atmosphere. Was he given a general brief such as "watery bubbly fun" and he just ran with it, or did he came up with everything himself?
Absolutely. Richard did an amazing job! At the point he joined the project, I think I had already hooked up a kind of soundscape of my own (choose SFX only and you can hear it), but obviously we felt we needed title music and the option of in-game music too. He immediately latched onto the Bond spoof principle and delivered an excellent pastiche of the Bond theme (and a bunch more sound effects). For in-game he carried across a lot of the same instrumentation adding in the kind of upbeat bounce that perfectly complimented the game's cutesy vibe.
Did you have to get Richard to change any parts of the music/sfx?
I don't think so. Having visited us once, he did all of his work from his home and just sent files through as they were ready. I recall everything sounding spot on the first time the files came through.
I'm still impressed by how slick this game is!
Thank you! Like I say, development of this was so much fun and I was so fired up to make it that all the little details went in very easily. Looking back, it's funny to see how all the ridiculous pickups and bonus items reflect things about the early nineties or about my own take on life.
Thanks for giving me a reason to find a YouTube playthrough of the game to remind myself about it. There are so many little things I'd forgotten ever doing - its actually given me some inspiration for my current project :)
James Pond 2: Codename RoboCod
Robocod is 50 frames per second of all colourful goodness! Was it difficult to keep the game running in a frame? Does the game slow down and drop a frame when too much is happening?
Running at 50/60 fps made a huge difference for scrolling games so it was a major goal. In Robocod's case, yes it was difficult because there was quite a bit going on and no real constraints on how things could be mapped (it would have been hard to optimize in specific ways without limiting the game and generally I much prefer to create open, generalized systems). So yes, it was very difficult to keep it in a frame, and frankly... I failed! Which is why I did something that I suspect was fairly unusual at the time: the game-play logic actually ran at 50fps via a timer interrupt while the main game loop received buffered render requests which it would fulfill as quickly as it could. I think this is the next best thing to a totally solid frame-rate - at least the game response doesn't drop into slow motion as things get busy. (Of course these days, frame-rate independence is a simple matter of scaling all movement by a time delta, but that isn't so viable when you're not working in floating point).
The screen setup seems to be the same as James Pond - 16 colours repeated twice so bitplane 5 is the real parallax layer (snowflakes on the main screen, and the colourful backgrounds everywhere else). I had a look at the code and bitplane 5 always seems to be at the same address (every 2 frames since it's double buffered) - this implies to me that you are redrawing that entire bitplane each frame update! Is that correct?
Yes, it's the same bit-plane usage, but definitely taken a lot further this time around. As you say, the 5th bitplane is fixed in memory and gets totally redrawn after every 16 pixels of smooth scroll. That gave me the freedom to do a lot more with it, including the option to force per-frame redraw to achieve animation as with the cogs background.
Originally I suspected the parallax layer was carefully constructed so that it had 16 repetitions of itself each an additional pixel offset from the last so that no matter what the scroll value was you would have an offset you could set the 5th bitplane pointer to and it would be correct. Did you ever think about using a trick like that or did you want the backgrounds to be far more flexible?
Yeah, I wanted to make a flexible system, because as you'll have seen there's quite a lot of usage variety across the game. I don't recall any stats, but I guess that a single plane full-redraw can't have been too expensive...
I'm surprised that the Amiga can update the entire screen (plotting new tiles in the sides, erasing the background where software-sprites were, redrawing all baddies and drawing bitplane 5 in it's entirety) and keep it at 50fps!
It certainly wasn't feasible to have all bit-planes being fully refreshed every frame. So the first four planes certainly used the hardware-scroll/strip redraw approach. Perhaps the plane 5 redraw contributed to the frame-rate stutters more than I can recall!
Can you explain how you setup the actual screen (copper-wrap etc) so it can scroll 8 directions and huge maps?
Well... If I remember correctly, it used the copper-wrap technique to allow for vertical scrolling. To also support horizontal motion, the bit-plane memory was carefully laid out to reserve an extra 16 pixels of screen height, then, as the side strip redraws occurred the base pointers just stepped forward/back by a word. It meant there was a limit to how wide a play-area could be (16 screens) which always bugged me slightly, but otherwise made for a pretty flexible system. I believe there were games after Robocod that eliminated the need for (and limit of) this buffer space but I never got to explore that technique.
If you disable sprites, many of the enemies flash or disappear for a while so they are sometimes drawn with the sprite hardware, and sometimes blitted. The score is drawn using sprites so that eliminates any available at the top, and James Pond is drawn down the bottom also with sprites so that disables any from the lower part.
I was very underwhelmed with what Amiga sprites offered, and being a fan of generalized systems, I decided to try and use them within my general object handling framework for JP2. This meant that the system would consider all the objects wanting to display each frame, and would pick some of them to display using sprites. The screen had four bands: the top and bottom 32 pixels used fixed sprites to show the score and 'lives' display, and the space in the centre was divided into two bands where any object of 32 pixels or less in height that wasn't straddling the line between the bands, would be blitted into a reserved area of sprite memory for quicker display (i.e. no put-pack or clipping). Perhaps this wasn't the absolute most efficient use I could have made of them, but I liked it because it meant I wasn't having to treat them as a special case; they would improve performance under a wide range of game scenarios.
Were the hardware sprites in the band multiplexed so you could re-use the 8 you had multiple times or they were only used once? (Presumably you had only 4 since they're surely all attached 16-colour sprites).
Multiplexed only in the sense of there being the two bands described above. They were always rendered using the 16 colour mode since all backgrounds and characters derived from the same 16 colour palette which again made things very flexible.
If you have a 320 wide screen when the Amiga hardware scrolls at the pixel level, it doesn't have enough DMA time to fetch the sprite data for all 8 sprites. Was this the reason the screen has a 16 pixel black area on both sides, to keep from losing the last sprite and then to even it up on the right?
Most likely. I must confess I don't remember those details :)
How did you come up with the idea for Robocod to stretch vertically a huge distance up the screen? Expanding Robocod would have been easy using a sprite for his middle section, but he seems to be always blitted! What was the reason for that?
It was just an idea that popped into my head one day when I was trying to think of some special power I could give to him! Up to that point, the best I'd come up with was a large Donkey Kong style mallet so I'm very glad to have had that flash of inspiration! I didn't use a sprite for this because the stretching section would have crossed over between the two bands of sprite re-use and besides this was an element of play that you only used occasionally and only when the action tended to be a bit slower anyhow.
Was the map editor a custom one you wrote for especially for the game? Did it have positions for the baddies in it or were they all done externally from the map?
Yes, the editor was built right into the game. It was a little crude (saving a level meant grabbing a chunk of memory using the debugger), but very good in terms of providing a very quick edit/play turnaround.
Maps were a simple tile grid, but were nicely unified in that all enemy placement and another special information was present in the same place.
One of the Hall of Light team members whilst ripping level maps from the game noticed that some tiles appear to be drawn upside down. Was that some kind of bitfield set on the tile? How did you store that information and were there any other special flags like that?
That's right, tiles could be flagged as inverted (to get extra value-for-memory). They could also be flagged as solid or not, damaging, bouncy, affecting character inertia or enemy-stopping (for invisible platform ends to stop enemies from walking off). These were all high-bit flags where the lower bits were the tile index.
How did you create the demonstration mode?
The principle here is very simple: there's a 'record' mode that allows you to record player input, then in demo mode you're replacing the 'live' player input with the data previously recorded. In Robocod's case we also had simple (run-length) compression on the input data to keep size down. In practice these demo modes are usually pretty horrible to get working reliably since they rely on the entire game-state being *completely* deterministic. The tiniest mis-placed 'bit' of difference, or out-by-one-frame in timing can mean an ill-positioned enemy or 'wrong-turn' by the player character and your slick-looking demo can look real stupid real quick! Having implemented this in a few games, I don't recall Robocod's being especially painful - we were lucky. I've known of shipped games that appeared to have a perfectly working demo mode only to end up being seen in shop windows screwing up majestically!
Was the development system upgraded by this time or were you still using Devpac and an Action Replay cartridge?
After JP1 we upgraded from our old 1040 STs to PCs - the first PC I ever used! We got set up with an early version of Snasm from SN Systems and the MS-DOS based 'Brief' text editor. By comparison with what we had been using before, it was *awesome* - finally proper debugging facilities!
Was the Amiga game still the lead version?
It was a little odd in that we started with Amiga as lead version - and the platform I was working on, then EA signed up for a Megadrive version but needed it to be ready about two months *before* the Amiga version was scheduled to complete. We hired in a new programmer (Simeon Pashley) who was tasked with getting the Megadrive framework up and running, and then porting across what I was doing on the Amiga. Because he needed to finish first, my focus was very much on writing the *game* and trying to defer the Amiga specifics until the back-end. Consequently most of the copper and parallax effects weren't worked on until the last two months at which point we knew we already had a decent game behind us. That's a pretty nice way to do things as it turns out.
This might be a stupid question for those living in the UK (if the answer is something to do with Penguin biscuits) but in the intro it has the following text:
Something fishy is afoot in the Arctic...
Alvin... Dr Maybe has captured the toys!
Murray... And he has kidnapped our friends.
...Only RoboCod can help us now...
He must rescue the penguins... And defeat Dr Maybe!
Who (or what) is the Alvin and Murray that are referred to?
I think that was the script (and names) that the Penguin people gave to us - I have a hazy recollection of Penguin TV ads where the penguins spoke and referred to each other by those names (or I might be dreaming).
At what stage of development was the Penguin biscuit sponsorship worked out and put into the game? If late, did it cause problems? (Presumably you had to add the intro featuring the biscuits - did you get to design the intro?)
Very late. That was a seriously unpopular demand when it first came through! (Although in hindsight I think it actually adds to the character of the game). The whole sequence was created by Simeon Pashley who was the programmer primarily responsible for the Megadrive conversion. He's a super professional coder, so it all went in very smoothly. I added the Penguin graphics to the chocolate-and-candy level set and tacked on the simple 'rescue the penguin' mechanic. I always like the wry addition that Simeon made to the game-over screen as a group of penguins drag Pond's body offscreen: 'smoked kipper for tea!'.
Nothing to do with RoboCod, but have you seen the clever use of sprites in Risky Woods?
Definitely a very clever technique! I think for Robocod though - had that approach even occurred to me - I might have still gone with the 5th bit-plane/copper-bars look because I was a big fan of the sheer eye-popping degree of colour it brought to the screen. I think that was one of Robocod's biggest hallmarks and why - for me - the Amiga version is actually far nicer to look at than the Megadrive version despite the fact that version had 'full colour' parallax. I like to think thematically and visually Robocod was the start of an Amiga trend (e.g. Trolls and especially Zool seemed to be take very direct inspiration!)
James Pond 3: Operation Starfi5h
Was the Megadrive version complete before the Amiga version was started, or they were done alongside each other?
I'm sorry to say it to an Amiga audience, but the Amiga version really was an after-thought :( ...After Robocod it seemed like the Megadrive (through a partnership between MIllennium and Electronic Arts) was an opportunity to really hit the 'big-time'. I wanted to make Pond 3 the best platform game out there and felt like that was a goal within our grasp. In practice, we were trying to do too much, and the weight of responsibility was fairly crushing for most of the two year development (where Robocod had been just nine months). So... when the Megadrive version finally completed, we made the decision that there was no way to get this game working well on anything other than an AGA Amiga and that was the point when Amiga work commenced.
How was the MegaDrive different to program than the Amiga? What advantages or features did it have over the Amiga, and vice versa?
It was a very different experience, albeit still grounded in 68k assembler. The Megadrive (and SNES too) had tile based screens and powerful dual playfield support so scrolling was a breeze. They also built up their sprites from tiles and had hardware support for 80+ sprites. Although you were limited to 512 colours, each tile could utilize one of 8 (?) 16 colour palettes. Consequently it was very easy to put together pretty slick looking visuals that the (non AGA) Amiga could never hope to emulate.
Where the Amiga did win out was in terms of audio (Megadrive audio sucked), and copper tricks - the Megadrive had very straightforward strengths with little potential for developer ingenuity to extract any further juice.
The first 2 Pond games were some of the most vibrant and colourful games on the Amiga, yet the background in Pond 3 was just black with the repeated use of a sprite to create some stars in the background. Was this due to the space setting of the moon or other reasons?
I think JP3 was in its own way just as quirky and characterful as Robocod, but of course the space setting didn't lend itself to quite the explosion of colour that Santa's toy factory had in JP2.
It appears to be a 32 colour game, yet the Megadrive and SNES versions of Pond 3 have colourful parallax backgrounds that were missing from the Amiga version.
AGA gave us the ability to match the quality of the Megadrive visuals for the main graphics, but with just one playfield (apologies - I never worked on AGA so don't know the exact bitplane use). Because this had to be a quick port - and by pretty burnt-out developers - there was little choice but to take the easiest route to achieving a reasonable quality game.
It seems like it could have been an ECS game apart from the memory requirements as it's a 32 colour screen and sprite 6 used for the stars. The AGA chipset gives 256 possible values for each RGB component vs 16 with ECS but apart from that, it seems like it would work.
Perhaps, although there were more than 32 colours in the characters and backgrounds of the Megadrive version - at least 64, maybe 96 depending how we had things set up (I don't recall). Shame I don't really know more of the details of how this one was running (and even more of a shame that the AGA Amiga wasn't enough of a step up to keep them in the game).
Can you tell me about the easter egg on the save screen? It doesn't seem to work on the Amiga.
Oh - sorry, I'd forgotten that the Amiga version had proper save-files (and hence a totally different interface). On the Megadrive we had a crazy code-string system where the codes were coloured objects and the interface screen had you choosing objects as a cursor shaped like a wedge of cheese tracked position. If you left that screen for a minute or so a little mouse would walk over and start hugging the cheese :)
While looking up cheats for the game, I found the attached screen. Is that your text or Alan McCarthy's? I am assuming that mention of Stuart Campbell is regarding the James Pond 3 review he published in Amiga Power issue 38 at the time?
Ouch. That would be Alan's - that's funny/tragic - I actually hadn't seen it before! Yes poor Alan had been having a pretty rough time :( Alan was another great coder that joined us at the end of JP1. He was mainly working on his own games (Amiga conversion of Millennium's 'The Adventures of Robin Hood' and Megadrive title 'Rolo to the Rescue' for EA), but contributed some very valuable utility stuff to the James Pond games (including disk I/O and audio stuff for JP2 - in fact I think he may have actually written a player for Richard Joseph as the Internet just reminded me!). Anyhow, Alan had been helping out quite a bit throughout development of JP3 (when we were solely working on the Megadrive version), and once that was complete he was tasked with porting it to the Amiga. This was around the time that I left Vectordean; although we had both been big Amiga fans, taking a totally console focused title back to the Amiga was a pretty thankless task :(
Did Alan have any problems with any particular parts of the conversion?
Morale was almost certainly the biggest issue for Alan as he undertook the Amiga conversion. This had already been a tough project before he even started on the Amiga, and partly due to the project, and partly through other factors, Vectordean was literally falling apart. We had had some great times working together, but sadly this project was the last time I worked with Steve; it marked the end of an era in a number of ways.
What does Vectordean mean (if anything?)
It means nothing at all! This was just an 'off the shelf' business name provided to Steve when he first set up the company! Like I mentioned before, Steve was a really practical guy and rather than have us tying ourselves in knots trying to come up with some clever name, he wanted to keep things nice and straightforward. The creative side of me was always a bit rankled by this 'missed opportunity' (I wanted to design a cool logo!), but I totally respected his decision.
Do you still have the source code to the James Pond games?
I do, but of course I don't own the rights to it, so regrettably there's nothing I could pass on without having to jump through hoops to seek the required permission (sorry).
How does it feel knowing the characters you created ended up selling over a million copies and a huge number of people loved your games? (Swell head time!)
I'm actually really bad at savouring success on those occasions when I should have - always preoccupied with the things that didn't work out as I hoped and always looking to the future to try and do better.
I still find it hard to believe how much impact the Pond games seem to have had. I think it proves that if you have the opportunity and can work really hard and make something you truly care about yourself, then chances are that it will matter to other people too.
Certainly it's really gratifying to see people still talking about the Pond games, especially on forums where people comment about how big a deal these games were when they were kids - that the experience has still stuck with them. Now having my own kids makes me really appreciate what a rare privilege it is to be part of something like that.
What do you think of the websites, groups and individuals that collect games, catalogue them, extract music and graphics, recreate maps and index reviews of computer games for historical purposes?
Yeah, it never ceases to amaze me how much talent and effort people are able to invest into spare-time projects. Perhaps a side effect of working in games is I'm always too tired to do anything much in my spare time (plus having two little boys hardly helps!) - or maybe I'm just a light-weight and/or getting old :-S
Do you keep in touch with any of the other people you worked with back on the Amiga?
A little. I worked with Alan for a number of years after the end of Vectordean and have spoken with Simeon on a few occasions. I'm afraid I totally lost contact with Steve back in the 90s :(
Do you have any old photos from back in the day?
The attached photo was taken just after JP1 was completed in 1990 (actually for the Megadrive version's 'developer bio' section in the manual!)
What are you up to these days, and where are you currently residing?
After Vectordean I worked for Millennium for a few years until they were bought by Sony. I stayed with Sony until 2006 when I moved to Vancouver, Canada to work at Radical Entertainment. Since living here we've had two little boys which truly changes life more than you can possibly comprehend before parenthood!
As of this February I left Radical to try my hand at indie development. It's daunting just how many talented people there are out there trying to make a living through iOS and other indie friendly platforms, but I hope that the combination of all the experience I've gained over the years plus re-ignition of the same fire that drove development of these old Amiga titles can yield my best ever work. Please look out for upcoming titles from SpoonSized Entertainment!
Anything else you'd like to add?
Thanks so much for giving me the chance to look back over these games - it's not something I've done for quite some time (and certainly not in this detail). I hope the article is interesting to people and Amiga enthusiasts can forgive me for jumping ship with Pond 3 :)
Chris, it has been a pleasure! (And it's great to see that the semi-colon isn't dead in anything other than computer code!) Thank you!
Chris Sorrell Softography
Graphics: Chris Sorrell
Music: David Whittaker,
Design: Geoff Atkinson,
Programmer: Tim Coupe
Graphics: Chris Sorrell
Music: David Whittaker
Graphics: Chris Sorrell,
Music: David Whittaker
Graphics: Chris Sorrell
Music: David Whittaker
Graphics: Leavon Archer
Music: Phil Bak
Game Design: Steve Bak
Code: Chris Sorrell
Graphics: Chris Sorrell
FX: Chris Sorrell
Music and FX: Richard Joseph
Code: Chris Sorrell
Graphics: Chris Sorrell
Music: Richard Joseph
Additional Graphics: Leavon Archer
Map Design: Steve Bak
Code: Chris Sorrell
Graphics: Chris Sorrell
Amiga conversion: Alan McCarthy
Additional graphics: Sean Nicholls,
Music and FX: Richard Joseph
CD32 conversion: Dean Ashton