========================================================== | Willy's Hoard | | by Daniel Gromann, Martyn Brown and Andy Bigos | | July 2006 | ========================================================== "Willy's Hoard" is a redesign of Matthew Smith's classic ZX Spectrum game "Jet Set Willy". In fact, it is an expanded conversion of another Spectrum game - "Henry's Hoard", by Martyn Brown and Andy Bigos (Alternative Software Ltd, 1985) - to the JSW48 game engine. It uses an extension of the classic JSW48 game engine, by Jonathan Graham Harston, which makes it possible to increase the number of rooms beyond the 64 allowed by the original engine. "Willy's Hoard" was created by Daniel Gromann - on the basis of M. Brown and A. Bigos's rooms - using Jet Set Willy Editor (JSWED) v. 2.2.9 and 2.3.1 by John Elliott, and Warajevo ZX Spectrum Emulator v. 2.51 by Zeljko Juric and Samir Ribic. It is meant to be played on a PC computer (or a game console, or another device) using a ZX Spectrum emulator capable of handling .tap format files. Theoretically, you could also play "Willy's Hoard" on an real Spectrum if you manage to transfer it to tape. ---------------------------------------------------------------------- I. Background Information Ever since I first played "Henry's Hoard", I was impressed by the atmosphere and quality of its rooms. I always felt sad that these fine rooms did not form part of the "official" Miner Willy canon, which for me is Dr. Andrew Broad's list of released Manic Miner and Jet Set Willy games (currently found at http://www.geocities.com/andrewbroad/spectrum/willy/list.html). Since the original "Henry's Hoard" uses a heavily-modified JSW game engine, it is not included in any of the JSW game categories Dr. Broad currently recognises (MM, JSW, JSW128 and JSW64), and it is only mentioned in the "Other Games of MM/JSW Interest" section. I thought that this was an unfortunate situation, and so in late 2005 I set out to change it, by transferring most of the rooms from "Henry's Hoard" to the classic JSW48 game engine. As I progressed with this task, I decided to make the layout of the game more "natural", i.e. make sure that it can be depicted graphically with no rooms overlapping and with no "illogical" jumps (like exiting one room and appearing in another one, located far away on the map). This entailed expanding the game by creating brand-new rooms. I realised that the 64 rooms available in the original JSW48 game engine were not enough to accomplish this task, and so I decided to use J. G. Harston's extension of the game engine, which allows more rooms (http://mdfs.net/Software/JSW/JGH/). Finally the game has 75 rooms, including 49 rooms transferred from "Henry's Hoard" and 26 new rooms of my design. I would say it has a "95% logical" room layout - no rooms overlap, but there are two cases of "illogical" jumps between rooms. I chose the first incarnation of Miner Willy - the original sprite from "Manic Miner" - for the protagonist of the game. Playing as Miner Willy gives a slightly different feel to the rooms from "Henry's Hoard", in my opinion, and it also makes the game more difficult, because Willy is 4 pixels taller than Henry. The work on the game was also an exercise in manual hacking for me, or as close to it as I had ever come. I used the memory editor of Warajevo 2.51 to apply J. G. Harston's extension and place the beyond-the-64-range rooms in the right place in memory (I designed them with JSWED and then transferred them in Warajevo). I also applied some modifications to the game engine invented by other people (such as Andrew Broad). Then, after studying disassemblies of JSW48 and Geoff Mode, I felt confident enough to move some other data around, in order to create new effects such as the graphically-advanced title screen, the extra-long title screen tune and the additional screen between the Game Over screen and the restart of the game, for which I used modified code copied from L. Marwick's "Spaceman Willy" and a modified message from the original "Henry's Hoard". In the latter part of this creative process I grew used to operating in hexadecimal rather than decimal values, and I started using JSWED's Hex editor, which I found to be in some ways more handy than Warajevo. When I do similar editing in the future, I will most certainly use JSWED's Hex editor again. However, I will still need Warajevo (or another program) to convert decimal values to hexadecimal if I want to apply POKEs given in denary. ---------------------------------------------------------------------- II. Acknowledgements, Thanks and Credits 1. I would like to give credit and express my sincere gratitude to: - Matthew Smith, for the original "Jet Set Willy". - Martyn Brown and Andy Bigos for the original "Henry's Hoard". - Jonathan Graham Harston for his extension of the JSW48 game engine, and for his editor DefRoom 1.24, which I used as an auxiliary tool in the first stages of the creation of the extended version of the game. - John Elliott for his JSWED, which was my main tool in creating the game. I used v. 2.3.1 to easily transfer the rooms from "Henry's Hoard" to a JSW48 game file, and v. 2.2.9 during the rest of the creation process. John's analysis of the HH game engine (see the address in the "Internet Links" section below) was also useful to me, e.g. to copy the "after-a-loss-of-life" effect from the original "Henry's Hoard". - Zeljko Juric and Samir Ribic for their Warajevo ZX Spectrum Emulator v. 2.51, which was an important and valuable tool in creating the extended version of the game. - Richard Hallas and Philip Bee for the in-game tune. I copied it from Philip's game "Jet-Set Willy Ivy" (1998), but as he explains in the text file accompanying the game, the tune - Strauss' "Radetzky March" (as featured in "Technician Ted") - was arranged by Richard Hallas. Moreover, Richard's document "A Miner Triad" (see the "Internet Links" section below) was a valuable aid for me in redefining and restructuring the music. In turn Philip is the person who, according to the information given in Dr. A. Broad's list of MM/JSW games, in April 2000 discovered the fact that "Henry's Hoard" plagiarised "Jet Set Willy" by using a modified game engine. - Dr. Andrew Broad, for the second part of the title screen tune, which I copied from his JSW48 game "Party Willy (Part 2)" (2004); the tune is "A Wolf at the Door" from Radiohead's 2003 album "Hail to the Thief" (the first part of the title screen tune is Beethoven's "Moonlight Sonata" from the original "Jet Set Willy", so it was certainly programmed by Matthew Smith). Andrew also deserves credit for some of the modifications of the game engine (see the "Technical Notes" section below) and special thanks and acknowledgement for his outstanding role in the development of Jet Set Willy and Manic Miner games and the JSW/MM community. - Leslie Marwick, the author of the 1985 game "Spaceman Willy", from which I copied the code which allowed me to create "the final screen" (after the Game Over screen and before the restart of the game). - All of the authors whose sprites and graphical elements were used in the game (see details below). - Scott Watson (scottigeuk), for the title of the game. According to information given in Dr. Broad's list of MM/JSW games, Scott began editing a Henry's Hoard game called "Willys Hoard" (27th January 2001). Since there had been no news of the game ever since, I decided it was safe to "intercept" the title, which seemed the most logical choice for my project anyway. I contacted Scott and he confirmed that he had no objection to my using the title, since he wasn't working on the game (or any other Spectrum games for that matter) any longer. It is worth mentioning that Scott is the author of some great JSW and other games for the PC (http://www.scottige.co.uk/). - Vaggelis Kapartzianis, for his ZX Spectrum Emulator (v. 1.03.98.0211) - also known as ZX32, which was my main tool in playtesting the game. - The Ramsoft staff for their Real Spectrum emulator v. 0.97.26, which I also used to playtest the game (http://www.ramsoft.bbk.org/). - Xabier Vázquez, for hosting my JSW website at http://xa.bi/jsw. - All of the authors of JSW/MM games and all members of the JSW/MM community - especially of the Yahoo! JSW/MM Club - for sharing the interest in and fascination for Miner Willy :-) . - My four-year-old son Michael, who is a great source of joy and inspiration for me :-) :-) :-) . 2. Specific room and sprite credits a) Rooms 49 rooms were copied from "Henry's Hoard". The credit for them goes to Martyn Brown and Andy Bigos, of course. Most of them are preserved in their original shape. Slight modifications were introduced in some of them in order to preserve the new game's integrity. The rooms from "Henry's Hoard" are (technical room numbers are given in brackets): "Henry's Home" (000), "Dwarves' Domain" (002), "Dwarves' Domain" (003), "Hoover's Hollow" (004), "Forest Clearing" (005), "Horny Walkway" (008), "The Dug Out" (009), "Little Spadgers" (010), "By the Water's Edge" (011), "Stepping Stones" (012), "The Mountain Path" (013), "The Mountain Path" (014), "Palace Gatehouse" (015), "The Shrine" (016), "Goblin Grotto" (017), "Tales from Fat Tulips Garden!" (018), "Moon Fargo 2!" (019), "The Forest Pathway" (020), "Palace Portal" (021), "Conveyor Caution!" (025), "Home of the Evil Mr Stoney" (026), "The Aquarium" (027), "Henry's Antics (Hoard Minus One)" (028), "The Hen House" (029), "Aquarium Entrance" (030), "Nasty Screen" (032), "The Room of Many Exits" (034), "Dwarves' Domain" (036), "Platformania" (037), "MICROBYTE (Tel: Leeds 92+376656)" (038), "Secret Safe" (043), "The Mega Belt Stage One" (044), "The Mega Belt Stage Three" (045), "The Drop" (047), "Above the Belt" (048), "Slimey Hollow" (049), "Oh! What a Lot of Snot!" (050), "Help! Melvin's Ale Has Escaped!" (051), "Loony Lagoon" (052), "Entrance to the Nasty Screen" (053), "The Hoard (Ring for Service!)" (054), "Special Brew Portaloo" (055), "Bog Byte!" (056), "Do Mushrooms Grow in Castles?" (058), "Entrance to the Magical Castle" (059), "Revenge of the Awesome Ale!" (060), "Chuckie Egg Revisited" (062), "The Mega Belt Stage Two" (063) and "The Terrible Terminal Tunnel" (106). Two different versions of "Henry's Hoard" exist, one dating back to 1985 and the other to 1986 (see http://www.worldofspectrum.org/games/h.html). I did not notice any visible differences between the rooms in both versions, apart from some room names. I transferred the rooms from the 1985 version, but I used the name "Hoover's Hollow" from the 1986 version instead of "Cubby Hole" from the 1985 version; I "compensated" for it by calling one of "my" rooms "The Quirky Cubby Hole". In turn I decided to stick to the 1985 name "Forest Clearing" rather than use the 1986 name "Paddy's Patch". I left out two rooms from "Henry's Hoard": "Maniac Miner" (000) and "Where the Hell Did He Come From?" (053), because I did not consider them worth including, as they are merely uninspired renditions of the opening rooms from the original "Manic Miner" and "Jet Set Willy", respectively. In "Henry's Hoard" all of the room names are in capital letters, because the game engine can only print in capitals. In "Willy's Hoard" I applied a standard spelling convention for titles, including both capital and lower-case letters. * 26 rooms were designed by myself, many of them using graphical elements from "Henry's Hoard" rooms, because I wanted them to fit in nicely with the rest of the game. These are: "The Quirky Cubby Hole" (001), "The Quirky Mountain Path" (006), "The Dilapidated Catwalk Part 1" (007), "Quiet Crossroads" (022), "The Canal Bank" (023), "The Magical Castle" (024), "Below the Secret Safe" (031), "Henry's Back Door (Escape Route)" (033), "Henry's Bedroom" (035), "The Quirky Corner" (039), "The Mega Belt St. Two-and-a-Half" (040), "The Lost Highway" (041), "Above the Loony Lagoon" (042), "Three Quirky Compartments" (046), "The Quirky Cagelike Enclosure" (057), "The Quirky Passageway" (061), "MICROBYTE's Messy Attic" (065), "Moon Fargo 1?" (070), "Secret Passage - The Lower Part" (087), "Secret Passage - The Upper Part" (091), "The Hangover Effect" (094), "The Quirky Forest Pathway" (095), "The Dilapidated Catwalk Part 4" (103), "The Dilapidated Catwalk Part 3" (104), "The Dilapidated Catwalk Part 2" (105) and "A Vision of the Hoard" (118). "The Lost Highway" is a redesign of the room "Rocky Road to Double Inn" (026) from my first game "Willy's New Mansion" (2004). Both parts of "The Secret Passage" use graphical elements from the room "Above the Pyramid Entrance" (010) from Stuart J. Hill's game "Utility Cubicles" (2000). All the four parts of "The Dilapidated Catwalk" use graphical elements from the room "The Catwalks / Over the Carnival" (049) from Fabián Álvarez (Adban De Corcy)'s game "Madam Blavskja's Carnival Macabre" (2002). "Quiet Crossroads" uses modified graphical elements from the room "Alreet' Skull?" (006) from the DrUnKeN mAsTeR!!!'s game "Jet Set Willy: The DrUnKeN mAsTeR!!!" (2002). "Henry's Back Door (Escape Route)" uses Fire-cell design from the room "Marks Set Off We Go" (033) from the game "Jet Set Willy IV: Willy's New Hat" (by unknown author, probably 1985). "Henry's Bedroom" uses Fire-cell design from the room "Altar to an Unknown God" (063) from "Willy's New Mansion" (I may have copied it from another game though, I can't remember), reused in the room "The Mystic Room of Many Exits" (113) in Sendy (Alex Cornhill)'s and mine "Jet Set Willy: Mind Control" (2005). "Three Quirky Compartments" uses graphical elements from the room "Above the Abyss" (018) from "Willy's New Mansion". I may have used graphical elements also from other games - I am sorry if I have missed something in the credits above. b) Sprites Most of the sprites seen in the game come from "Henry's Hoard", so they should be rightfully credited to Martyn Brown and Andy Bigos. Miner Willy's sprite comes from the game which started it all - "Manic Miner" by Matthew Smith (1983). "The grim old man", seen for the first time in the upper part of "The Quirky Forest Pathway", comes from the DrUnKeN mAsTeR!!!'s game "Fantasy World Willy" (2002). The R.I.P. tombstone and the ring (?) which crashes Willy on the Game Over screen come from Lee Tatlock's game "Willy vs the Vampire Lord" (2001). The moving grilles, the loudspeakers (e.g. in "Henry's Bedroom") and the fountain (e.g. in "The Mega Belt St. Two-and-a-Half") are of my own design. ---------------------------------------------------------------------- III. The Story As a part-time hobby, Miner Willy designed a great computer game. He lent it to his friend Henry, a lousy little dwarf, who plagiarised Willy's effort: he copied the game engine invented by Willy, introduced some changes to it, and published his own game with which he made a fortune. He bought a lot of jewels and other precious artefacts, and he kept them amassed in a hoard in one of his homes, while many of them got scattered around the neighbourhood. When Willy discovered that he had been tricked, he was really pissed off with Henry, and he decided to reclaim the wealth which should have been his. So he went to pay Henry a "friendly" visit to see what he could do about the whole thing. After a night of heavy drinking (the dwarves' idea of hospitality, you know), Willy woke up in Henry's other home. It was quite late, 10.45 am already. Henry wasn't around, so Willy set out to explore the dwarves' domain and its neighbourhood in search of the now legendary hoard. If you guide him skilfully over the torturous path to a magic castle, through an aquarium and other weird and quirky places, he will certainly find the treasure and will be able to escape before furious Henry catches up with him! ---------------------------------------------------------------------- IV. Instructions This is not really necessary, but just to keep the documentation complete: The object of the game is to collect all of the flashing items, avoiding moving guardians and stationary obstacles which may kill you. Then you have to take the escape route to get out of Henry's home and the dwarves' country. Use O-Left, P-right (or a combination of keys from the top row of letters) and SPACE or any of the letters from the bottom row to jump. A-G pauses the game, H-ENTER/RETURN unpauses it and also toggles the music ON/OFF. And remember that after you have started the so-called toilet-run (after the program has taken control of Willy and carries him to the right at double speed), P behaves differently than W, R, Y and I ! ---------------------------------------------------------------------- V. The Game "Willy's Hoard" is a JSW48:JGH engine game. It features 75 rooms, with 256 items to collect. You should visit all of the rooms in the game to be able to complete it successfully. Theoretically the game can be completed without losing a single life (in practice, if you save snapshots on the emulator or are a genius). In the final playtesting I completed it with a toilet-time of 2.51 p.m. "Willy's Hoard" belongs to the sub-genre within the JSW world of games in which you progress along the road and can only go back several rooms at a time; you cannot move freely around all of the playing field. "JSW IV: Willy's New Hat" (probably 1985) is the earliest example of such a game, to the best of my knowledge, and the DrUnKeN mAsTeR!!!'s "Bizarre" (2005) is the latest example. If you reach the end of the playing field and discover that you haven't collected all of the items, you can go back up to "The Canal Bank" and climb the rope - you will jump to "Hoover's Hollow" and be able to search for the missing items from the beginning. An alternative (though not recommended) way of getting back to the previous parts of the game is the WRITETYPER cheat, which can be activated in the room "Henry's Antics (Hoard Minus One)". Poke 35899,0 will give you infinite lives, as usual. I have playtested the game extensively and I believe it to be bug-free. However, if you find any problems, please report them to: jetsetdanny@yahoo.com. ---------------------------------------------------------------------- VI. Novel Contributions "Willy's Hoard" makes, to the best of my knowledge, some novel contributions to the Jet Set Willy designing scene. These are: 1. It is the first JSW48 game to feature 75 fully-designed rooms - 25% more than in the original "Jet Set Willy"! This is possible thanks to the use of J. G. Harston's extension of the classic JSW48 engine. 2. It is the first JSW game to feature a room ("MICROBYTE's Messy Attic") which looks different depending on how many lives you have when you enter it, and which changes when you lose a life inside it. This happens because a part of this room's data is the area in memory where the guardian data for the current room is written (between #8100 and #8147). As a matter of fact, I cannot explain the connection between the guardians in the current room and the number of lives you have - why should the guardian data change if you lose a life? - but that's the way it seems to work. At some point during the designing process I had a version of this room in which you couldn't get out of the room - because of Fire-cells in the top row which made it impossible to exit downwards - until you lost a life (because then the upper part of the room changed and the lethal Fire-cells were not there any longer). I was tempted to apply this as an additional difficulty, but then I decided against it, because my concept of elegance in a JSW game includes its being completable without losing a single life. 3. It is the first JSW game in which in some of the rooms the player sees *real* items which are impossible to collect (most notably in "A Vision of the Hoard"). However, he/she can collect *precisely these items* - the same ones - in other rooms, as he/she progresses through the playing field. Moreover, in some rooms you can only collect a part of the items, and you have to collect the remaining items in other rooms. There are 256 items to collect, but as they progress through the game, the player will normally see between 302 and 305 items in total! (depending on the order in which he/she enters some rooms and collects the items; theoretically, you could see 314 items if you just moved through the game without collecting any items). All of this is possible thanks to applying J. G. Harston's extension to the JSW48 game engine, but /without/ modifying the code that deals with the item table so that it would allow 7-bit room numbers, as J. G. Harston suggests should be done. 4. It is - to the best of my knowledge - the first JSW game in which the player has to pass through walls using ropes (in the rooms "The Drop" and "The Quirky Enclosure"). This follows my idea mentioned in the Yahoo! MM/JSW Club in message # 5790 (http://games.groups.yahoo.com/group/manicminerandjetsetwilly/message/5790). 5. It has an additional screen ("the final screen") after the Game Over screen, which displays a message and waits for the player to press "s". The message contains a slightly modified text from the Game Over screen of the original "Henry's Hoard". I hope that it adds some of the original flavour to the remake. 6. It has the longest title screen tune ever found in a JSW48 game - 202 bytes long (plays for about 59 seconds), entirely different from the in-game tune and with no random sounds. This is more than twice the standard JSW48 title screen tune (99 bytes). The longest title screen tunes so far in a JSW48 game, to the best of my knowledge, can be heard in Andrew Broad's games "We Pretty" (1999) and "Goodnite Luddite" (2002) - they are 172 bytes long and play for about 51 seconds. The play routine first plays the title screen tune proper, then the in-game tune and then the program data following both tunes until it hits an FF. 7. It features some additional graphical elements on the title screen. This was made possible thanks to manual hacking. It follows Philip Bee's idea from his game "Jet-Set Willy (again)" (2005), but is more developed. ---------------------------------------------------------------------- VII. Technical Notes The purpose of this section is to let people interested in the manual hacking of the JSW48 game engine know what I have done exactly, and apply the same tricks (all or some of them), if they wish to, in their own games. Since the current versions of JSWED (2.29 and 2.3.1) allow the user to use a Hex editor, all of the addresses and values given below are hexadecimal. 1. The value of the address #8915 was changed to FF, which allowed JSW48 to use 7-bit room numbers (instead of 6-bit ones). As J. G. Harston explains on his website (see the "Internet Links" section below), the rooms are mapped to the following areas of memory: Room numbers: Memory: 000-063 #C000 - #FFFF 064-127 #8000 - #BFFF 128-192 #4000 - #7FFF 192-255 #0000 - #3FFF As J. G. Harston explains, "rooms 192 to 255 are obviously unusable as they map to memory occupied by ROM. Rooms 128 to 192 map to memory used by the screen and screen buffers." So 64 of the rooms of "Willy's Hoard" are found in the #C000 - #FFFF range (just like in the original "JSW") and the remaining 11 rooms are scattered in the #8000 - #BFFF range (see point 3 below for details). 2. Following J. G. Harston's advice (originally expressed in denary), I changed the value of the addresses: #8405 to 87 #8408 to CA This released the memory used by the start-up password protection (including the password text, password code, sprite and screen data and password data), which allowed me to use this memory for extra code and extra room definitions. However, I did NOT apply J. G. Harston's suggestion of extending the item table so that the code that deals with it would allow 7-bit room numbers. This created the "double items" effect - rooms 0+x appear to have the same items in them as rooms 64+x - which in turn I exploited purposefully by creating rooms in which items are visible, but cannot be collected. The most prominent is "A Vision of the Hoard" (room 118, i.e. 64+54), where you see the 34 items from the room "The Hoard (Ring for Service!)" (room 54), but cannot collect them. 3. I applied the following changes to memory: a) #8148 - #81FF Formerly: Unused Currently: (Partial) room data for room 65 - "MICROBYTE's Messy Attic". The rest of the room data is the result of the program writing the guardian data for the current room (between #8100 and #8147), which causes the effect that the room looks different depending on how many lives you have (even though I cannot explain the connection between the number of lives and the guardians in the current room). Moreover, I kind of consider the addresses #8140 - #8147 to be already the room data. I don't know whether it is justified, but I think that the value of these addresses is not overwritten by the program at any time, at least not until you get to "MICROBYTE's Messy Attic". b) #8431 - #8450 Formerly: UDGs for the title screen. Currently: Code which draws the lower third of the column on the title screen and Willy's sprite on the title screen. At the end of this task, the command at #844C - #844E makes the program jump to the address #96F4 to continue with the creation of the title screen. After this, two unused bytes follow (at #844F and #8450), into which I inserted the letters "MM", which I thought appropriate, since what follows is the word "AIR" left over from "Manic Miner". c) #858B - #85CA Formerly: Security (password) messages. Currently: In-game tune. [The command at #8B4D - #8B4F points to where the in-game tune is located in memory.] d) #85FB - #85FF Formerly: Beginning of the title screen tune. Currently: 5 spare bytes, which I filled with the message "JSW4U" :-) . e) #8600 - #86FF Formerly: Title screen tune (#8600 - #865E), in-game tune (#865F - #869E) and the beginning of the security (password) code (#869F - #86FF). Currently: Room data for room 070 ("Moon Fargo 1?"). f) #8700 - #87C9 Formerly: Security (password) code. Currently: (Superlong) title screen tune. [The command at #88A8 - #88AA points to where the title screen tune is located in memory.] g) #8828 - #8834 Formerly: "Press ENTER to Start" box. Currently: Copies attributes for the "Press ENTER to Start" message on the title screen from #9C00 - #9C1F. This was inspired by what Geoff Eddy did in Geoff Mode. h) #8841 - #8894 Formerly: Code which draws Software Projects logo ("the impossible triangle"). Currently: #8841 - #8843 Makes the program jump to the address #927D, where it continues with the creation of the title screen. #8844 - #8894 Final screen code, which clears the screen, draws the message ("You have failed in your mission...") and the R.I.P. picture below, and then waits for the player to press "s", after which it jumps to the beginning (entry point) of the game, located at #87CA. i) #8D30 - #8D32 Formerly: Makes the program jump to the entry point (beginning) of the game, located at #87CA. Currently: Makes the program jump to the code for the final screen, located at #8844. j) #9237 - #92A3 Formerly: Main arrow loop Currently: #9237 - #927C Most of the text message for the final screen. #927D - #92A0 Code which draws the upper two thirds of the column on the title screen. #92A1 - #92A3 Makes the program jump to the address #8431, where it continues with the creation of the title screen. Since no arrows appear in "Willy's Hoard", I felt confident I could use the memory occupied by the main arrow loop for other purposes. k) #96F4 - #96FF Formerly: Unused reset code. Currently: Code which draws Henry's sprite on the title screen. At the end of this task, the command at #96FD - #96FF makes the program jump to the address #8895 to continue with the creation of the title screen. l) #9700 - #97FF Formerly: Unused reset code. Currently: Room data for room 087 ("Secret Passage - The Lower Part"). m) 9B00 - #9BFF Formerly: Spites and attributes for password entry. Currently: Room data for room 091 ("Secret Passage - The Upper Part"). n) #9C00 - #9C1F Formerly: Assembler source-code. Currently: Colour attributes for the "Press ENTER to Start" message on the title screen. o) #9C20-9C3F Formerly: Assembler source-code. Currently: Part of the text message for the final screen (with one spare byte left at the end). p) #9E00 - #9EFF Formerly: Password codes (data). Currently: Room data for room 094 ("The Hangover Effect"). q) #9F00 - #9FFF Formerly: Unused. Currently: Room data for room 095 ("The Quirky Forest Pathway"). r) #A700 - #A7FF Formerly: Unused. Currently: Room data for room 103 ("The Dilapidated Catwalk Part 4"). s) #A800 - #A8FF Formerly: Unused. Currently: Room data for room 104 ("The Dilapidated Catwalk Part 3"). t) #A900 - #A9FF Formerly: Unused. Currently: Room data for room 105 ("The Dilapidated Catwalk Part 2"). u) #AA00 - #AAFF Formerly: Unused. Currently: Room data for room 106 ("The Terrible Terminal Tunnel"). v) #B600 - #B6FF Formerly: Sprite data ("the flying pig"). Currently: Room data for room 118 ("A Vision of the Hoard"). 4. I also applied the following modifications: a) I modified the value of the addresses: #956A #956B #9570 #9571 to change the colour of Maria (in "Willy's Hoard", the red spiked "door" to Henry's bedroom). b) I modified the value of the addresses: #95BF #95C0 to change the colour of the toilet (in "Willy's Hoard", the white spiked "door" leading out of Henry's home and the dwarves' country). c) I modified the value of the addresses: #8CAB #8CB2 to change the colours of the Game Over screen. d) I changed the value of the address #962D to 47 to change Willy's colour to BRIGHT white. While I was at it, I learned that if Willy's colour is other than white, he doesn't collect the items, and if the colour of the ink of the Fire-cells in any room is the same as Willy's colour, it's multiple-death immediately. e) I changed the value of the address #8A36 to 78, thus moving the time string one character to the left (so that there is a space between the "m" of "a/pm" and the edge of the screen). I was able to do it thanks to the information given by Andrew Broad in the Technical Notes accompanying his game "Goodnite Luddite". f) I modified the value of the addresses #8C1A - #8C30, copying the code from the 1985 version of "Henry's Hoard", to change the "lose a life" special effect. I was able to do it thanks to John Elliott's analysis of the differences between the HH and JSW game engines. g) I hacked the JSW game engine according to the information given by Andrew Broad in the Technical Notes accompanying his game "Jet Set Willy: Lord of the Rings", in the section "Playing as Different Characters", so as to use Offset 237 of each room to specify the sprite page of the character that you play in that particular room (in "Willy's Hoard" you play the same character in every room, but I did it to eliminate the Room-29-Flying-Pig effect). Following Andrew's suggestions, "Willy's Hoard" game engine uses the value in Offset 237 as the sprite page not only for the player, but also for the remaining lives. These changes produced the slight glitch in the player's graphics in Room 33 ["Henry's Back Door (Escape Route)"] which Andrew describes in his notes. Fortunately, it is not a big problem at all. ---------------------------------------------------------------------- VIII. Internet Links The following list of Internet links related to JSW/MM games for ZX Spectrum is by no means comprehensive. It does contain, however, some of the most important ones, which may serve as a good starting point for any further exploration. 1. At this time my Jet Set Willy website can be found at: http://xa.bi/jsw It is kindly hosted by Xabier Vázquez, and it is the "official" homepage of the games: "Willy's New Mansion" (by myself), "Jet Set Willy: The 2005 Megamix" (by myself, Paul Equinox Collins and several other authors), "Jet Set Willy: Mind Control" (by myself and Sendy [Alex Cornhill]), "Jet Set Willy in Paris" (by Hervé Ast) and "Willy on a Transatlantic Cruise" (by Hervé Ast). I intend to keep expanding it so as to include new games by myself and other authors and other JSW-related resources. 2. Dr. Andrew Broad maintains an excellent, regularly updated website devoted to Jet Set Willy / Manic Miner games. Go to: http://www.geocities.com/andrewbroad/spectrum/ for the top-level index of his Spectrum pages, or directly to: http://www.geocities.com/andrewbroad/spectrum/willy for his JSW/MM pages. He also founded a Yahoo! Club for JSW/MM fans, which is a MUST for anyone seriously interested in the subject. Go to: http://games.groups.yahoo.com/group/manicminerandjetsetwilly/ 3. John Elliott's main JSW page can found at: http://www.seasip.demon.co.uk/Jsw/ his JSW Editor at: http://www.seasip.demon.co.uk/Jsw/jswed.html and his analysis of "Henry's Hoard" at: http://www.seasip.demon.co.uk/Jsw/henry.html 4. J. G. Harston's JSW resources can be found at: http://www.mdfsnet.f9.co.uk/Software/JSW/ and the description of his extended JSW48 engine at: http://www.mdfsnet.f9.co.uk/Software/JSW/JGH/ 5. Geoff Eddy's Jet Set Willy page can be found at: http://www.cix.co.uk/~morven/jsw/ the description of Geoff Mode at: http://www.cix.co.uk/~morven/jsw/geoffmode.html and the disassembly of Geoff Mode at: http://www.cix.co.uk/~morven/jsw/geoff_dis.html 6. Richard Hallas's Spectrum page is located at: http://www.hallas.net/Software/spectrum.htm and his document discussing the music in MM and JSW games at: http://www.hallas.net/Software/music.htm 7. A good disassembly of JSW can be found at: http://jetsetwilly.jodi.org/poke.html I can also recommend the following pages: 8. Gawp's JSW pages hosted by Emulators Unlimited contain a lot of interesting information related to JSW and MM remakes. They haven't been updated for some years now, but they're still very much worth visiting: http://jswremakes.emuunlim.com/ 9. Sendy (Alex Cornhill)'s Jet Set Willy page: http://www.therealslimsendy.com/archives/retro_gaming_mmjsw_scene/index.php 10. Igor Makovsky's JSW page (in Russian): http://www.jswilly.narod.ru/ 11. Visa-Valtteri 'jet_visy' Pimiä's JSW page: http://www.uta.fi/~visa.pimia/jswmm/ 12. Nick Aldridge's Spectrum page has been offline for a while, but give it a try just in case it's back: http://www.aldridge98.fsnet.co.uk/specindex.html For general Spectrum resources, including emulators, go to: The World of Spectrum, located at: http://www.worldofspectrum.org or to: The TZX Vault, located at: http://tzxvault.retrogames.com ZX Spectrum Emulator v. 1.03.98.0211 (ZX32) and Warajevo 2.51 can be downloaded from The World of Spectrum (http://www.worldofspectrum.org/emulators.html). Real Spectrum v. 0.97.26 can be downloaded from: http://www.ramsoft.bbk.org/realspec.html ---------------------------------------------------------------------- IX. My Favourite Quotations which may help explain the phenomenon of Jet Set Willy and Manic Miner games: "People in the Eighties did not just buy 'home' computers. They fell in love with them. And first loves tend to stick with you for the rest of your life." Vaggelis Kapartzianis "Whether because of the personalities of the designers, or for some other reason, designing JSW rooms became to be regarded as an artform in itself, a kind of aesthetic challenge to produce interesting results within a limited environment, as well as producing a working, playable and enjoyable game." Geoff Eddy "There are great JSW games which are stylishly minimal but work masterfully with themed clusters of rooms with similar graphics for the blocks. Other games cram an insane amount of challenge into condensed and attractive packages. You see so many different styles, each as individual as the author that penned (moused?) it. This clearly shows that JSW is art with a lot of room for individual expression." Sendy (Alex Cornhill) "What I love about JSW and its subsequent remakes is this spirit of a surreal little platform world, full of colourful and bizarre monsters ducking and diving everywhere." Soa1000 (Edward Martland) "Manic Miner and Jet Set Willy have exquisite game-mechanics. There's an elegant simplicity to the controls (left, right and jump). You know exactly how far you can walk to the edge of a platform without falling off, and the pixel-based collision-detection for guardians means you get to weave your way through them at close range. "The ability to edit is what keeps the MM/JSW scene moving forwards. Because each room has its own block-graphics and 32x16 character-squares, the possibilities for new rooms are limited only by our imaginations. "What makes these games particularly attractive to me is that there are many quirks in the game-engines, such as the way that if you jump through an isolated wall-block at the correct angle, you go slap through the floor below! I love discovering these quirky features, finding unintended loopholes in games, and deliberately exploiting them in my own games." Dr. Andrew Broad "Everyone needs a little escapism, and that's what JSW is all about. I'm slightly alarmed by the seriousness with which some people seem to treat the subject, but at least JSW is completely harmless entertainment, and doesn't pervert the minds of the younger generation with knives, machine guns and death." Richard G. Hallas "Collecting items isn't the most productive of pastimes, but it sure is fun!" Philip Bee "JSW isn't just a game - it's a relationship! One that stays with you from the very first game." Adam Britton ---------------------------------------------------------------------- X. The Legal Bit I am in an awkward situation, because a large portion of this game comes from a commercially-released game ("Henry's Hoard") to which I have no rights whatsoever. It is a fact that the authors of that game (Martyn Brown and Andy Bigos of Alternative Software Systems Ltd, who should obviously be recognised as co-authors of "Willy's Hoard") evidently violated Matthew Smith's rights by copying large portions of the original JSW game engine, but this provides no justification for me. My justification is - and I really look at it from an emotional, not legal point of view - that I have used M. Brown and A. Bigos's material for purely non-commercial purposes, to contribute to a passion which links many people from various countries, and I did it out of admiration for and fondness of the rooms they created. So I hope that if "Willy's Hoard" ever falls into their hands (and I would be the first one to send it to them, if I knew where they were), they will appreciate my initiative of adapting and re-using their product, and rather than fret over legal issues, they will be happy that "The Hoard" lives on and can be enjoyed by new people in this new era of emulated ZX Spectrum gaming :-) . Even though I certainly have no legal right to it, I am also tempted to declare that "Willy's Hoard" is FREEWARE, that it can be enjoyed, shared, copied and distributed freely. Do so, if you like, but don't EVER sell it or any part of it as a single unit or as part of a package. Put it on your own website or redistribute it otherwise, PROVIDED that no money is charged AND that you acknowledge Martyn Brown and Andy Bigos's co-authorship of the game. And please, include this document (and other parts of the .zip file, if possible - but it is not essential) with all copies of the game. Also remember that some elements of the game may be copyright of other authors. This is the case of the tunes, for example - the second part of the title screen tune is the copyright of Broadsoft (2004). Please refer to the Acknowledgements, Thanks and Credits" section above for details. As far as my "own" rooms and sprite graphics are concerned - I will be quite happy if you use them in your own games, or while creating games for other computers. I will appreciate it, however, if you give me credit for whatever might be my humble contribution, and if you let me know about it. ---------------------------------------------------------------------- XI. Final Remarks This text file should be accompanied in the .zip file by: - The game file in .tap format. - A text-based map of "Willy's Hoard" in .pdf format. - A picture-based map of "Willy's Hoard" in .png format. - "The Quirky Spoiler" - a document in .png format which shows Willy's proper positioning for all of the difficult jumps throughout the game, and gives some other hints as to how to deal with challenges based on the so-called quirky features (QF) of the game engine. This document should be sufficient even for people entirely unfamiliar with QF to negotiate their way to the completion of the game. The .zip file contains low-quality versions of the picture-based map and "The Quirky Spoiler". If you have a good Internet connection, please download high-quality versions from my JSW website (http://xa.bi/jsw), from "Willy's Hoard" main page. If you get stuck and frustrated and begin to think that after all it is impossible to complete the game, or pass a certain room, or collect an item without losing a life, send me note at: jetsetdanny@yahoo.com and you will soon receive a reply with the solution :-) . Taking into account my experiences up to date and the number of people who have actually written to me, I can promise that I will respond to EVERYONE. It will be very rewarding for me to know that you have played "Willy's Hoard", so please, do let me know about it - even without any specific comments :-) . The biggest gratification and encouragement for anyone designing free games is to know that someone else has played them! :-) So play, enjoy and share! :-) Daniel Gromann, 16 July 2006