Codetapper's Amiga Site

An interview with Doug Little

Doug Little worked as a programmer at International Computer Entertainment (I.C.E) for a few years in the very early 1990s and worked on 16-bit Amiga and Atari ST games, and a little SNES too. His Amiga softography consists of the following games:

ICE seemed to be one of the several game developers that kept very quiet back in the 1990s. I can't find a single in-depth preview or interview about any of their Amiga games! How big was ICE and who were the people that worked there?

The company was small - a few core members which changed a little over the years but a few temporary contractors were involved from time to time as well:

  • Ian Morrison (owner/director) - I suspect he's now in Singapore with GKIM
  • Martin Kane (programming, I think was also a director)
  • Alan Grier (graphics - often working from home)
  • me (programming)
  • Chris Scudds (music)
  • Jim Downie (programming)
  • Mark Hughes (regular contractor, programming)
  • James Doyle (regular contractor, programming)
  • ...plus a few others I don't remember offhand.

The office was a small ground floor townhouse/tenement in Bath Street (legal/financial bit of town). Just enough space for a small number of people to work.

How did ICE end up converting so many racing games from the arcades and who gave ICE the conversions?

The license to port the games was usually obtained via a cooperating publisher - they would source the rights and grant us (or whoever won the contract) limited license to do the ports. We'd then get lump payments and/or royalties from sales. I was quite young at the time and didn't get much involved in that part :)

What was the typical conversion process like?

They were usually converted by spending ages playing the arcade box in the office until we completed the game on videotape, and then studied the tapes. Whatever worked really. I think rarely there were assets provided by the publisher to help with conversion - most often we had to figure it out ourselves. This is why the graphics sometimes looked so much different from the originals - different art style.

All of Ian Morrison's Amiga games (starting with Out Run for Probe) were into-the-screen 2.5D games, and this continued on to the 3 ICE games you worked on. Were the games all using the same basic game engine? What kind of development system was used?

The games were written in 68000 assembly language, normally borrowing code from the previous game to bootstrap the next one (many of them were racing games so stuff got reused). The code was written by hand with pretty basic tools - 'HiSoft Devpac Developer' on an Atari ST Mega 4 (i.e. 8mhz machine with 4mb of ram), with a cartridge port adapter and download cable connected to an Amiga A500, so code was written on ST's and transmitted remotely to Amigas for testing where necessary. Some development was done directly on Amiga - I remember there was an A4000 in the office at one point but most was done on STs.

There were some PC and 8-bit projects (SNES) but I don't remember very much about them. I worked mainly on ST/Amiga, and a little bit of SNES.

On the Hall of Light we have listed you as working on 3 Amiga games, Chase HQ 2: Special Criminal Investigation,Hydra and Cisco Heat. Were there any others you worked on?

I worked on quite a few other games but not all of them were released or were Amiga games - I expect those 3 are the only Amiga titles which were released with my name in them.

I was there from around 1990 so anything ST/Amiga that got published from around the end of 1990 onwards will likely have my fingers in it somewhere. I just don't remember the details very well (I was only 18 or 19 at the time!).

ICE SoftwareHow did you end up working at ICE?

I was interested in making art for games and somebody told me they knew Ian, who had a games production company in my city. So I applied as a game artist (I was undecided about university - figured I already knew what I wanted to do and how to do it, so I was easily tempted out of it by a career in computer games).

During the interview, Ian found I had learned to use 68000 and I had taken some demos along with me just in case (I think it was early 3d/polygon stuff). He was more interested in coders so I ended up doing that instead. Which was fine by me. I don't know what that says about my art though :)

From early magazine advertisements in magazines, it sounded like programmers were paid more than artists. Was that the case at ICE?

I suspect so. Perhaps not on initial recruitment as a junior - salaries were all low on entry at least in those days for small houses. But later on the engineers definitely had the advantage.

When did you leave the company and why?

I don't remember very clearly but I think I left sometime around 1993. I started a company with a friend, and we made stuff for the Atari platform mainly (graphics packages, utilities etc).

Did you concentrate on the Atari ST market or the Falcon and Jaguar aswell? And how did that work out in the grand scheme of things with Atari suffering quite a demise in the 1990s?

Primarily Falcon - I stopped doing most ST stuff when the Falcon came out.

That went quite well for a while but things went downhill when we shifted focus on the Jaguar console.

Chase HQ 2: Special Criminal Investigation

Chase HQ 2: Special Criminal Investigation title screenIt would seem that your first Amiga title was Chase HQ 2, which was coded with Ian Morrison. How did you split the work between you?

I believe I was given a lot of the stuff that varied between games, especially at first - programming the cut scenes, hiscores, effects etc. Ian liked to work on his road routines or new game features. Martin worked on his sprite routines. I was basically a junior coder at that time but I tried to get more interesting bits to do whenever I could. The games weren't very complex - it was more tedious (long compile/test times) than it was difficult in many cases.

Later on I was pushing more for polygon based games and better use of hardware - blitters etc. ICE had made a name for themselves doing similar kinds of driving games, reusing code. I wanted to diversify a bit - it was getting annoying working on the same old code all the time.

With publisher Ocean and it's huge marketing machine placing ads in what seemed like every computer magazine for months before release, did you consider yourself lucky to be working on such a big name licence at the time?

It was always good news to get a popular title and this one arrived soon after I joined so it was my first game title IIRC. However I was really just working on cutscenes and some in-game bits and bobs for that one and learning how their 'road game engine' and tools worked.

Did Ocean send anyone to do regular visits to check up on how things were progressing with the game or did they stay away until the game was near completion?

I don't remember too well - I think Ian usually took those guys offsite for talks. I don't recall them being around the office much. It was a tiny, cramped place packed with kit and books so it wasn't great for meetings.

Nancy at Chase HQThe Random Access/Sales Curve team used a common UFO system which made it simple to animate and move objects with very little code. It was so flexible that it was even used on attract sequences, high score tables, intermission screens, end sequences etc. Was anything like that created for all your bits and pieces?

There was practically no abstraction, other than sprite routines and road drawing really, which used Amiga blitter, and the ST version was some huge complex sprite routine with lots of special cases and which nobody touched. Everything else was pretty much compatible 68000 and had to work on both systems.

I do remember there being copper code on the Amiga and TimerB equivalent on the ST but I don't remember if it was used for all games and why it might have been unused in some...

Does that mean all the inter-level animations of arresting the baddies and the end-sequence with the building blowing up were effectively coded from scratch?

I coded all of the cutscene stuff from scratch for all 3 games I worked on. It was a junior duty at first but I ended up doing all of them mainly because I had done it before and it worked reliably.

The cutscenes were coded to save memory so everything was chopped up into small bits and animation was done as sprites with a small script-like thing I made to reduce the pain. We got away with it only because the material involved was very simple.

Chase HQ stage 2Were there any major problems during development or times you thought the game wouldn't be finished on time? Or did everyone know what had to be done and just got on with it?

I think we pretty much always got stuff done in a sensible time, albeit with hard work. Slipping wasn't an option because it was a tiny dev outfit with very big publishers who were prepared to cut losses or just give the work to somebody else if they felt like it.

There were always design problems, game bugs, floppy-loader specific bugs which were hard to debug properly, memory constraints causing problems but nothing show-stopping. The usual game developer stuff experienced on any project from that era.

Were there any interesting bugs or glitches in any of the games that were discovered after they had already been mastered?

I'm sure there were, but none major enough to be show-stoppers. There were QA processes even in those days so if something bad happened it would generally be flung back at us within a week.

Did you ever see the original 16-bit versions of Chase HQ? If so, what did you think of it?

I did at the time but I remember very little about it, sorry.

Hydra

Hydra title screenYou are co-credited with programming Hydra with Ian. Which parts of the game did you work on?

For Hydra I worked again on cutscenes etc, but also worked on more core stuff such as the water animation, weapons, game logic. I was already trusted to do most things at that point, except perhaps replace the precious road or sprite routines :)

Can you explain the technical details behind how you did the Hydra water animation sequence?

I think it was the existing road routines (which were horizontal scan fills) modified to mask animation/sprite data in there instead. Possibly with some distance based indexing of the animation towards the horizon. I don't remember very much about it though.

Despite the boat, Hydra was basically another racing game. Was that based on the same Out Run/Road Blasters/Chase HQ 2 code at all or begun from scratch?

I really don't know. The 'road routines' were established before I arrived, and persisted for a while - a sort of sacred cow at ICE - but it was a good source of revenue for the company so it made sense. They did put it to good use but could probably also have been more diverse.

What did you think of the competition in terms of road routines/speed? Did you ever look at others such as Lotus Esprit Turbo Challenge from Magnetic Fields?

I did look at others and felt we could be a lot more diverse and make more interesting games, but in many ways my hands were tied as I was quite young, it was my first real job as a software engineer and the techniques being used were owned by seniors and not really open for discussion. I could imagine ways to raise the bar as I was also a demo scener at the time and wanted to use some of those techniques ;) But it wasn't the environment for it really.

Hydra gameDo you remember how the ICE sprite and road routines were written? Were all objects in the game drawn with a single generic drawing routine?

There was a road description system which was basically a series of data statements in the code, describing distances to the next turn, degree of the turn, duration, undulations and degrees of undulation etc. Basically the route. But it wasn't a map as such. It just indicate relative twists to the otherwise straight receding road - an illusion. This was a bit tedious to edit and test, as you might imagine.

The objects had some similar system based on distance along the track and which side of the track, and probably a horizontal offset but I don't remember much more than that. It wasn't terribly complicated, just painful to edit and test. That took the majority of the time IIRC. :) That and preparing all the graphics for a build - that was also painful. The next most painful thing was compile time - the code was assembled on an 8MHz ST with 4MB of ram, and it was one long source file. It took a while :)

When you used the development system to send the code from the ST to the Amiga, how did it handle the loading in new data? Could the Amiga talk to the ST and request new data or did you have to work on a single section and test that, and bolt everything together with a proper loader at a later stage?

IIRC we burned a floppy disk with the final game data, and put it in the Amiga's disk drive. It would then seek the data as if the code had been booted from floppy. It was necessary to verify that worked properly because debugging disk-only builds was hard.

I think it could also run from HD but the Amiga expansion port could do one or the other, not both, with the kit we had then.

Hydra level selectDid the game engine handle drawing the various objects at different sizes itself (by pre-computing images at various sizes at the start of a level) or did the artist manually have to create lots of different size frames for each object and you had to add code to use a certain image depending on the distance away from the player?

The objects were pre-scaled offline so there was nothing special going on there except selecting the right one for a given Z, which was easy enough.

Did you have anything to do with the Rob Northen copy protection in the game?

I didn't have anything to do with the RN stuff - that was likely Ian. He liked to play with whatever had newly surfaced that week. Once he had worked out what to do, he would probably delegate it to somebody else for next time.

Do you recall any impressive technical tricks used in any of the games?

To be honest, specifics like this are beyond what I can recall. I do remember spending some time figuring out a cool way to do the Hydra map but I can't think what it was now.

Most of those games used a 'character fade' where the screen is divided up into 8x8 blocks and a mask pattern animated to bring the screen to black, or towards another screen. Carried over from Outrun and probably earlier 8-bit games.

Cisco Heat

Cisco Heat title screenThe Cisco Heat credits show "written by Ian Morrison, with help from Dougie and Jim". Which parts did you all work on?

The last answer I offered for this one is pretty close I think.

Given that Ian (and I think also Martin - although I believe another director left before I joined, who may have done the original sprite code) owned the road and sprite stuff respectively, and all of those games were based on that material - and the fact Ian adapted the road code for Cisco's 90 degree turns while the project was just starting - pretty much covers Ian's lead/primary status on the project - and he was the boss of course :)

However most of the rest was left to me & Alan, with Jim doing a lot of the tools and data prep work. I could be wrong about that given it was so long ago, but Ian had plenty of non-dev things to worry about and tended to do any coding work right at the beginning of a new project then handed it down and moved onto something else. This turned out to be quite common in the games industry and probably quite productive.

ICE was almost certainly about being productive and bringing in reliable revenue through good industry contacts and a track record for finishing projects. It worked very well in the early days but didn't work so well later on I think - too many similar games, none being spectacular for any platform (IMO).

Consider a case where there's a lot of objects on the screen all moving about. Do you recall what sorting technique was used so the game could render everything correctly? And were there any tricks such as re-using the previous sort-list in memory to minimise re-sorting etc?

I'm sure the the tracks were unidirectional so the sorting order for stuff at the side of the road was implied by the map. For things that moved around (cars etc) it was probably an incremental sort involving those objects and roadside objects - so the cost per frame would be mostly flat.

Cisco Heat stage 2Was there ever consideration given to making the games take up the full PAL screensize of 320x256 for the Amiga versions? They all seem to be 320x200 - was that for easy Atari ST conversion or NTSC users?

I think most of the design decisions made were to minimise risk and improve the chances of the contract being completed on time. So Amiga features were a bit constrained by that, as were Atari features (although both were used to some extent, where it didn't get in the way of the production pipeline e.g. where the same data could be used for both machines).

There were PC versions of some of the games too (e.g. Cisco Heat), which added yet another constraint to what we could include or how we could do things in a sensible time.

There's a few classic tell-tale signs of ST-port-itis (such as the high-score table dithering a few colours together to create a gradient rather than just using the Amiga's copper). Was that a case of having no time to do an Amiga specific piece of code?

It would have been possible. The problem as I remember it, was a *very* small team working with existing code against a tight deadline. Coupled with the fact there were no Amiga-specific coders involved just to look after that side of things. The Amiga builds benefited from existant blitter (and I'm sure copper) routines from previous games but that is about it. If we had an Amiga specific coder who had little else to work on, I'm sure we'd have seen more interesting effects and better performance there.

As a primarily ST coder, I didn't really have the opportunity to do much with that either (despite knowing how) due to risk and deadlines. I knew how to use the Amiga hardware too and could have specialised in that if required, but there just weren't enough people to focus on specifics in that way.

I did manage to get digi-drums into the STE Cisco Heat, and I think a blitter sprite routine (if it made it into the final) but that's all, and it was a stretch since it wasn't on the schedule. It was difficult to drill down into platform specialisations of any kind because of the nature of the ports, the time we agreed and the perceived productivity benefit of doing similar games with essentially the same codebase.

Basically if we started fiddling with fancy specialisations beyond the necessary game adaptations we must have finished the project early, and that didn't ever happen :)

Cisco Heat billboardIn Cisco Heat stage 4 there's a rather random picture of a guy on the side awnings. Is that supposed to be the boss Ian Morrison at all?

I doubt it - most of the art was literally redrawn to resemble what's in the game. However there might be easter eggs placed by Alan - he did have a sense of humour. If you can dig him up he might be able to say :)

Were you responsible for any of the cheat modes that made it into the games? And were cheat modes mainly for testing or were they sent to magazines to create interest in the games?

Ian was really the one who decided on 'official cheats' and easter eggs if anything - but I really can't remember what they were. They are in there (typing in strings on the hi-scores or whatever) but I have no clue what they are now.

It is possible they were drip-fed but I think we didn't introduce enough of them to do that, and I think it was more a case of the leads entertaining themselves with references to favourite bands, or bikes, or whatever it was at the time. I don't remember any 'intentional games' with the review media...

Unreleased games

Can you tell me about any other possibly unfinished games either you or the ICE team worked on?

We did work on a polygon based F1 game which was shaping up well but the publisher did a U-turn IIRC. I may still have the code (or a binary) for that demo sitting somewhere.

FutFut'n'BobbyThere was also a 'cute platformer' involving a small brightly coloured car with a character in it, which could do some unusual moves between platforms ('futfut'n'bobby' I think it was named). That was mainly an Amiga title but I made an ST/E port of it in parallel. I may have code for that too if it survives.

I'd love to see that too, I can't find anything remotely similar to that name. The nearest game I can think of to that description would be Car-Vup from Core Design. Did it look anything like that? And was the game ever finished or was it just a demo?

It does look a bit similar yes. At least design, from what I can see there. The visuals were a different style but that does look familiar :)

It'd be great to see either of these 2, even if they're just static screens or a demo.The Amiga Games That Weren't team would also be very interested to add to the collection of unreleased material!

If I find anything I'll shout. Things do surface from time to time but most of it is ST stuff. There may be Amiga material lurking on backup disks from those days. I did lose an awful lot of the 'floppy disk era' source over time as backups deteriorated in cupboards!

It's nice to see old work being recovered and restored.

Which was the most fun of the Amiga games you worked on and why?

I think I enjoyed working on Hydra because I was able to do more on that game than on Chase HQ 2, but I didn't like Hydra generally as a game. Wasn't my kind of thing.

I also enjoyed working on the platformer title on the Amiga since it was much more hardware oriented but that was never finished.

Were there any times you had nothing to work on or were there always a few projects sitting in the pipeline?

There was always much to do. :) Although not all of it 'signed' before starting - some demos, teasers.

Wrapping up...

What kind of backup system was used back in the 90s?

Locally, the source would be archived on another harddisk, but I think it then went onto tape drives. However I'm not completely sure now.

Do you have the source code to any of the games you worked on, and if not, who might have it?

There may be zips lying on CD or floppy somewhere but most of the floppies were stored in less than ideal places and few now work. So chances are it's all gone.

I can't imagine anyone else kept the code unless Ian has it.

Did you read and collect all the magazine reviews of your games? And what did you think of the reviews for each of your games? (Chase HQ 2 reviews, Hydra reviews, Cisco Heat reviews)

I probably did at the time - especially working on published games at that age - but knowing that I was working for a company that produced tendered/licensed, multi-platform conversions compared with, say, the hand-crafted, highly focused, largely single-platform games which came from the likes of Psygnosis, Team 17 or Thalion in those days, I expected a certain amount of flak too. Making any kind of game is very hard work so it's better not to see any ugly reviews while recovering :)

It's also easy to lose perspective on anything while working every day on the same source and testing the same stuff over and over.

I also know that Amiga fans were disappointed that such games rarely used much of the machine's potential - and Atari fans had similar complaints about not using much more specific solutions which work better on that platform (like border removal, colour reloading techniques, digi sound and so on). But in fact the whole environment of license -> publisher -> tender -> contract-winner -> production discouraged any kind of specialization, and made it nearly impossible to do things in the way we'd all like to have done it. The more platforms you had to support, the more all of them suffered.

Converting dedicated hardware to multiple targets using generic/reusable and shared-platform code (in assembler too) each time really has it's limits. There was little or no templating or abstraction happening and productivity tools were very simplistic. So more platforms at once meant much less focus and innovation. Proper abstraction methods, allowing system-specific specializations came quite a bit later and generally associated with higher level languages.

I think it is no coincidence that single-platform games of that era are generally a lot better - certainly much better polished, if not also better implemented.

So all this gets reflected in the ratings, in the end.

Ratings themselves were always a bit suspect too - some I'm sure were honest, and others I think had 'unofficial relationships' with publishers. When you see massive differences in scores for some games, that could be a clue. I don't know if that happened to us, but some of the scores were all over the place. :)

Was the work at ICE a typical 9-5 type day or could you work the times you wanted? Were there lots of crunch periods and all nighters?

I think it was pretty much the same as it has always been in small games houses - flexible time, but with lots of burnout potential because you *had* to get things finished in time and there was never enough time. :)

A lot of the computer magazines equated a copied game as a lost sale when in reality, most people would not have bought the game anyway. As developers rather than publishers you were presumably paid anyway so did the software crackers get much consideration? What did the developers think of cracking groups back then?

I really can't remember. There were efforts to foil it of course, but none having much impact, except to annoy gamers. Much the same as it is now, minus contemporary systems like Steam :)

Just the methods have changed a bit (actually, some not so much!).

Do you have any idea about sales figures for your games?

None whatsoever.

What did you end up doing after the Atari software and what are you doing these days?

I worked in the games industry for many years after ICE building 2D and 3D engines for consoles & PC, as well as data pipeline tools and game effects (shaders etc). And in more recent times programming and application security tools (special code-understanding compilers).

I have worked on lots of stuff for fun as well as work, pouet.net is the place to go for Amiga / Atari (and PC) demo material.

I converted the Amiga demo 'Mental Hangover' to the Atari STE around 1992-ish. Which couldn't have been too awful as Scoopex left a thumbs up on the pouet.net entry for the ST version :) (Admittedly the Amiga version is still better!)

Youtube has a video taken of a Doom engine I built for the Falcon 68030/DSP some years later...

DML's cornerDo you have any websites you work on?

I have a partially functioning (personal) website here, with an active but far from complete Atari section. I don't have anything on Amiga there although I did spend a lot of time working on the machine. Maybe later if/when I dig up old sources for that stuff, and locate some hardware :)

Are you still in touch with any of the other ICE guys?

I'm still in touch with Alan Grier (graphics) and have worked with him a few times since. I occasionally bump into Mark Hughes as well. The others I haven't seen since the 1990s. I did encounter Ian a couple of times since but not recently. I think he is based in Singapore now.

What do you think about your time at ICE?

It was a good experience for a young coder - I wouldn't have missed the chance and it taught me a lot about the games industry. But I didn't really get a chance to be creative until I left and did my own thing.

Thank you very much for your time Doug!

Post your comment

Comments

  • Gravatar for joe

    https://www.youtube.com/watch?v=RTxwfRl_I0U

    - his work on Quake /2/ engine for Atari Falcon.

    joe 24/02/2017 2:46pm (2 months ago)

  • Gravatar for Sodapop

    Fantastic interview, as usual !!!
    Keep up the good work mate...

    Sodapop 14/11/2013 9:31am (3 years ago)

RSS feed for comments on this page | RSS feed for all comments

Doug Little Softography

Chase HQ 2: Special Criminal Investigation
Chase HQ 2: Special Criminal Investigation
Developer: ICE Software
Code: Ian Morrison,
Douglas Little
Graphics: Alan Grier
Sound: Chris Scudds
AmigaOSGame
Hydra
Hydra
Developer: ICE Software
Code: Ian Morrison,
Douglas Little
Graphics: Alan Grier
Sound: Chris Scudds
AmigaOSGame
Cisco Heat
Cisco Heat
Developer: ICE Software
Code: Ian Morrison,
Douglas Little,
Jim Downie
Graphics: Alan Grier
Sound: Chris Scudds
Map Data: Jim Downie
AmigaOSGame