========================================================== | Jet Set Emily: Baby on the Go | | by Steve Worek (Doctor Who) | | Final Edition, December 2006 | ========================================================== "Jet Set Emily: Baby on the Go" is a redesign of Matthew Smith's classic ZX Spectrum game "Jet Set Willy". 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 it on an real Spectrum if you manage to transfer it to tape. ---------------------------------------------------------------------- I. History "Jet Set Emily" was first released in 2002 (please see the file "Emily - Original.txt" for details). The Special Edition, created in 2004, was released by Steve Worek in early 2005. It featured significantly-developed graphics, but it contained (contrary to the original edition) critical bugs which made it impossible to complete. On 30 March 2006 Steve Worek announced in the Yahoo! Jet Set Willy / Manic Miner Club that he would not continue his work on the game, and he declared it abandonware (message # 5769; Club message number "#" can be found at: http://games.groups.yahoo.com/group/manicminerandjetsetwilly/message/# , hence: http://games.groups.yahoo.com/group/manicminerandjetsetwilly/message/5769). On 31 March 2006 Daniel Gromann volunteered to finish "JSE" and make it fully completable (message # 5770). On 2 April 2006 Andrew Broad offered a number of important comments concerning possible improvements (message # 5771). On 3 April 2006 Steve Worek approved of Daniel's idea of finishing the game, saying: "You are welcome to edit 'Jet Set Emily' to whatever means you feel necessary" (message # 5777). In the following months Daniel worked on the game, not only eliminating bugs, but also introducing new rooms and various other improvements. The final version of the game was approved by Steve Worek and released in December 2006. ---------------------------------------------------------------------- II. Acknowledgements and Credits The Final Edition of "Jet Set Emily" was created using John Elliott's Jet Set Willy games editor JSWED v. 2.2.9. A significant part of Andrew Broad's ideas expressed in the Club message # 5771 were incorporated into the game. J. G. Harston's extension of the JSW game engine, which allows to have more than the standard 64 rooms, was applied (http://mdfs.net/Software/JSW/JGH/). Thanks to this the total number of rooms was increased to 71. 9 new rooms were added to the game, including modified versions of 2 rooms designed by Steve Worek and included in earlier versions of the game, and 7 rooms designed by Zoran Miladinov (modified by Daniel Gromann). Steve Worek's additional rooms are: "Building Castles in the Sky" (058) and "Loving Every JSW Room Ever Made!" (107 - formerly called "Shiggity Shiggity Shiggity Shwa"). Zoran Miladinov's rooms are: "The Lost Expedition" (009), "The Purple Cave" (010), "The Lonely Green Hill" (029), "The Art of Survival" (031), "Follow Your Brain, not Heart!" (034), "Thunderstruck" (056) and "The Jumping Hall" (087). John Elliott's teleporter extension was implemented in the game (http://www.seasip.demon.co.uk/Jsw/jswtel.html). It was modified manually, thanks to the information given by Andrew Broad in the Technical Notes accompanying his game "Jet Set Willy: The Lord of the Rings". One new sprite by Zoran Miladinov (e.g.: the red guardian in "The Lonely Green Hill") and one new sprite by Adam Britton (e.g.: the red guardian in "Follow Your Brain, not Heart!") were added to the game. Richard Hallas's document "A Miner Triad" was a valuable aid in restructuring the music (http://www.hallas.net/Software/music.htm). ---------------------------------------------------------------------- III. Notable Features The final version of "Jet Set Emily: Baby on the Go" is the first game based on the JSW48 game engine to feature the ATTRACT MODE. It comes after the title-screen tune if you don't press any key. During the presentation the player sees 60 rooms (including 2 which are seen twice) and has split-second glimpses of 3 other rooms (you can have a good look at them if you pause the emulator). Willy does not get killed at any time, so you see the rooms in all their splendour. The game makes a very good use of the 48K memory. It is the second new, gamma-released JSW48 game to feature more than 64 rooms. In fact, it has 71 FULLY-DESIGNED ROOMS and a logical, easy-to-map layout. In addition to the increased number of rooms, the game also features teleportation and a manually-hacked title screen. The game has one instance of the "double-items effect" - in the opening room ("Emily's Bedroom" - 043) you see two items which are impossible to collect. However, you collect *precisely these items* - the same ones - in the room "Loving Every JSW Room Ever Made!" (107). This is possible thanks to the application of J. G. Harston's extension to the JSW48 game engine /without/ modifying the code that deals with the item table so that it would allow 7-bit room numbers. In several rooms the player has to make jumps / solve puzzles based on the so-called quirky features (QF) of the game engine. There are 256 items to collect. All rooms need to be visited in order to complete the game successfully. One room is only accessible via teleportation. The game can be completed without losing a single life. During the final playtesting it was finished with a toilet-time of 8.34 am. ---------------------------------------------------------------------- IV. Technical Notes Manual hacking of the JSW48 game engine can be done easily in JSWED's Hex editor (in both current versions of JSWED: 2.2.9 and 2.3.1). All of the addresses and values given below are hexadecimal. In the final version of "Jet Set Emily" the game engine has some modifications typical of the Softricks JSW Editor Mark II (used by Steve Worek in creating the original edition of the game). John Elliott explains the standard changes made by the Softricks editor on his website (http://www.seasip.demon.co.uk/Jsw/softricks.html) - parts of his explanations are used below. "Jet Set Emily" has some of these modifications, while others have been eliminated or their code has been moved elsewhere (see details below). J. G. Harston's extension to the JSW48 game engine (http://mdfs.net/Software/JSW/JGH/) allowed it to use 7-bit room numbers instead of 6-bit ones. In general, the rooms are mapped to the following areas of memory: rooms 000-063 - #C000 - #FFFF ; rooms 064-127 - #8000 - #BFFF. In "Jet Set Emily" 62 rooms (000-061) are found in the #C000 - #FDFF range (like in the original "JSW"). The memory range #FE00 - #FFFF, normally occupied by rooms 062 and 063, is occupied by the item tables moved by the Softricks editor from #A400 - #A5FF. The remaining 9 rooms (070, 087, 091, 094, 104, 105, 106, 107, 115) are scattered in the #8600 - #B3FF range (see below for details). J. G. Harston's suggestion of extending the item table so that the code that deals with it would allow 7-bit room numbers was /not/ applied. This created the "double items" effect (rooms 0+x appear to have the same items in them as rooms 64+x) visible in "Emily's Bedroom" (043) [two items impossible to collect] and "Loving Every JSW Room Ever Made!" (107 = 64+43) [you can collect the above two items there]. The following modifications were applied in the final edition of "Jet Set Emily": 1) #8141 - #81A7 Formerly: Unused. Currently: Part of the code which draws additional elements on the title screen. The command at #8188 - #818A makes the program jump to #96F4, where it continues with the creation of the title screen. The addresses #818B - #81A7 contain the title-screen text "JET SET EMILY: BABY ON THE GO". 2) #81A8 - #81FF Formerly: Unused. Currently: Teleporter extension, defining 3 teleporters (with 1 spare byte at the end). 3) #8405 and #8408 (values changed to "87" and "CA", respectively) The memory used by the start-up password protection was released (including the password text, password code, sprite and screen data and password data), which allowed the use of this memory for extra code and extra room definitions. 4) #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.] 5) #85FB - #85FF Formerly: Beginning of the title screen tune. Currently: 5 spare bytes, filled with the message "JSW4U" :-) . 6) #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 ("The Driveway at Dusk"). 7) #8700 - #8763 Formerly: Security (password) code. Currently: Title screen tune. [The command at #88A8 - #88AA points to where the title screen tune is located in memory]. 8) #8764 - #87B1 Formerly: Security (password) code. Currently: The code to provide attract mode. The code comes from the Softricks editor. Normally it is placed between #979B and #97E8. 9) #87B2 - #87C9 Formerly: Security (password) code. Currently: Title-screen message text "* Press ENTER to Start *". 10) #8801 (value changed from "A4" to "FE") The item table moves from #A400 to #FE00. [This is a standard Softricks editor modification] 11) #8828 - #8840 Formerly: "Press ENTER to Start" box (#8828 - #8834) and the code to print the "Press ENTER to Start" message (#8835 - #8840). Currently: Part of the code which draws additional elements on the title screen. The command at #883D - #883F makes the program jump to #8141, where it continues with the creation of the title screen. 12) #88F3 (value changed from "E0" to "FF") The length of the scrolling message is increased so it includes the following "Items collected" message as well. This is part of the attract mode and a standard Softricks editor modification. 13) #88F9 - #88FB After the message has finished scrolling, jump to the attract mode rather than restart the title screen. This is a standard Softricks editor modification. 14) #8915 (value changed from "F6" to "EE") J. G. Harston's extension allowing the game engine to use 7-bit room numbers instead of 6-bit ones. 15) #892E - #892F The instruction RES 7,L has been replaced with two NOPs. This causes the guardian table to be treated as 8 pages rather than 4, doubling the number of guardians in the game. 16) #8A36 (value changed from "79" to "78") The time string was moved one character to the left (so that there is a space between the "m" of "a/pm" and the edge of the screen). It was done thanks to the information given by Andrew Broad in the Technical Notes accompanying his game "Goodnite Luddite". 17) #8F1B (value changed from "E7" to "EF") The item table is now at #FE00; the item count is at #83FF [a standard Softricks editor modification]. 18) #956A - #956B and #9570 - #9571 The colour of Maria was changed to BRIGHT green. 19) #95B3 (value changed from "A6" to "9F") The page for the toilet sprite is now #9F, not #A6 [a standard Softricks editor modification]. 20) #95BF and #95C0 The colour of the toilet (the toy box) was changed to BRIGHT yellow. 21) #9657 (value changed from "1D" to "30") The flying-pig sprite is Willy's sprite in room 048 rather than 029. 22) #96F4 - #96FF Formerly: Unused reset code [in Softricks mode replaced by what appears to be random data]. Currently: The rest of the code which draws additional elements on the title screen. At the end of this task, the command at #96FD - #96FF makes the program jump to the address #8841 to continue with the creation of the title screen. 23) #9700 - #97FF Formerly: Unused reset code [in the standard Softricks mode, #979B - #97E8 contains the code to provide attract mode]. Currently: Room data for room 087 ("The Jumping Hall"). 24) #9B00 - #9BFF Formerly: Spites and attributes for password entry. Currently: Room data for room 091 ("A Real Platform Game"). 25) #9E00 - #9EFF Formerly: Password codes (data). Currently: Room data for room 094 ("The Attic Seems out of Place"). 26) #9F00 - #9FFF Formerly: Unused. Currently: Sprite page for the toilet sprite and another sprite. 27) #A400 - #A5FF Formerly: Item pages [in the original JSW]. Currently: Guardian pages. [This is a standard Softricks editor modification] 28) #A600 - #A6FF Formerly: Toilet sprite page [in the original JSW, followed by some other data]. Currently: Guardian pages. [This is a standard Softricks editor modification] 29) #A700 - #A7FF Formerly: Unused. Currently: Guardian pages. [This is a standard Softricks editor modification]. 30) #A800 - #A8FF Formerly: Unused. Currently: Room data for room 104 ("A Nice Chat in My Back Room"). 31) #A900 - #A9FF Formerly: Unused. Currently: Room data for room 105 ("A Secluded Back Hallway"). 32) #AA00 - #AAFF Formerly: Unused. Currently: Room data for room 106 ("the dining room has grown dim"). 33) #AB00 - #ABFF Formerly: Sprite page. Currently: Room data for room 107 ("Loving Every JSW Room Ever Made!"). 34) #B300 - #B3FF Formerly: Sprite page. Currently: Room data for room 115 ("Nomen Scooby"). 35) ##FE00 - #FFFF Formerly: Room data for rooms 062 and 063 [in the standard JSW48 game engine]. Currently: Item tables. [This is a standard Softricks editor modification] ---------------------------------------------------------------------- V. Package Contents The ZIP file in which this file is included should contain: - The file "Jet Set Emily 2006 (Final Edition).tap" - this is the final version of the game. - The file "Former Editions.zip", containing "Jet Set Emily 2002 (Original Edition).tap" and "Jet Set Emily 2004 (Special Edition).tap" - these are the previous editions of the game, designed entirely by Steve Worek, converted to the TAP format (in case of the former) and bug-fixed (in case of the latter). Both versions of the game can be completed without losing a single life. - The file "Evolution.zip", containing several Z80, ZXS and TAP format files - these are the earlier versions of the game, depicting Steve Worek's progress on the project. - The file "Jet Set Emily - Original.txt" - Steve Worek's Readme file accompanying the original and special editions (the file has been renamed, but is otherwise unchanged). - The file "Jet Set Emily Map.pdf" - this is a text-based map of the final version of the game in PDF format. - The file "Jet Set Emily - The Quirky Spoiler LQ" - a document in PNG format which shows Willy's proper positioning for many difficult jumps throughout the game, especially the ones which involve the so-called quirky features (QF) of the game engine. This document should help people unfamiliar with QF to negotiate their way to the completion of the game. The ZIP file contains a lower-quality version of "The Quirky Spoiler". You can download a higher-quality version from "Jet Set Emily"'s homepage (see below). - The file "Unused Ad.zip" - this is an unused piece of advertisement for the Special Edition of the game, created by Steve Worek. ---------------------------------------------------------------------- VI. Final Remarks At the time of release of the final edition of "Jet Set Emily: Baby on the Go" Steve Worek can be reached at: knawdas@hotmail.com , and Daniel Gromann can be reached at: jetsetdanny@yahoo.com . "Jet Set Emily"'s homepage can be found at http://xa.bi/jsw . It is also a homepage of a number of other fine games by various authors. If you get into trouble, complete solutions of all versions of the game (2002 - Original Edition, 2004 - Special Edition and 2006 - Final Edition) can be downloaded from there, or from The RZX Archive (www.rzxarchive.co.uk). You will need an emulator capable of handling RZX format files in order to be able to watch them. You can also e-mail either of us, and you will soon receive a reply with the solution :-) . As a matter of fact, it will be very rewarding for us to know that you have played "Jet Set Emily", so please, do let us 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! :-) December 2006