Chimera Diary

Part One

The Amstrad CPC conversion of Chimera was featured in issues 51 (Jan ’86) and 52 (Feb ’86) of Computer & Video Games magazine as a two-part ‘Diary’ featurette. What follows is a transcript of the two one-page articles:

This is a story of torture, sleepless nights, self-denial and devotion to duty. In other words, the every day life of a computer programmer.

In this instance the programmer is Shahid Ahmad, creator of Chimera for Firebird. He claimed he could convert the game – about an investigation of a giant alien space craft orbiting earth – to the Amstrad in just one week.

Next month find out if Shahid succeeded in keeping to his deadline.


This entire masochistic campaign started when I boldly claimed that I could get a conversion up and running on the Amstrad within a week.

At that point, I did not even have an Amstrad, and the only thing I knew about it was that it had a sound chip and video chip similar to that of the BBC. Well that did not help, since I do not know anything about the BBC either.

The next day, Firebird told me what had been setup for me, and that I should start when ready! I thought that it might be an idea to buy an Amstrad first and learn something about it. That I duly did, and here I am now, writing a prelude to a week that should stretch me to the limit. Can I do it? There is always a first time for everything.


And so started the first day of my week of self-inflicted torture at 10:00am, when most human beings are already hard at work.

I knew what had to be done first, and that was the graphics.

I had taken the liberty of writing a simple graphics editor from basic, because without it, my task would have been rendered impossible.

Later on, amid a few short and frantic bass guitar sesisons, I coded some of the more mundane routines like collision detection and drawing the 3D screen.

I received my shiny new Hisoft CP/M & Macro Assembler this morning after finding bugs in the original version. I tested it on some large files and then everything went smoothly. I hope it continues to perform flawlessly. I worked a fourteen hour day and had three hours off.

The Amstrad has been on all this time and not a single crash or disk error, and no over-heating! I am pleased so far with my performance, and thanks to Phil Collins and U2 for getting me through the first day with my sanity (and my disks!) still intact.


What is it that makes someone get up at 10:23 in the morning with a craving not for breakfast but for a Joe Hubbard album? I won’t keep you guessing, it is programming games! Even when you are doing a conversion, a bit of inspiration always helps, and mine is fuelled by listening to good bass playing, and occaisionally playing bass myself, despite the fact that I’m awful!

Well I had a bit left over from yesterday, and I typed in the last remains of it and test assembled it.

The assembler did its job well, and my files were OK. It’s strange working with a reliable system, especially after all the microdrive and 1541 problems I’m used to!

Only two days have passed and I’ve written the bulk of the code and finished off the graphics bar a single toaster image, but I’m getting worried. Will I finish on time? Will my brain fail? Will the Amstrad give up the ghost? Will Joe Hubbard teach me how to play the Bass?


As you may have guessed, today hasn’t been a bed of roses for me, quite the contrary, in fact! What annoys me is that I have wasted a whole day in search of a bug that didn’t exist, and yes, you have guessed, it turned out to be a ‘feature’ of my assembler package.

I’ve got used to it now though, and at the end of the day, the assembler I’m using with the Amstrad now is probably the best I’ve ever used, and the only thing that bothers me about it is the slow editor.

Well, enough of my complaints, what have I accomplished you ask? I managed to get most of the major routines working and finished today, and the graphics I’m pleased to say, look truly superb. I’m now using a full height 18-row screen as opposed to a 14 row screen on my other versions, and I must say that the display is quite appealing. I should have done the adventurer handler and the heater and missile subroutines, but I spent most of my time debugging and trying to get my blasted Epson FX80 printer to work with my Amstrad.


Today is the day that I attempted to get D.P.A. working on the Amstrad. OK, I understand, you want to know what ‘D.P.A.’ is about!

D.P.A. is a near hysterical beast whose job it is to dynamically allocate priority for all moving and animated objects on a 3D isometric screen, thus ‘Dynamic Priority Allocator’.

Most conventional methods re-draw the entire screen for every update of a moving object. D.P.A. concentrates on monitoring only those areas of the screen where a change has occurred.

Well enough theory, all I know is that it isn’t working and that deadline that I imposed upon myself is beginning to look very crazy indeed. I have looked just about everywhere in my code, and I can’t see the flaw, though I’ve pikced out a few typing errors and fixed those. Everything else looks all right, but I have until next Tuesday in which to debug D.P.A., and write the main game flow routines and the adventure handling stuff. Things don’t look too promising.

The Amstrad has performed flawlessly throughout these four days, and aside from that, the assembler is quite fast, and Joe Hubbard’s incredible bass playing keeps me awake in the early hours.

What do you think?