Main index Jet Set Willy II: Index About author

Jet Set Willy II: Programmer Comments

Introduction

Steve Wetherill contacted the author in February 2006:

Hello — I came across your JSW2 game pages today, quite a nostalgia trip. The Jet Set Willy 2 game originated from the Amstrad CPC version of JSW, which I developed with Derrick Rowson while @ Software Projects all those years ago. JSW was the second game I coded professionally, having done the Manic Miner port to CPC again with Derrick previously. Derrick and I added all those additional screens (when compared to the original JSW) mainly because we were having a blast doing it. I left Software Projects to go and work at Odin Computer Graphics, and Derrick ported the Amstrad code back to the Spectrum after I left, whereupon it was released as JSW2.

Thanks for the trip down memory lane — certainly a blast from the past!

Steve Wetherill, who is contactable via stevewetherill.com, answered a question about the camel in ]:

It is a large version of a camel sprite that appears in some of the lower rooms. The camel, and various other enemies, were taken from the demo that I sent to Software Projects when I was applying for the job there the year before. Programmer art, indeed. So really, it was just a variation on Hero Worship, which is another large sprite.

and another question about why Willy can’t be played in the Oh $#!+!The Central Cavern!:

As I recall, the idea we had was that Willy was in some sort of recurring nightmare, which is why the Central Cavern is in there. I believe we considered making it playable, but there was some issue with the way the data worked that made it a bit tricky and then we were under a lot of pressure to finish the game. It was meant to be just a fun little bonus — I am not even certain that the powers that be @ Software Projects knew about the ending.

I will take a look at the map again and see what other notes I can share. One thing is that on the Amstrad, the Cartography room, as well as being a fun little screen in the game, was actually used by Derrick and I as a debug mode. We have a cheat code, that went: “EMMRAIDNAPRRRTT” (which is actually the initials to the words in a nursery rhyme), followed by either the ESC key or perhaps another key or two. [Editor’s note: the obvious question was asked: “Well, it was Derrick’s notion. But it is a kids counting rhyme, like: Eeny Meeny Macka Racka Air I Domi Nacka Alla Packa Rumpa Racka Rum Tum Tush. Or something like that. Quite possible that I got it wrong, it being nonsense (to me at least).”] This enabled a cheat which would take you to the cartography room at any time upon the press of a key. Once there, instead of controlling Willy, you had a cursor and you could select which room to go to (all rooms were filled in). You would use the cursor keys (or joystick?) to select the room, which would take you to the room, and once there you again used the cursor to move Willy around the room to set his starting location. It is in the shipping game, and it was funny to see various hacks on the CPC that added primitive room select modes, when all the time a really cool one was already in the game! I am guessing that it is not in the Spectrum game, but who knows … :)

before sending lots of notes:

Here are some notes. Before I get into this, I want to make it clear that none of our additions for “JSW2” would have been possible without the original brilliant work by Matthew Smith, so nothing here is intended to detract from his efforts.

So here goes, some notes as per your map sections. Clearly, many of the screens were added to fill “gaps” in the original. I think we needed this so that the cartography room would make sense, so it may be that the gap filling was a later rather than earlier addition to the game, though other screens may have been added for different reasons. It was quite easy to physically make the new maps, since Derrick had written a cool map editor.

1. The Sewers.

This whole section is “inspired” by Holt Road. Holt Road was the street in Birkenhead where I lived while working for Software Projects. [Editor’s note: streetmap.co.uk; multimap.com; pictures of Matthew Smith et al in the terraced house in Holt Road.] I shared the place with Stuart Fotheringham (SP artist), and Marc Dawson (now Marc Wilding — SP C64 coder) [Editor’s note: believed to be contactable via Acclaim Studios Manchester] was a frequent guest. I think the reason these screens are so sewer-centric was due to an upsetting blocked drain incident that occurred when we were living there…

As you can see, Holt Road is one of the screens — those blocks on the lower right are two chairs and a sofa, in case it wasn’t obvious. The three screens to the right constitute the living room, a bedroom, and Downstairs. It doesn’t really make any sense, though the barrels in the living room may mean something to somebody. Holt Road was a rather steep hill, hence the Mega Hill. The downstairs has the water element probably due to aforementioned drain incident.

The sewer arches also bear some resemblance to the train station where I used to catch the train from Birkenhead to Liverpool (to the SP office) every day.

2. The West Map

The changes here were to do with the boat sailing to a desert island. There was some rumor that the original JSW game did something like that so we thought we’d add it.

I think the cheat screen was originally added to detect possible screen change cheat pokes, I don’t recall if we really used it though. The idea was if you cheated you could get to that screen, and so if you had been to that screen, then you obviously cheated. Something like that.

I am not sure if the Deserted Isle screen behaves the same as the Amstrad version; there, the middle tree collapses into the ground when the timer counts down AFAIK. (I really should fire up the game and play it I guess … this is all from memory). [Editor’s note: it is the same.]

3. Central Map

Trip Switch was for the boat and island sequence. Pretty standard room.

Willy's lookout is just a connecting room, note however that there are some birds in there. Those are more sprites from the demo I sent to Software Projects. Also, the birds represent Wonga; Wonga was the coding alter ego of Marc Wilding, and also the name of his budgie. So those birds represent Wonga the Budgie.

Wonga'S Spillage Tray is now obviously the bottom of Wonga’s bird cage, and so the stuff at the bottom is obviously, budgie spillage.

Continuing the theme, there is Willy's Bird Bath.

Seedy Hole is another reference to Holt Road (which is where Wonga, the budgie, resided), and so this was Wonga’s bird seed.

The Zoo is what some people called the programming offices @ Software Projects. There’s my camel sprite in there.

Decapitare was definitely Derrick’s idea. We have a few screens that use the counterbalanced “things on pulleys”.

Pit Gear On, In T' Rat Hole and Down T' Pit were references to Manic Miner, but also reflected the facts that i) I am from Yorkshire (so I was “OK” with the dialect aspect), and ii) I worked for a time for the “National Coal Board”, and in fact did my “Basic Underground Training” at various “Pits” around Barnsley, S. Yorks. Rat Hole is what some of the miners would call the mines. I was tempted to write “Call T' Mines” there, oh boy.

We liked the idea of a deep well down there, hence the repeating Well screen. Derrick wanted to call the bottom one Dinking Vater ?.

Hero Worship and ] are variations on a theme. We figured that if there can be a giant elephant, there can be other loony screens just there.

Macaroni Ted was indeed a reference to Technician Ted. That game came out when we were finishing JSW CPC — it bore an uncanny resemblance to Manic Miner of course; it did have cool music though.

Dumb Waiter was just a pun on the waiter sprites and the lifts that are in there.

In the Belfry, we went ahead and placed a hunchback sprite. Seemed in-keeping.

The Rocket Room facilitates the journey to the USS Enterprise section.

4. Space Map

This is (hopefully) obviously the Starship Enterprise, kinda.

There are various screens in here that explore Star Trek themes. We took some of the high level things that occur on every Star Trek episode, lifts, phasers, teleports, the star drive etc and built rooms around them. And Tribbles. These rooms feature various sprites pulled from my SP demo plus a couple of new ones.

I’ve mentioned the extended role of the Cartography Room previously, on the CPC version.

Foot Room is an homage to the ending of Manic Miner, when you lose all your lives.

5. Teleport Zone.

Well, this section is a planet, such as might be seen on a Star Trek episode.

Loony Jet Set was a nod to Jet Pac.

Eggoids was a nod to Lunar Jet Man (one of my all-time favorite games, bloody difficult though).

Other comments

In the new screens contained in the Space Map and the Teleport Zones, we were really having fun pushing the combinations of block types in (hopefully) interesting ways, along with a few new ideas. I think Matthew Smith’s original screens were generally much more aesthetically pleasing (although I should note that the new screens were designed for the Amstrad and I am not sure the colors came across to the Spectrum version perfectly), however, neither Derrick nor myself are really artists, and art resources @ SP were scant, so we made the most of what we had. Really, this extra stuff was meant to be an interesting bonus, it was not meant to replace the original game, just to give players some new stuff to play with. At no time did we (coders) imagine this as a sequel in any way. We were just having fun with it, as countless others have done since (in terms of mods, etc). Effectively, were were the first JSW modders. :) Having said that, as I recall, we basically rewrote the game from scratch for the Amstrad (same with Manic Miner). We did have access to the original source code at a certain point, but I believe that we created Manic Miner CPC without the original source (in fact, Derrick had written a very nifty disassembler/hex editor and we used that to figure out the original game). When it came time to do JSW, I think initially we still did not have any source code, so we set out to disassemble that game too. I am pretty sure that this is correct, because it took forever to get the stairs (ramps) to work the same way as the Spectrum version. That sounds goofy now, since both Derrick and I were employed full time by Software Projects; I don’t really recall the specific reasoning. In any case, it was this new codebase that was ported back to the Spectrum for JSW2.

I think the colors are not as solid (attribute clash) on JSW2 vs JSW due to the different screen update systems. Matthew’s original code uses a full “off-screen” copy of both the screen pixel bits, and the attribute color bytes. Each frame is composed in these hidden buffers, and then once all updates are done, the screen is copied to the visible screen. In fact, there may be two copies of the screens sitting around in memory. When it came time to fit the expanded CPC game into memory on the smaller Spectrum, there would not have been room to do this (plus, the CPC codebase does not use that method either — it uses a raster-avoiding method). So, the result is that the attributes for moving objects can tend to fight with each other sometimes. It is only a minor detail of trivia, but worth noting.

Incidentally, in terms of any differences in spelling of room names between the original game/CPC version to the Speccy JSW2, that may be because the room names are compressed on the Spectrum JSW2 (and not on the CPC). This was presumably to save space (and fit into 48K); accordingly, there was probably a “re-typing” of names at some point, possibly leading to errors. [Editor’s note: explaining both Wonga'S Spillage Tray and We must peform a Quirkafleeg.]

The author thanks Steve Wetherill for these words, and of course would welcome comment from Derrick P. Rowson and Matthew Smith, should they be reading this.

There are more room-specific comments in the recommended route.

Julian D. A. Wiseman, February 2006


Main index Top About author