Jump to content
IGNORED

Jet Set Willy


Asmusr

Recommended Posts

When I discovered that the data structures for Jet Set Willy were accurately described, I just had to make a port for the TI-99/4A. So here it is: the first fully functional beta version:
post-35226-0-37044500-1431025038_thumb.pngpost-35226-0-79409100-1431025039_thumb.pngpost-35226-0-70697100-1431025040_thumb.pngpost-35226-0-54583400-1431025041_thumb.png
You can move Willy using Joystick 1 or keyboard (S,D,Space), Pause using P, and toggle music using M (a bit flaky this one).
I have used the ZX Spectrum data files to generate the rooms and guardian sprites, so these should be an accurate match of the original, but the movement of Willy's is coded from scratch. This means there are probably still many glitches that makes it difficult to complete the game, which was also a problem with other conversions back in the days. The ZX Spectrum Willy sprite is moving 2 pixels at a time. I decided to interpolate it to obtain a smoother movement, but you should still only be able to stop at the same pixels boundaries as on the Spectrum.
The TI is actually much better suited for this game than the Spectrum because of the sprites. The Spectrum version spent a lot of time copying off-screen buffer around to prevent flickering. On the TI the only real technical challenge was with the rope, which consists of 32 individual dots. I thought about doing it with sprites, but ended up redefining character patterns instead. The Spectrum version is only updating the screen every 4th frame, so I had plenty of time to do this even though it involved copying quite a lot of bytes to the VDP. [Edit: to get the rope right I had to convert some Z80 code to TMS9900].
Realizing that I'm very bad at playing the game (my high score is around 12 items!), the beta has a cheat mode activated from the onset: you can change rooms using Ctrl-> or Ctrl-<. This should, at least, make it possible to try out most screens to see if they are playable.
With more memory both sound and graphics could have been improved, but my goal has been to keep it within one set of E/A#5 files. The program has already grown too big for E/A#3 loading, so I have to use a special loader to convert the object file into E/A#5 to be able to take advantage of the last bytes (from >2000 to >2700). So all there's really left now is room for a few bug fixes.
Enjoy,

Rasmus

 

Edit: This version of the game has a room not featured in the original called "April Showers" that first appeared in Issue 13 (April 1985) of Your Spectrum, as an April Fool joke.

 

JSW-beta-1.zip

JSW.dsk

source-final-bugfix-release.zip

jsw.rpk

jsw3.bin

post-35226-0-50935900-1434836642_thumb.jpg

  • Like 14
Link to comment
Share on other sites

Do you EVER sleep? For an early Beta, this is fantastic!

 

Everything seems spot-on so far, but jumping THROUGH stairways seems a bit more hit and miss than on the original. I can get through in one jump every time on the Spectrum but in your version, I end up climbing back up the stairs, more often than not.

 

I *used* to be able to successfully navigate my way across "The Banyan Tree" without losing a life and when I master it on your port, I'll let you know. I just need to remember the timing.

 

The character arc when jumping seems just right. My timing didn't need adjusting like it has done on previous ports for other micros.

 

Thanks for doing this. You're an absolute STAR and you're quickly making your way through a list of my all-time favourite ZX Spectrum games.

 

Jetpac next, please?

 

I'll keep playing and let you know if I spot any other issues but for now, you pretty much seem to have nailed it from day one!

  • Like 1
Link to comment
Share on other sites

I don't even know why jumping through stairs work - perhaps because I'm not checking characters diagonally down:

 

W /

W/

/*

 

* This is not checked.

 

"The Banyan Tree" is a horribly difficult room. I think there are some differences from the Spectrum that can't account for, but I learned from watching YouTube video the other night that you can jump up around the room.
Link to comment
Share on other sites

Hehe. Getting This far in The Banyan Tree was a feat of muscle and timing memory.

 

post-25357-0-26431300-1431032773_thumb.jpg

 

Do you have access to a ZX Spectrum emulator? There are free ones available for most platforms. The original JSW is available as a .tap/.tzx in many places online.

 

Jumping through stairs is usually achieved by jumping UP the stairway while moving in the same direction as the upward incline.

 

Jumping at the same time as climbing a stairway and continuing to push in the same direction allows the player character to pass through the stairs as if they no longer existed in the Spectrum version.

 

In the ZX version, I can do this first time, every time. In its current Ti development stage, I find myself going back upstairs rather than passing through them except on odd occasions, where I can pass through them. Frustrating but by no means game-breaking.

  • Like 1
Link to comment
Share on other sites

Wow this is awesome. I can give you my manic miner files if you're interested. I've done the graphics and added speech. It all runs of the interrupt as there's really not much for the TI to do. I never finished it.

Link to comment
Share on other sites

"The Banyan Tree" is a horribly difficult room.

Because of my difficulties passing through stairs, The Banyan Tree screen seems like a walk in the park compared to The Chapel. Trying to jump into the passageway below the stairs currently seems impossible.

Link to comment
Share on other sites

got some weird random sounds on the title screen on both the f18ananopeb and peb 4/a.. with the music in the background

 

What did you use for loading the E/A#5 file? I get the same issue using DM2K, but there are no problems when I use E/A or XB27. Apparently DM2K cannot handle a file this size.

Link to comment
Share on other sites

Do you have access to a ZX Spectrum emulator? There are free ones available for most platforms. The original JSW is available as a .tap/.tzx in many places online.

 

Jumping through stairs is usually achieved by jumping UP the stairway while moving in the same direction as the upward incline.

 

Jumping at the same time as climbing a stairway and continuing to push in the same direction allows the player character to pass through the stairs as if they no longer existed in the Spectrum version.

 

In the ZX version, I can do this first time, every time. In its current Ti development stage, I find myself going back upstairs rather than passing through them except on odd occasions, where I can pass through them. Frustrating but by no means game-breaking.

 

Thanks for the testing, this is just the kind of input I need to finish the game.

 

I have used a Spectrum emulator called Zero a lot for testing various scenarios. Especially the ability to move against the conveyors has given me problems, but I think I've got that one right.

 

Regarding the ramps, every once in a while you also continue up the ramp when jumping on the Spectrum, but if we consider this an exception I could implement that on the TI you always jump through ramps when jumping in the same direction as the ramp. Jumping straight up you should always land on the ramp, and jumping opposite will kill you when you land so it doesn't really matter. Do you think that would work?

Link to comment
Share on other sites

 

What did you use for loading the E/A#5 file? I get the same issue using DM2K, but there are no problems when I use E/A or XB27. Apparently DM2K cannot handle a file this size.

 

likely dm2k. trying with ea cart, that works much better :)

 

found another bug, died in the room with the pocket knife probably over the hole and respawned here

IMG_20150508_095230.jpgIMG_20150508_095238.jpg

Edited by arcadeshopper
Link to comment
Share on other sites

I have used a Spectrum emulator called Zero a lot for testing various scenarios. Especially the ability to move against the conveyors has given me problems, but I think I've got that one right.

 

Regarding the ramps, every once in a while you also continue up the ramp when jumping on the Spectrum, but if we consider this an exception I could implement that on the TI you always jump through ramps when jumping in the same direction as the ramp. Jumping straight up you should always land on the ramp, and jumping opposite will kill you when you land so it doesn't really matter. Do you think that would work?

Fuse is a good, open-source emulator and is available for most platforms (no pun intended). It can be found here: http://fuse-emulator.sourceforge.net/#Download

 

Regarding the jumping. I think jumping against the ramp and passing through would work as long as the user keeps the control pressed throughout the jump (this seems to be the opposite of the way it's coded just now). As in "The Chapel", there are times when you need to jump THROUGH ramps without touching (or being ON) them at all. Jumping away from stairs is often used to gain access to higher platforms and is used in a number of screens (as in "To the Kitchens --- Main Stairway", to gain access to the upper corridor of "The Ballroom West").

 

Also, jumping away from stairs shouldn't always result in death. Particularly if you're low on the ramp. Try jumping from the ramp on the right-edge of the Kitchen/Main Stairway screen into the screen to its right - Ballroom West - and (as you would expect) you'll land on the downward ramp in The Ballroom.

 

Jumping from here, with Willy on the downward ramp and almost at the edge of The Ballroom West will result in the character landing on the floor [but still alive], just outside of the vertical path of the first nasty on the left of this screen.

 

Jumping from the extreme edge of The Ballroom West ramp will result in Willy's death as he hits the floor. The falling height for deaths seems about right as it is just now.

 

If the Ti-99 had programmers like Rasmus back in the 80s, maybe the Ti would've been the GOTO micro for gaming. Your conversions are incredible!

 

PS: Could we have O and P as optional left and right movement keys, AS WELL as S and D?

Edited by UKRetrogamer
Link to comment
Share on other sites

also, i left it on that room a while while I was doing some work and it locked up after about 5min beeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

I've not experienced this problem. I left mine on, in the Ballroom West while I typed my last response and it's still going now. I can continue playing from here.

 

Can you remember which screen you were in?

Link to comment
Share on other sites

found another bug, died in the room with the pocket knife probably over the hole and respawned here

IMG_20150508_095230.jpgIMG_20150508_095238.jpg

I think it's likely glitches like this will be found in many locations because of the nature of the way the game's screens are interconnected. If you can replicate this, I'm sure Rasmus can fix it though.

Link to comment
Share on other sites

I've not experienced this problem. I left mine on, in the Ballroom West while I typed my last response and it's still going now. I can continue playing from here.

 

Can you remember which screen you were in?

 

yes i posted the picture in the previous message.. i left that sitting there

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...