Tuesday 7 July 2015

Old Audio Part 4: Psygnosis before the Playstation

Part 3, "Amiga, career-maker" can be found here.

Storage at a premium

Before I joined Psygnosis as an employee, I did the music for Bill's Tomato Game on the Amiga. As usual, memory was highly restricted so I looked into using a music program I'd bought called Mugician. It had a very efficient synthesis technique and could produce very impressive sounding stuff in very little RAM, but Bill (the programmer) had trouble getting the binary playroutine to work (no source code was provided) so I went back to using Protracker. Although it was straight-forward because of Protracker, it was a lot of work. There were 10 areas with 2 tunes-per-area and a title tune, high score tune etc. The total was 27 pieces of music, 10 stingers and some sound effects. The music all had to be done in 3 channels so as to leave one channel free for sound effects and I had 40KB for samples.

One thing that is probably not realised these days is that it was not just RAM that was the problem. Disks on the Amiga were 880KB and if I'd used 40KB for every tune, that would have taken more space than one whole disk. To keep the disk space down, I really cut down everything as much as I possibly could. I managed to get the samples for the prehistoric levels down to only 5966 bytes. The sample banks were refreshed on each level load because I used a technique in Protracker to get pulse-width-modulation that left the modulating sample corrupted.

Soon after I'd finished everything, I got a full-time job at Psygnosis as a game evaluator; a glorified tester really. Bill's Tomato Game wasn't released for another few months, so I ended up doing loads of testing on it. For the final few release candidates, I was the only person who could play through the entire game in one go. I must have done 10 complete run-throughs from start to finish as the last bugs were fixed.

Is this what real jobs are like?

But this is how amazing and ridiculous my first days at Psygnosis were:
  • Day 1: Got my own desk, brand new Amiga and monitor, phone, unreleased games to play.
  • Day 2: The whole company (approximately 50 people) went go-karting. I got into the final of the tournament.
Lemmings Title Image
I started there in September 1992 and the next year was very productive for Psygnosis. As a result, although there was a large amount of game testing, I ended up doing all sorts of stuff: I designed levels for Hired Guns, got involved in design sessions for other games, drew the title screens for Lemmings on the Atari Lynx, evaluated new game submissions and, of course, did a whole bunch of audio.

Operation G2 in-game imageOne of the earlier audio jobs that came along was Operation G2. It was an adventure game and sort-of sequel to the game Obitus. It was never actually released, although a single-level demo did appear a long time after I'd finished working on it. There were a bunch of sound effects and some music to do. I first did a title tune that was tense and rhythmical but they wanted something more ambient, so I did a bunch of variations on a sci-fi-sounding tune that I'd recently started on my brand new Korg O1/Wfd (took me two years to pay off). There were no problems really, except for when they asked for the sound effects. I created them and sent them over only for them to ask "How do we play them?". Being far too proud to say "I don't know", I said that I'd sort out a player for them.

The impetus is strong in this one

My first real bit of programming.
I dug out a little 68000 assembler book that I'd got from somewhere and for the next two weeks, I sat on the train every morning with a pad working out the logic and writing assembler code. Although I'd had a go at messing with little example bits of assembler code written by Brian Postma, Amiga and assembler programming still never really sat right with me. That was until around the third day, when I was on the train and the metaphorical lightbulb switched on in my head. I literally exclaimed, "Oh!" and then it all suddenly made sense to me. I've read many reports of other people having the same sort of programming epiphany.

The player worked in the manner in which I thought was surely how everybody did it, but in my naivety I made something that was far more advanced. For my player I set priorities on each sound and roughly calculated the play position during playback.
A gobbledygook box
Whenever a new sound was played it would check the current channels to see if any were free and if not only play if the priority of the new sound was higher than all of the currently playing ones. It was only later that I realised that nobody did anything like that. Everything else either used a round-robin mechanism or just played on one channel, stopping the existing sound when the next one came in.

During this period, Martyn Chudley (founder of Bizarre Creations) was sitting in the corner programming Wiz'n'Liz on the Sega Megadrive (aka Genesis). That got me thinking, why don't I write a music player for the Megadrive? It uses the same 68000 processor as the Amiga so it should be pretty easy, no?

And so, flushed with confidence at my new-found programming ability I asked one of the producers to get me the Megadrive hardware reference manual so I could have a bash at it. When it arrived, I eagerly turned the pages and was presented with such gems as:
To write to Part I, write the 8 bit address to 4000 and the data to 4001. To write to Part II, write the 8-bit address to 4002 and the data to 4003.
CAUTION: Before writing, read from any address to determine if the YM-2612 I/O is still busy from the last write. Delay until bit 7 returns to 0.
CAUTION: in the case of registers that are “ganged together” to form a longer number, for example the 10-bit Timer A value or the 14-bit frequencies, write the high register first.
I had absolutely no idea whatsoever what I was looking at. All I really managed to understand was that there were 22 registers and to use them you had to decipher a load of gobbledygook. I sat there going through it for about 2 hours, prior confidence abandoning ship, and got absolutely nowhere. Defeated, I gave back the manual, explaining that it was too complex for me.

Next up: FMV, The FM Towns, Mega-CD and Super Nintendo.

Wednesday 1 July 2015

Old Audio Part 3: Amiga, career-maker

Part 2 of this series can be found here.

How to get into the game industry?

tl;dr Make stuff. Meet people.

Well that's a pretty open-ended question This is how I got into the game industry, your mileage may vary, but this should hopefully contain some useful inspiration.

I was heavily into my Commodore 64. Playing games on it was what I mostly used to do when I wasn't at school. I tried programming a few things on it in BASIC, but it just didn't really click for me. I remember the manual having some sound programming examples. It was all going well until it I wanted to modify one of the programs to play a chord instead of a single note. I expected a way to setup the three channels and then do a single command to play all three at once, but the only way to do it seemed to be to play one channel, then the next, then the next. My undeveloped brain couldn't comprehend that even though the program would play them sequentially, the computer ran so fast (less than 1Mhz!) that all three notes would effectively began at exactly the same time.

A life-changing invention
When the Amiga 500 became available, it was the clear upgrade path from the C64. I sold all of my C64 gear (games, magazines, printer, disk drive and all that) and gave the money to my parents so that they could add to it to get me an Amiga for Christmas. When it arrived, I spent all of my free time on it, again mostly playing games, and latched onto anyone I knew who also had one (which wasn't many people at that time and this was many years before the internet was available to the public). I heard about a computer club nearby and started going there every week. It was the geekiest thing you could possibly imagine. It was held at St. Laurence's Parish Centre in Birkenhead and although it tried to be a general computer club, it was mostly a copy-as-many-games-as-you-can club. X-Copy could be seen running on most of Amiga screens every week. The organizers tried to stop the copying a few times, but never could.

Why copy it? Because it's there

A box I've never seen in real life
One week, I copied whatever new stuff I could as usual and the next day went through the disks to see what they were like. I booted one of them up and didn't have a clue what I was looking at. It was The Ultimate Soundtracker by Karsten Obarski. After much clicking on stuff and messing with it, I somehow managed to load a demo song and realised that it was a music program. "Oh. Interesting", thought I. It was quite an achievement to do that because it had no file dialog; you had to know the filename of the song you wanted to load into it and being a dodgy copy, there were no instructions. The original soundtracker never had mod files (a mod file is a soundtracker file with the music data and samples all in a single file). Everything was split into songs and instruments so that after the song data had loaded it asked you to put in whichever disk each of its samples referenced. The program came with one disk of instruments, labelled ST-01. This set of samples, sampled from various keyboards of the era, became very well known in Amiga circles.

The way it operated made sense to me immediately. I messed around with it a bit and from then on, I was sold. I would come home from school, go straight upstairs, put on my Amiga and load Soundtracker, and write music. Every day. They started out pretty badly of course. I don't have to try and remember how badly because I somehow still have almost all of them apart from the first 4 and few of which I only have corrupted files. Initially, everything was restricted to using the sounds that came with the default sample disk, ST-01, but I later learned how to rip the samples from games and other modules. You have to understand that there was very limited availability for samples. There was no internet, no-one else I knew writing music or who could afford a sampler and synths, and so no other way of getting new samples, When the tunes started to become reasonable in quality (which was probably after I'd written around 30 of them), I would put some of them on a disk and give copies to people at the computer club.

One of the older guys there who took a copy, whose name escapes me, was friends with Dave Kelly who ran Consult Software, whose office was actually very close to the club's location. He gave the disk to him and a week or so later (I can't remember how he got my phone number), Dave phoned me up asking me to do the music for Last Ninja 2. I hadn't even known that Consult Software existed at that point.

The two major things to take away from this is that if you want to be successful in any creative industry you have to a) produce stuff. A lot of it. And b) Meet people. There is a huge amount of luck in this of course. In my case, the timing was just right as they were looking for someone right to do audio just as I appeared on the radar, but if I hadn't have made all of those tunes and met those people, the timing would have been irrelevant.

It was thanks to that same computer club that I got to do the music for Bill's Tomato Game and got a job at Psygnosis. One of the friends I made there, Chris Stanley, got a job as a tester at Psygnosis and he was responsible for introducing me to the company. Firstly by getting me to be an external tester, in which I would play beta versions of games and submit bug reports, and then later by offering my music services to the programmer when Bill's Tomato Game got signed. I'll be forever grateful to him for that. Later, I asked for a job there by writing to the producer of Bill's Tomato Game. I was there for 6 marvellous months as a Game Evaluator before I was switched to doing full-time audio, which was my plan all along of course. It wasn't the plan to be paid so badly, but nevertheless, I was a full-time member of the company that made Shadow Of The Beast and making music and sound effects all day.

Next: Psygnosis before the Playstation