Jet Set Willy

From Citizendium
Jump to navigation Jump to search
This article has a Citable Version.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
Catalogs [?]
Video [?]
 
This editable Main Article has an approved citable version (see its Citable Version subpage). While we have done conscientious work, we cannot guarantee that this Main Article, or its citable version, is wholly free of mistakes. By helping to improve this editable Main Article, you will help the process of generating a new, improved citable version.
Jet Set Willy
Part of the Miner Willy series
JetSet.jpg
Genre(s) Platform game
Year of Release 1984
Platform(s) ZX Spectrum with later ports to other systems
Developer(s) Matthew Smith
Publisher(s) Software Projects

Jet Set Willy is a platform game created by Matthew Smith and published by Software Projects in 1984 originally for the ZX Spectrum. It is the sequel to Manic Miner and the second in the Miner Willy series.

Plot

Miner Willy is a millionaire with his own mansion, yacht and housemaid. After throwing yet another big party his maid Maria puts her foot down and insists that he go around the place and collect all of the items that have been left around after the party. Only then will he be allowed to go to bed.

The mansion previously belonged to an unknown gentleman who mysteriously disappeared one night whilst working in the laboratory. Most of the mansion is unexplored, and there are some very strange things going on! Willy must keep his wits about him as he avoids all manner of strange creatures.

For most of the game Maria blocks the entrance to the master bed. Once Willy has collected all of the items she disappears, and the player may enter the bed to finish the game. When this happens Willy automatically runs at double speed towards The Bathroom, sticks his head in the toilet and waggles his legs in the air. This is the ending of the game, and the game must be reloaded to play it again.

Graphics and sound

The graphics available for the ZX Spectrum limited the game to using only 8 colours, and then only 2 colors per 8x8 pixel block. Music was also limited to short tunes that could only be played one note at a time. Bearing these limitations in mind Jet Set Willy made excellent use of both graphics and sound. CRASH magazine said "Quite simply, the sound is excellent, the graphics are brill and the colour is great."[1]

In the majority of rooms Willy is displayed as a man with a top hat, similar to how he appeared in Manic Miner. However, in one room, The Nightmare Room, the sprite is replaced with a flapping hedgehog.

The original version of Jet Set Willy played a modified version of If I Were a Rich Man from Fiddler on the Roof. Some later versions instead played In The Hall Of The Mountain King by Edvard Grieg, which was also the theme tune for Manic Miner. In both versions when a life was lost the pitch of the music was altered downwards.

Gameplay

© Screenshot: Software Projects
Maria blocks the entrance to the final goal, the master bed.

Gameplay is quite simple and there are only three controls: left, right and jump. The player must move Willy around the house collecting the flashing objects whilst avoiding a variety of creatures. If Willy collides with a creature or falls too far, the player loses a life and is returned to the place where he entered the screen. Sometimes this 'reset point' is instantly fatal, leading to all eight lives being lost for a single mistake. Good manual skills and accuracy are necessary, as sometimes pixel-perfect positioning is required in order to miss the creatures on either side of Willy.

There are three main types of creatures to avoid. The most common follow a set path either horizontally or vertically. Once they reach the end of their path they reverse direction and follow the path back to the start. The second most common are static creatures, which do not move and must simply be avoided. The third type are usually in the form of arrows. These appear from a launcher and continue along a horizontal or vertical path until they reach a set point (usually the edge of the screen). They then vanish until another one is launched a few seconds later.

In a few places Willy encounters a conveyor belt. If the player presses in the direction that the belt is moving then they move as normal. If the player does not press any direction then Willy is moved in the direction of the belt. If the player presses the direction opposite to the conveyor belt then Willy remains stationary. The only way to traverse a conveyor belt in the direction opposite to the way it is moving is to jump.

© Screenshot: Software Projects
On the left of this room you can see a staircase. The table in the middle is also a conveyor belt.

A few rooms feature a rope hanging from the ceiling. The top of the rope remains at a fixed point, but the bottom of the rope swings constantly from left to right. If Willy jumps into the rope then he sticks to it and moves along with it. The player can then jump off at any point. It is possible to jump off the rope and back onto it in a higher up position, and even to 'climb' the rope in this manner off the top of the screen.

Staircases are another frequent feature. If Willy is moved on to a staircase he will climb it, but if the player makes Willy jump on to it then it is possible he will fall through it. This requires some precision jumping, and can take several attempts.

When Willy reaches the edge of a screen he moves into the next screen along, maintaining any momentum and direction from jumping where applicable. There are a total of 60 screens (known as rooms) used in the game, but the game's coding allows for a total of 64 rooms. These other rooms are in the game, but inaccessible by normal means and unused. For a full list of rooms, see this catalog.

There are a total of 83 objects to collect in the game. Of these 79 are standard and appear as flashing objects within the game's screens. These are collected by simply touching them with Willy. One non-standard item is found in the room called Swimming Pool and is automatically collected upon entering the room at any point. Another item is auto-collected upon entering the room called Beach, but this counts as two items. The final non-standard item is in the room called First Landing and it is invisible. In theory it can be collected simply by touching, as with any standard item; in fact it is in a completely inaccessible location and therefore cannot be collected. This was just one of a few bugs in the original version of the game.

Bugs

© Screenshot: Software Projects
When a player entered The Attic corruption occurred in many rooms, making the game uncompletable.

Unfortunately, when the game was released it had several major bugs that made the game impossible to complete.

The most severe of these, known as The Attic Bug occurred when a player entered the screen called The Attic. After this, several other rooms would become corrupted, which caused problems such as all of the monsters vanishing from The Chapel and entering We must perform a Quirkafleeg from the 'wrong' direction causing instant death. Originally Software Projects claimed that this was intentionally done in order to make the game harder; however, they later retracted that claim and issued instructions on how to modify the game to correct the bug. This was one of the first times that a video game company had issued such a 'patch'.

The problem was actually a buffer overflow caused by one of the creatures in The Attic. The creature, which was an arrow, had an error in it's movement path which caused the sprite to move beyond the memory reserved for video and into memory reserved for important game data. This data was overwritten and therefore corrupted, causing the bug itself.

Other problems occurred with item placement. The invisible item in the First Landing was in an impossible to reach place. Software Projects released a fix for this when they released the fix for The Attic Bug, which moved the item into The Hall. A similar problem occurred in The Conservatory Roof where an item was placed too close to a creature making it impossible to collect before dying. Software Projects fixed this also, by removing the killer object.

The final bug occurred in The Banyan Tree. The player was supposed to be able to leave the room in an upwards direction, but a solid item had been put in the way making it impassable. Software Projects fixed this by changing the item so that it could be moved through.

Competition

A competition was released alongside the game and announced in the instructions:

Why not join the Jet Set and share in Willy's good fortune.

Software Projects are offering a prize to the first person to write or telephone our offices in Liverpool with the answer to the question: "How many glasses must Willy collect before Maria lets him go to bed".

In exchange for this information we will present the winner with six champagne glasses and a case of Dom Pérignon champagne. In addition to this a Jet Ranger helicopter will pick you up for a flight above your town when you will get the chance to meet Matthew Smith the author of Jet Set Willy and the other No. 1 selling Spectrum game from Software Projects - Manic Miner.

Software Projects, instructions for Jet Set Willy[2]

With the bugs that were included in the game, it was impossible to complete the game and find the answer. Ross Holman and Cameron Else, frustrated at being unable to complete the game, hacked the code and realised that it was impossible. They produced the fixes, completed the game and phoned Software Projects with the answer to win the competition. The fixes they produced became the official Jet Set Willy fixes, and were released by Software Projects.

Copy Protection, cheats and hacking

© Image: Software Projects
The colour card included with the game

In an early attempt at copy protection, Jet Set Willy included a full-colour card containing 180 codes. When the game was loaded it would as for one of those codes, and the user had to enter it in order to proceed. For example the game may ask for the code at location P2, in which case the player would look up this location on the grid where they would see the colours 'green purple green purple'. They would then enter these colours into the game and it would start. Should the player fail to enter the correct code, the game would not start and instead ask for a different code. Without widespread Internet, and with full-colour copying not being easy at the time, this was more effective than it would be in the modern world. However, many ways around it were found, and instructions for bypassing it were even published in UK computing magazines.

There was one official cheat included in the game. By typing the letters WRITETYPER when standing on the floor of the First Landing the user was able to teleport to other rooms by holding down a combination of numbers. As the source code of the game was easily obtained, many unofficial cheats were later released including allowing an infinite number of lives, providing the ability walking through creatures or jump from any height, and even the ability to remove all of the creatures. These cheats (as well as the official bug fixes) were provided in the form of POKE commands which were easily added to the game with the following method:

  • Type MERGE "" and wait for the BASIC loader to load. The message "0 OK, 0:1" is displayed.
  • Type LIST to list the coding, which should appear something like this:

  10 INK 7:PAPER 1:BORDER 1:CLEAR 32767
  20 PRINT "JSW is loading"
  30 LOAD ""CODE
1000 RANDOMIZE USR 33792

  • Enter the POKE commands onto new numbered lines before the line RANDOMIZE USR 33792. Codes are entered by choosing an unused number that ends in a zero and typing that number followed by the POKE command. For example, the following could be typed to grant infinite lives:
100 POKE 35899,000

A list of some of the most common POKE commands, including those for the official bug fixes, can be found in this catalog.

In addition to this, the data controlling room layout was quite simply expressed and were uncompressed within the game's coding. Therefore it was relatively easy to deduce the format that rooms should be in, and create customised rooms. Between 1984 and 1986 several room editors were released, and fans were able to create their own games using the original engine. It was so popular that in 1985 Your Spectrum magazine released a modified version with an extra room, and launched a competition asking readers to find it.[3]

Ports and remakes

As well as the ZX Spectrum, Jet Set Willy was also released for the BBC Micro, Acorn Electron, MSX, Commodore 16 and Commodore 64. These versions did not contain the bugs from the original version, but the BBC Micro and the Commodore 64 had different bugs that also prevented the game from being completed.

An expanded version of the game, known as Jet Set Willy: The Final Frontier, was released for the Amstrad CPC 464. This was later recreated for other systems including the ZX Spectrum and released as Jet Set Willy 2. Other expanded versions were also created for the Dragon 32/64 and Acorn Archimedes.

In more recent years the game has been recreated by fans for several modern systems including Windows, Linux and online Flash and Java versions. Fan versions of the game have also been created, often with a completely new set of rooms.

References

  1. http://www.crashonline.org.uk/04/jetset.htm - CRASH 4 - Jet Set Willy review, 4 May 1984
  2. ftp://ftp.worldofspectrum.org/pub/sinclair/games-info/j/JetSetWilly.txt - Copy of text from the instructions for Jet Set Willy, hosted by World of Spectrum
  3. http://www.users.globalnet.co.uk/~jg27paw4/yr13/yr13_41.htm - April Showers, Your Spectrum issue 13, April 1985