Software Projects : 1984

SOFTWARE PROJECTS

The first games I developed were for a British computer system produced by the ubiquitous (if you're British, anyway) Amstrad plc: the Amstrad CPC-464. The games were "Manic Miner" and "Jet Set Willy", both "ports" from the original Sinclair Spectrum versions.

I had spent the second part of 1983 without gainful employment after discontinuing my Electronics & Electrical Engineering studies at Manchester University after the second year. I was putting the Z80 programming I'd learned at college to use in an attempt to create machine language games on the Spectrum. I had obtained the Spectrum initially to pursue my interests in electronic music (it was easy to cobble various hardware bits onto the Spectrum expansion port). Still, the availability of games for the system was too tempting, and inevitably, I ended up spending more time playing games, disassembling games, etc. I burned many, many midnight hours poking away at the "dead flesh" keyboard on the Spectrum, loading the OCP assembler and source code from cassette tape, watching it all die horribly in a spectacular sequence of rainbow attributes, black screen, white screen, 

Copyright 1982 Sinclair Research, Ltd

rinse, repeat. Actually, the rainbow attributes bit was mostly imaginary since I was using a black and white TV, with only occasional incursions into the living room (armed with Spectrum, power supply, cables, cassette deck, etc.) to see how things were looking on the family color TV (much to the chagrin of other family members who were quite rightly expecting to watch TV, rather than my experiments in abstract attribute powered modern art).

My mother was my very generous benefactor, procuring the Spectrum computer and the TV when I did not have the financial wherewithal to do so myself. Not that cash was exactly a bountiful resource for the family at the time. I am eternally grateful to my Mum for this, without her help my career may have taken an entirely different direction.

By early 1984 I'd put enough of a "demo" (a sideways scrolling platform game) together to persuade Software Projects in Woolton Village, Liverpool, to hire me as a programmer. So, in March 1984, at the ripe old age of 20, I moved from my mother's house in Barnsley, South Yorkshire (which I had gratefully used as my base after discontinuing my studies) to sunny Birkenhead on the Wirral (a contentious geographical description, perhaps) where I set up residence in a terraced two-bedroom house on Holt Road belonging to Alan Maton, the Managing Director of Software Projects.

Incidentally, Software Projects was based in portions of what was the Bear Brand Complex, where the Bear Brand Tights were manufactured. The Bear Brand was demolished in 1997, making way for a Tesco Supermarket.

Tesco on Allerton Road, Liverpool
Tesco on Allerton Road is on the site of the old Bear Brand Complex

Once installed in Merseyside, I started to focus on the job at hand. We spent a deal of time looking at the MSX system (which was going to be the "next big thing" - I always thought of it as basically a Z80-based C64) and the Tatung Einstein (failure as a consumer electronics product, later quite popular as a development system). I also recall looking at a Memotech system. Nothing very productive really happened during this initial period. However, I did benefit from getting to know Derrick Rowson (who would be my programming partner in crime on the CPC games). Derrick had written a tiny monitor/disassembler (an exercise in self-modifying code and part of my Spectrum toolkit for years to come) and was quite a brilliant programmer.

The thing is, nobody was really managing us, so we were pretty much left alone to just get on with things: the net result was no net result. I remember asking for development tools (an assembler, documentation) for the MSX machine for a long while (we had a consumer version of the Japanese machine, a Yamaha, if I recall correctly,  with Japanese manuals, etc.). In 1984, you couldn't just Google it. I was informed by the owner of SP, Tommy Barton (rest in peace, Tommy), that "his contacts @ Hudsonsoft" (never did get to the bottom of that one) were adamant that no further documentation or tools beyond BASIC on ROM were needed and that my requests for tools were, in fact, a smokescreen designed by me to cover up the fact that I really didn't know what I was doing.

At one point, I was summoned to Tommy's wood-paneled office and told that I was on the chopping block because I hadn't produced anything and kept making excuses about needing tools. I had, he insisted, obviously lied about writing the demo I'd used to get the job in the first place.

Tommy, "The cavemen didn't need paintbrushes."

Indignant programmer (not I, alas), "Yep, but they needed paint."

So, clinging onto my job by the skin of my teeth, it was probably my saving grace that the Amstrad CPC was announced around this time. Here was a capable machine with a real keyboard, tools, and documentation. And it was Z80-based, which meant that SP's cash cows, Manic Miner and Jet Set Willy, could be ported feasibly and predictably. Paint, at last.

Manic Miner

Manic Miner on the Amstrad CPC-464

This was pretty much a direct port from the Spectrum version. It ran in the 4-color mode, which meant that not all the 320x200 display area was used (Spectrum is 256x192). Each screen in the game was given its own 4 color palette. Interesting trade-off given that the spectrum essentially has 15 colors (bright black being the same as black), albeit that only 2 can be used in a given 8x8 pixel block, and even then, both colors are either "bright" or not. We did some tricks with the raster interrupts that allowed us to use a different color palette for the status area at the bottom of the screen, reducing the monochromatic look to some extent. It came out pretty well overall and played pretty much identically to the Spectrum original. If I remember correctly, though, the "port" was carried out without access to the original source code; we had to reverse-engineer the game (not an unusual situation back then, to be fair). Derrick's disassembler/monitor to the rescue!

Matthew Smith, the (very talented) originator of Manic Miner and JSW made only relatively rare appearances and had little involvement in the CPC versions. To me, he seemed shrouded in mystery, though that's probably because I was somewhat in awe of him. Manic Miner (along with the early Ultimate games) was the main reason I pursued a career in the industry. Manic Miner, Jet Set Willy, Atic Atac, and Lunar Jetman (I never did find the trailer, though) are all burned indelibly into my memory. Matthew was something of a hero to me.

Jet Set Willy

Jet Set Willy: The Final Frontier on the Amstrad CPC-464

Next, Derrick and I started work on Jet Set Willy. Again, the original source code was not provided. We used the same 4-color 320x200 screen resolution, but this time, we were feeling ambitious and decided to add a bunch of extra rooms over the original game's 60 or so. We ended up with 132 screens - the frustrated game designer in me being allowed to surface.

Which is an interesting point. Back then (in the UK at least), there really was no such thing as a "game designer" (although the ill-fated Imagine Software may have attempted to define the role more). I think the industry just about had the notion of "pixel artist", though that was a stretch.

Games of the day were often designed, programmed, and graphics created by a single person - Manic Miner & Jet Set Willy being great examples. Pixel artists were few and far between. The art tools of the day were so cryptic that you were at a distinct disadvantage as an artist if you were not also a programmer (mainly because the tools were created by the same programmers...). A few would-be programmers went on to become pixel pushers. Producers were yet to be invented. How things have changed!

Back to JSW. There is a detailed breakdown of the additional rooms we created at Julian Wiseman's site, including commentary from Derrick and myself. We added quite a bit to the game beyond simple room additions; too much to detail here, but the article linked above on Julian's site covers those additions pretty well.

Derrick made an editor, and we shared the effort to create the new rooms. Several new rooms contained sprites I had previously created for the demo I’d originally sent to SP. I modified Willy, adding the space helmet, for the new Starship Enterprise “space” levels we added. I wrote the music driver and ripped the C64 song data for the Moonlight Sonata menu music, and I composed the in-game music (sorry ...) on my trusty Casio MT30 (which was later stolen from the Holt Road digs during one of several break-ins).

Some of the sprites I created for Jet Set Willy CPC-464

One of the rooms we added to the CPC version of JSW was called the "Cartography Room". This room lit a collidable square for every other room you visited, forming an (almost) complete map of the game as you visited each room. This also allowed you to reach certain unreachable objects in that room -  a cute little feature. Most people do not know that if you entered the super-secret cheat code, this room became a fully functional room selector cheat, where you can, using a cursor, select the room you want to go to, press the fire button, and go straight there. Nice debugging feature, never revealed, so far as I know.

The cheat involved typing the string "EMMRAIDNAPRRRTT" once in the game, with a couple of terminating characters for good measure. I can't really explain the sequence - Derrick came up with it - I think it's a kid's eeny-meeny nonsense rhyme (at least, that's what Derrick told me) along the lines of, Eeny Meeny Macka Racka, Air I Dominacka, Alla Packa Rumpa Racka, Rum Tum Tush.

By the time we'd finished JSW, our development environment had progressed to the point where we used a (shock) separate development system (we were using Tandy TRS80 model 4 systems). Derrick even had a hard disk drive (5MB). It was nice to have a development environment like this (a sign of things to come), especially when compared to loading tools and source code from cassette tape. Honestly, though, I did just as much development at home on my CPC-464, with the monochrome green monitor and external 3” disk drive.

Still, things had come a long way in terms of development tools in a short time.

Manic Miner & Jet Set Willy for the Amstrad CPC both shipped while I was 21 years old.

While at SP, I had become friends with a couple of other reprobates, Stuart "Stoo" Fotheringham, and Marc "Wonga" Dawson (now Marc Wilding). Actually, Wonga was the name of Marc's budgie (who died in mysterious circumstances - a whole other story), but Marc used the name as a programming pseudonym for a while. Stoo was a budding C64 programmer who interviewed at Software Projects the same day I did. I have vivid memories of the interview, thanks to Stoo, or at least the friend, let's call him Fred, he'd brought along with him for the day (Stoo was only 16 at the time). Alan Maton took me along with Stoo, Fred, and a software distributor whom Alan also met that day to a local Woolton Village Chinese restaurant (the King Do) for lunch. Fred, who did not seem shy, was regaling us with a tale from his days working behind the counter of a computer store. The story culminated with a very inappropriate line, delivered with gusto,  just as the demure female restaurant server placed Fred's meal in front of him. Glances were exchanged, and I thought this had blown the interview for Stoo, but needless to say, Stoo got the job. He quickly switched from programmer to pixel pusher (he was a much better artist, and his art benefited from his technical know-how).

Marc was a C64 programmer and came to SP from Imagine Software after their collapse. Marc had just finished BC Bill on C64 and was working on Imagine's so-called Mega Games up until their collapse.

Print ad from 1984 taken outside Liverpool ABC Cinema. Stoo and I both appear.

After a while, Stoo and Marc left to join a new Liverpool-based company, Odin Computer Graphics. Actually, Odin was run by the same people behind Thor Software who had produced the Jack and the Beanstalk games. Odin was a stab at the higher quality (price-point) end of the market.

After finishing the CPC version of Jet Set Willy, I left Software Projects to go and work at Odin with Marc and Stoo. Derrick Rowson stayed @ SP and went on to port our CPC version of JSW back to the Spectrum where it was released as Jet Set Willy 2!

Read the first part of my Odin Computer Graphics recollections here.

See my Q&A with Retrogamer Magazine on Manic Miner for the Amstrad CPC.


If you enjoy my blog, you can help support it by buying me a coffee!

Comments

JetSetIlly said…
I had no idea Jet Set Willy II was a port of the Amstrad version of JSW back to the Spectrum.

I loved the additional rooms BTW. I fondly remember the moment when me and my pals realised the significance of the cartography room - "why are the blocks different in this room when I play it". Of course, it was because we each liked to take different routes through the house to the Watchtower.

Looking forward to more posts.
Steve said…
Thanks for commenting! Yep, the games are to all intents & purposes identical, though no doubt it was a lot of work to convert the Amstrad source code and graphics etc back to the Spectrum.

I have a fair few more posts written and planned. More coming soon!
Christian said…
Nice post, Steve. I have fond memories of playing the MSX version of JSW 2 and not so fond memories of coming across the rocket screen bug! I even wrote to SP about it and got a nice letter back saying to enter a couple of POKEs before loading that would solve the issue. Alas, it didn’t!

JSW also got me into classical music via Moonlight Sonata on the title screen. I used to load the game sometimes just to listen to the music and not actually play it.

I later got a C64 and learned 6510 assembly and started making my own games. Sadly they never got further than sharing disks with friends. I sent a couple off to Alternative Software and some other firms I can’t remember the name of, but had no takers. I remember the 64 version of JSW was flaky and not as good as the MSX version (despite the rocket screen bug).
Steve said…
Hi Christian - thanks for commenting! I wasn't actually aware of an MSX bug w/the rocket room. I do recall coding that room for the Amstrad version of the game, it is funny to think that other versions of the game could have a bug at that point!
Elliot said…
WOW! Just discovered this via a Twitter recommendation.
JSW Final Frontier on the CPC was my favourite game (gonna fire it up again now actually but using the emulator).
Never knew that about the Cartography Room :)
Thanks for sharing the stories, Steve & all the best to you.
Steve said…
Thanks for commenting Elliot. The Cartography Room was in our core flow when we developed the game, used to jump directly to rooms to test new features or bug fixes. Also a fun little easter egg in the game. :)
Hamish said…
At last!

I have been searching for the composer of this music since the mid-1980s.

I had some unofficial version of JSW for the Spectrum with alternative in-game music (see https://jswmm.co.uk/topic/186-playing-around-with-the-in-game-tune-in-jsw/page/3/?tab=comments#comment-15949) and I had always assumed that it must have been another conversion of a classical piece.

But I guess it must have been back-ported by a fan of the MSX version!

Anyway, it's a great composition to have stuck in my head for these past nearly 40 years...!
Steve said…
Haha - yes I did this music. A more recent rendition is here: https://www.instagram.com/p/CMp-QFiHZdf/?igshid=YjVjNjZkNmFjNg== (sorry for the IG link but it’s the first one step hat sprang to mind). :)
Oliver said…
Thank you Steve, that was such a nice read! Back in the days I (and my brother) was obsessed with JSW on the Amstrad. We even drew a huge map on paper (a bit like cartography room papyrus version) to make sure that we always knew where we were in the game. The space part of JSW was actually our favourite, I still remember how excited I was to discover rocket room and all the enigmatic rooms up there. That's probably partly due to the fact that my first encounter of JSW was on the Spectrum. BTW I loved your rendition of the Moonlight Sonata and enjoyed listening to it on my 'stereo. Thanks for a lot of great memories. PS Learning the origin of Holt Road made me smile.
Anthony Flack said…
I always liked that tune, and would have left it playing if it wasn't so short.

Thanks for the info - I'm curious if Derrick had to go back and remove the extra content for the CPC version that appears on They Sold A Million compilation, or did you complete this version first? It looks like the Final Frontier but with the original Spectrum map and a high score table. I guess the publisher wanted it to be consistent across formats?

This was the first version of JSW I ever played.
Steve said…
Hi Oliver - thanks for commenting. I'm glad you enjoyed the game and the music! Working on JSW was definitely a career highlight for me, even after all these years.
Steve said…
Hi Anthony, glad you liked the music, I'm sorry it was short. :) Somehow I took responsibility for the music even though nobody asked me to. I was really supposed to be coding the game, so the music was squeezed in between doing everything else.

As for your other question, it was a long time ago, but I believe Derrick probably ended up removing all the additional rooms for versions that didn't include them. I don't know for sure, Derrick stayed on at Software Projects after I left, but that must be what happened.
What a brilliant article. I had a 48k Speccy and spent hours on both Manic Miner and Jet Set Willy.

My friend had a CPC464 and I played both games on his machine too. They were both fantastic versions, although I never realised there were more rooms in JSW! That's a brilliant touch.

I love hearing about coding during this era. What you achieved on limited hardware is astounding.
Steve said…
Thanks for the comment and the kind words!

Popular posts from this blog

Nodes of Yesod : ZX Spectrum Next : Update #4

Odin Computer Graphics Part One : 1985