Back to the Main Page
the link is off site
Sign / View
Any comments, suggestions or questions, please email me at email@example.com
Diary of a Game - Citadel - Part 4
Issue 42 - October 1988
|The message needed much magic to travel such a great distance, and so the master of the wooden
post was consulted. He thought long upon the problem (for it was well known that the post took great deliberation,
and that people might wait until they had almost forgotten why they came) and then he produced a magic square.
The man took it from the master with trembling hands, and as instructed, the magic square was attached to the message,
and was placed within a box upon the green. Then he waited. Long he waited, until the shadows lengthened into evening,and
then a strange craft came and removed it. The craft returned into the darkness as quickly as it had come, and at
last the man heard it no more. Silence overcame the land, and he returned to his home. But a strange thing came
to pass - the message soon appeared magically in another distant place, and great rejoicing was heard. 'GORDON,
THE LATEST DIARY INSTALMENT HAS ARRIVED!'
|Thursday 7th July
||The first music commission thrashed through the speakers all today.I have set myseIf a realistic turnaround of
about two weeks-in fact it's turning out to be far easier to pace a project of this duration than a game which
can be very difficult to gauge.
Another piece of good news today. The Second music commission was confirmed by telephone - none other than Armalyte
for Thalamus! It's great to be back, guys, and it must give far greater continuity to a project when sound effects
and music are produced by the same person.
|Friday 8th July
||More thrashing (of the musical variely took place today. In fact,I suspect that this monthwill be all thrashing,
as there are now two musical commissons to be completed by the beginning of August. After all, I'm setting out
to provide a speedy service so this instalment should provide a day-to-day insight into the life of a computer
musician (all this variety at no extra cost to the reader!)
|Sunday 10th July
||I know that l said in last month's diary that I'd finished with this sound bug, but it's really 'bugging' me! Today,
instead of having a complete day off I wrote an incredibly simple 10 line program to hang on the interrupt which
just keeps triggering the same note rapidly. Sure enough, every few seconds after perfect 'pinging' the envelope
failed to trigger properly leaving a click instead! I can't make the routine any simpler so at the very least I've
certainly proved once and for all that it's nothing to do with my music player. In addition, by using location
$D41C, the envelope output of channel three can be monitored and once again this confirmed my findings. Armed with
all this knowledge I can now make sure that the bug is avoided at all costs!
|Monday 11th July
||First job of the day is to produce a dummy compacted routine of one of the demo pieces to allow people to have
a 'dry run' of installing the music in to the game. All this means is that having been given the position in memory
where the player and tune data is to sit, all the gaps at the end of short sequences of notes must be stripped
out, and the remaining code squashed together leaving the smallest possible 'chunk'.
After three hours the first compacted set of code was complete, and also the decision to write an automated compactor.
Moving 26 seperate chunks of memory into different positions by hand is fraught with the possibility of errors,
and I don't fancy doing it again. It feels rather like doing a Rubik's Cube blindfold!
|Tuesday 12th July
||A mammoth session today saw the loading music cassette virtually completed - all four minutes of it. It starts
off in a mysterious way with menacing strings, then slowly evolves into full blown rip-roaring blockbuster (at
least I think it does!) It's certainly the best piece I've written so far, but then every new piece seems to be
turning out that way at the moment. Let's hope the trend continues.
|Wednesday 13th July
||Today after completing the loading music I must return to the title tune which is only about half finished. This
was the intention at any rate. In fact, whilt finishing off the loading sequence it was discovered (and not for
the first time! that since various groups of sequences were being repeated in each 'verse' it would be very useful
(and time/memory saving in the long run) to be able to define the start and finish of a group and be abe to repeat
it a specific number of times. This involved writing a modified and extended routine for the music player when
it reads track arrangements. At the same time various little improvements were made to the editor, based on the
expenence of using it every day for the last week-hands on experience is certainly the best way to find things.
|Friday 15th July
||The first job of the day was to re-allocate instrument sounds to different places in the voicing block. When the
final code is produced for the game music, all the unused instrument sounds can be deleted to save memory, but
only if the wanted ones are in one neat block at the beginning. Moving the voices themselves was only a small task,
but the 'biggy' was then amending every byte that referred to the old values, which had to be done by hand. Again,
another boring task that took two hours altogether but made a saving of 272 bytes to the end product. It will teach
me to be more disciplined in future and define all instruments from number zero at the beginning of the block onwards
rather than vhere I fell like it. Another completely new section materialised for the title piece later on in the
|Saturday 16th July
||I've changed my mind about Bionic Commando, and award it the moan of the month! Periodically I load it up and can
now guarantee that the first 7 or 8 games will be aborted during the first level simply because I lose a life when
something unexpectedly drops on my head, giving no warning or time to get clear. I'm not the world's greatest game
player but I do expect to progress a little bit each time I play and not be ruled largely by luck! I'll just have
to wait for an infinite lives poke now I suppose, to get much further than level three.
|Monday 18th July
||After a momentous start, I completed the 'mission over' music arrangement today (started over the weekend) and
now all three pieces for the first commission are finished waiting only for the relevant memory addresses to be
supplied so that they can be inserted into the game.
The final couple of hours today were spent trying out sounds and ideas for the title music of Armalyte. In the
end it went so well that the first 17 seconds of music were 'in the can' (or on the floppy as the case may be).
This may not sound very much but the first few seconds establish the mood and feel of a piece, and once that is
established the rest follows much easier.
|Tuesday 19th July
||As all three pieces are complete for 'game one' I modified my demo routine to run these with details of each track
added to the screen display. Now this module is completed I can use it to demonstrate the music for each new commission.
As it happened I had a call later on today from 'SS' to see how my first project was faring. Although I haven't
yet got the run time addresses they were so eager to hear the music that I sent off the demo - it should arrive
on Thursday (fingers crossed).
|Wednesday 20th July
||Most of the day was spent on the Armaltye title track, but I did take a couple of hours off in the morning to add
two more features to the music editor (again after a need arose). Firstly so much time has been spent tapping my
fingers to keep time when adding new sections to a track that a metronome seemed like a good idea. The new design
emits a single pulse of light periodically (synchronised to the music being played) and can be set to any tempo.
It has already proved invaluable. The other improvement is to display the current sequences being played by each
channel when the music is running - occasionally after three minutes of music the channels might get out of 'sync'
due to a missing note somewhere, and it's very useful to be able to study the point each has reached to find the
|Friday 22nd July
||This morning I heard from 'SS' that the demo had arrived safely and they they are well impressed with it. When
it arrived they turned off all the other noise-making machines, turned up the volumne of their 64 and started the
music. Within seconds (so I was told) every office in the vicinity was disgorging people
who came to crowd round and listen. Apparently it ruined productivity for a while! Great stuff (the reaction not
the productivity). Modesty prevents me quoting some of the other kind comments that were made but satisfied customers
are the best advertisement for any business!!
|Thursday 21st July
||Part of the player was rewritten today to help with fast changes of voicing. Every time I use the system something
suggests itself as an improvement! The only complication that arose was that gating notes on and off had been modified
slightly, meaning that the 'SS' music could only benefit by my going through each sequence (all 63 of them) and
modifying certain bytes by hand. The result was certainly worth it, and a few extra tweaks to the voices resulted
in a cleaner mix.
|Saturday 23rd July
||I was supposed to have a day off today to rest my ears (poor soul!) but decided instead to update the screen display
for the editor. So many modifications and additions have been made recently that it was beginning to look a bit
of a hotchpotch. Out came the screen editor and a complete redesign ensued. It only took a couple of hours altogether
including the changes to the editor but the result was well worth it. Finally, since I seem to spend so much time
with a stopwatch timing different sections, a real time clock was added, which only took about three quarters of
an hour to knock up. The whole package is now a real pleasure
to work with, which is a good thing considering how many hours I spend with it!
|Sunday 24th July
||The title music progressed further today and at one point there are now five different instruments on the go including
a new design of swelling string chords that themselves contain eight notes! The only difficulty is that now the
music sounds so full that it is beginning to slow down the composing, since each addition needs to be made very
carefully to avoid disturbing everything else. With a maximum limit of three notes at any instant it gets more
like a jigsaw puzzle every moment trying to add yet another needed instrument without everything falling apart!
|Wednesday 27th July
||Two more connected features were added to the editor today - insert and delete. As the music gets more and more
ambitious, so the sequences and track arrangements get longer and longer. Now it is possible to amend things in
the middle without having to rewrite everything following the guilty bytes. Each of these additions should save
a great deal of time eventually!
|Tuesday 26th July
||Well, the Armalyte title music was finally completed today, and l'm sure my most regular customers (Cyberdine Systems)
will be pleased with it. lt's my most expansive piece to date, and at times sounds really vast! These multinote
chords seem to be turning into a speciality - sometimes there are 16 notes multiplexing at once. If you want to
hear it, wait for the release of the game by Thalamus. As with all Thalamus releases, the disk version still includes
the cassette loading screen and music on a separate file, so everyone gets everything!
Actually, this reminds me of another recent phenomenon - the enhanced disk version. Several times during the last
few months I've bought disk versions of games, either to speed up multiload epics (Bionic Commando) or to take
advantage of extra features like the high score save on Morpheus. It would be nice to have the loading screen and
music to complete the 'package', but do also bear in mind that some of the POKES published for cassette versions
will not work on disk.
|Friday 29th July
||The loading music is now well under way. I decided to use the rhythm of the bolero - it sounds suitably military,
and builds from a slow start getting bigger and bigger and bigger. The only problem might come if I build the music
too quickly and find everything going at full blast before the end of the piece! Working with the SID chip is not
like using an orchestra - but then again the classical composers had even more possibilities like the firing of
cannons at the climax in the 1812 overture. Perhaps if I could persuade Thalamus to provide a capgun with each
Armalyte cassette and instrutlions as to when to fire it for the best artistic effect?
|Monday 1st August
||Yesterday and today were spent on the final piece of coding for the editor - the compactor! After my dummy run
mentioncd earlier, I knew that automation was needed to squeeze together all of the sequences used for each piece,
especially since these first two commissions each used 60-70 of them!
The compactor has to search through the selected music track to find which sequences it uses. If the particular
sequence has been previously found and compacted then it is ignored, otherwise its data is located in memory. Then
the compactor shunts this new sequence information onto the end of the other compacted data until it recognises
the end ofthe sequence by the appropriate byte values. Finally it stores the new end location of the compacted
data and then continues through the track (I hope you all followed that - I may be asking questions later!) It
took a lot of work to perfect a bug - free version, but it now takes a fraction of a second to do what took three
hours by hand. Not a bad saving as long as I do it regularly!
Issue 43 - November 1988
|With a slow sweeping cut, he parted the mist, and then leapt upward, borne by invisible wings which
protected his earthly form. Askaroth hurled bolts of lightning towards him, but they passed harmlessly to each
side. As the blade rent the skies, the flames enveloped the upsurper, and the mists closed once more about him.
They spun faster and faster, tearing the figure ever higher. And then a great scream was heard; a long wailing
cry that drew no pity. The usurper spun helplessly, his blade breaking into thousands of tiny fragments which were
hurled into the void. The body flapped limply as it began to fade and then return to its own dimension. The figure
of Askaroth faded with it, and with a final roar of defiance, Askaroth returned to his own domain, leaving the
dust king and his subjects once more in their great hail, where they hurried to relight the smoking brands and
bring light once more into the kingdom. The king stood before his throne, and smiled. 'This month's diary is a
|Saturday 6th August
||Well, the music to be played during the Armaiyie disk level loading sequence is complete - a floating and
open ended sequence that should give a few well-earned peaceful moments during the lull between levels, allowing
the player to relax the trigger finger and prepare for further onslaughts to come.
The only piece left to finish now is the 'game over' tune. This needs to have immediate impact, as most people
will only be hearing it during the time it takes to enter their initials in the highscore table. It also needs
to be suitably stirring to give a sense of achievement.
|Sunday 7th August
||During the afternoon the game over' music was finally completed, and it only remains to add my fadeout routine
(written for the demo disk) to thc actual music player, for use by the customer'. It quite often sounds better
to fade the music before starting the game to give a smoother transition (more about that when the coding is started
|Monday 8th August
||The fade routine from the demo was streamlined for addition to the player today, and at the same time I decided
to add the facility to trigger a fade at any speed from within a track. The most important thing for customers
is to have an easy time with installation. During the mastering of Hunter's Moon we found it very tricky
to time the loading music so that it faded out at the end. Afterall, you need to find the best time to start the
fade, set a timer to do it, and then keep tweaking the load speed until the track just fades to silence as the
music finishes. The Armalyte loading mnsic triggers its own fade automatically and then switches the music
player off as soon as the track dies away. I can even do a slow fade over 30 seconds if needed!
|Tuesday 9th August
||Another sound effects commission saw me in Southhampton today, together with demo discs and notepad. It really
does save a lot of time in the long run to discuss exactly what is needed before you start work - with sound effects,
particularly. It's strange that programmers can sometimes have little idea what they really need until you produce
some sound effects - but it's amazing that they can soon find 32 modifications that must be made. This is why I
like to discuss it fully first (and of course it's nothing to do with getting treated to a free lunch - thanks
|Wednesday 10th August
||After a call from Robin in Exeter with information on some design changes to Armalyte, today saw me extending
the 'game over music', and also making a few tweaks to the sound effects (Whoops! - don't read yesterday's entry
guys). I've arranged to travel down to Exeter next Tuesday to see some surprise additions to gameplay, and let
them see how a newcomer copes with the new features. This is a vital area of game testing - how many games have
you seen that are just too hard or to easy? This one has been played over months and it shows. The big problem
can be that programmers become too good at their own games, and so the feedback from an outsider can be invaluable
- they all certainly gave me plenty of that with Hunter's!
|Thursday 11th August
||This morning the latest Armalyte disk arrived, with various improvements and the dummy music installed.
The final compilation of in- game music at the requested memory location took about an hour and a half, although
I still made two mistakes which took a little tracing before the title tune burst forth at the start of the game.
As the tracks themselves are only a small percentage of the total music file, I even managed to squeeze the cassette
loading music into the game file, and this is going to be re used as an extra 3 minute piece during the in- game
demo mode (a total of 10 minutes of music - what amazing value for money!).
During the afternoon, after several phone calls and a few hacks to install a couple of new sound effects, it became
a race to get the final music and sound effect files on disk in time to catch the post back to Exeter. I made the
final collection with five minutes to spare. Thinking about the expert audience watching my every move in Exeter
next week, I thcn replaced the microswitch on my joystick fire button. It was beginning to feel a bit 'soft', and
I'll need every possible advantage I can get!
|Friday 12th August
||The new sound effects commission was started and also a decision to update the sound effects module and editor
to bring them up to the standard of the music editor. The sound effects produced are fine, but the editor seems
so slow and lacking in refinements after working for a month with the supertweaked music editor. The coding was
completed for the module itself during the afternoon, but as I'm away to the wilds of Lincoinshire again this weekend,
the editor will have to wait until next week.
|Tuesday 16th August
||The big day. After limbering up my joystick trigger finger during the 120 mile journey down to Exeter, my big moment
arrived at 11 am. The latest version of Armalyte was ceremoniously loaded up, and with a breathless hush
descending over the assembled throng, I plunged into test-pilot mode and entered the experience. And what an experience!
i just couldn't stop playing all day - the new features are stunning.
Possibly my most favourite feature is that you can play in such a variety of ways, choosing different combinations
of weapons each time you play, and even swapping super- weapons in real time to deal with particularly tricky elements
as you play. Every time Cyberdyne see someone play, they see a different approach. I know I've produced the music
and sound effects (which Cyberdyne Systems were well pleased with, I'm happy to report!) but this game is my favourite
on any machine since Delta, and that's a BIG compliment. With any luck the review should be in this issue,
so you won't have to take my word for it alone - BUT MISS IT AT YOUR PERIL! I've spent more time playing this than
any other game this year!
|Wednesday 17th August
||Various readers from different parts of the country have been writing to me care of ZZAP! and Thalamus, and your
letters make very interesting reading. Many thanks for taking the trouble, guys I'm afraid that I can't reply to
them all personally ( I already work a 70 hour week and write the diary!) but would like to especially thank Chris
Hester for his epics (the postman needs a barrow to wheel them up the path).
Andrew Roberts sent in many ideas for Citadel (some of your thought processes must run parallel to mine,
or else you 've seen my gameplan!) Rest assured that many of your ideas were already included, and the hidden doors
will play an important part in the game. Your idea of collecting 'command credits' (although Morpheus
used a similar scheme) is novel in that 20 will earn you an extra ship and 30 allow you to skip the present
level. Hmmm. Possibilities!
A Farrell (hi, A!) has paid me a handsome compliment in wanting to purchase my Music/ SFX editors. As you've probably
realised from recent diary instalments, the music and SFX editors are being used solely by me for commissions,
so I'm afraid that they won't be available commercially. The demos that were sent out are sample musical pieces
only, with no editor on board (for obvious reasons.Hack! Hack!).
Your query on how to achieve parallax star scrolling is really outside the scope of this diary to answer in 'depth'
(unless ZZAPI want to avoid these awful puns and give me a separate technical bit!) but briefly, it's all done
with characters. By defining a single star in successive positions across one character, and then filling a whole
screen with it, you could have 1000 moving stars at once with very little effort. Different layers are achieved
by using several characters, each having a single star which is plotted across the character 'square' at a different
rate. Finally. Keith McLeman compliments me on my Hunter's Moon sound effects, and voices a topic which
is mentioned by many people - the difficulty in achieving good sound effects in games.
There really is no substitute for fiddling! I probably learnt most about producing particular sounds by using one
of the early keyboard synthesisers in a band - no presets, no memories, and only one note at a time. If you got
a good sound you had to remember how to make it again! The latest keyboard sounds can be so complex that many musicians
don't even attempt to program them themselves, but use commercially available disks to load new banks of voices.And
if it's any consolation, looking at the game inlays will show you that many top programmers have their SFX produced
by specialists - I'm very luck to be able to do everything myself! Just to prove the point, today I rewrote the
SFX editor and added some new features to help with the latest commission - - no commercial package could ever
be that flexible. Experiment with a music utility just making different sounds, and when you get to grips with
how to get a particular effect, think of ways to improve it when you write your own AFX program!
|Thursday 18th August
||After producing some more sound effects (the art is knowing when a sound 'fits' and then leaving it alone!), it
was back to Citadel. Since the essence of the game is triggering the traps to find equipment, keys, doors
and nasty surprises(!) the graphics editor was booted up to try some designs for trapdoor opening. This sequence
is im portant, since it provides most of the feeling of exploration. The timing will be crucial - if the doors
open too quickly there's no nail-biting fight with your pursuers before being able to grab a vital piece of equipment:
too slowly and you can escape too easily if there's something nasty being uncovered underneath!!
|Sunday 21st August
||A very interesting weekend, with a suprise guest - none other than Mr Riggers himself! As you might expect, most
of the time was spent playing games, and once again out came the old Atari 800! For sheer playability, some of
the old games take a lot of beating, and for the record the 'faves' were A.E. (Broderbund), Outlaw/Howitzer
(APX) and Bristles (First Star). On the state of the art front, my trusty ST had a treat in the
form of a first glimpse of Starglider 2. What an experience! Although I did little more than the tourist
bit, wandering around having a peck at everything, there seems more than enough to keep most games players happy
for weeks, if not months - it certainly makes up for the lack of depth in the original, and look how many people
still enjoyed that (including me!). Finally, following a perusal of the complex Trip-a- tron (the new Minter
mega package) we ended up listening to the music from Armalyte whilst having a session with Colourspace
on the ST.
|Wednesday 24th August
||Another few days spent in the comparative comfort of the sprite editor. It's very easy to get lost in this one,
as you can not only design the little beasties but also join them together, overlay them for fancy work, and even
prepare animated sequences to try out ideas! After settling in for a long session, a definitive trap opening sequence
Using the multiplexor will allow me to add background details and colour to the landscapes, as well as produce
the normal baddies, using spriles. In fact, since the main problem with any multiplexor is making sure that it
is never possible for more that, eight sprites to attempi to occupy the same horizontal 'strip', this will
help a great deal by fixing sprites in position on the landscape. If all the sprites may be moving. the alternatives
are a lot of effort to ensure that the wrong combination can never occur (Armalyte) or nasty flickers and
lurchers (Zynaps, for one).
|Thursday 25tb August
||The return of the cit ies! At long last a major advance for the Citadel code, namely the addition
of the main collision routines to detect walls and other land-based obstacles. The coding procceded smoothy, and
by the end of the day I could move smoothly through the corridors with a real sense of solid matter beneath my
feet (?), The only minor bug that still needs sorting out lets MONITOR get impaled on a pipe occasionally, but
that shouldn't take too long to trace tomorrow.
|Saturday 27th August
||I have just experienced the weirdest set of coincidences! Yesterday I managed to trace the pipe impaling bug, and
then spent some time 'gametesting' with Paul Beecher, my special visitor for the afternoon. In the evening, Belinda
and I noticed a pool of water forming on the kitchen floor - a pipe had started leaking!! After attempting to stop
the escaping water, we spent the night with the water turned off at the mains and listening to gurgling all over
the house. Then the next morning. to cap it all, before the plumber arrived a circular dropped on the mat promising
to 'Add a special magic of magic to your kitchen'! Perhaps it means a swimming pool. Groan (and yawn). I shall
have to be very cautious when I add the explosion routines to Citadel!
|Tuesday 30th August
||After a session which saw my latest sound effects commission nearly complete, Citadel returned to the monitor
for various small improvements, in preparation for the next big addition over the rest of the week. In fact after
perfecting the wait detection, I spent the evening starting my very own sound effects file with a menacing clang.
|Friday 2nd September
||Over the last few days the traps have started to evolve. Since that elusive feeling of 'being there' is needed,
I have decided to remember the state of all traps on a particular level so that they are still the same when the
player returns to the spot. This will allow strategies to develop, since some situations will call for indestructible
baddies to be lured into ambushes, once the player has discovered suitable city defences to commandeer (and has
not fallen into the traps in person!). To help with the feel, the initial sound effects have been installed, and
can now be tweaked 'in action'. .
|Monday 5th September
||The final day of this instalment, and the start of various new routines. The player's bullets landscape sprite
position updating and other vital areas all involve the multiplexor to some extent, so some study in area is needed.
A lot of things are beginning to come together, so I expect to have a playable demonstration completed by the end
of the next instalment. Until then, keep your eyes twitching and your joystick fingers sharp (or perhaps that should
be the other way round!).