Jump to content


Photo

Undocumented(?) Quirky Feature...


  • Please log in to reply
9 replies to this topic

#1 IRF

IRF

    Advanced Member

  • Contributor
  • 4,307 posts

Posted 19 January 2017 - 01:07 AM

I don't think this has been explicitly mentioned on Andrew Broad's list of quirky features, or in his Advanced JSW/MM Trainer documentation...

 

In JSW, Willy cannot gain access to*, by jumping**, a platform that is located in cell-row 2 of a room.  This is because whenever he jumps, he is raised up by two and a half cell-rows, so either he doesn't achieve a sufficient height if he jumps from a platform in cell-row 5, or else he breaches the top of the room and moves up into the next room if he jumps from a platform in cell-row 4.

 

(*In order to be able to stand on it.  **Of course, he can access such a platform by walking up a Ramp or climbing up a Rope, or dropping down onto it from the room above.)

 

This could give rise to interesting Promised Land/Forbidden Holy Ground effects. e.g. if such a platform leads to an otherwise-inaccessible sideways exit from the top corner of a room, and the room above has a solid floor (so there's no possibility of falling down onto the high-level platform).

 

However, it might be possible to access such a platform if the Superjump feature could be properly configured (over and above the fix which John Elliott devised to stop Willy from falling through floors once he has reached the natural end of his jump cycle, but which still allows him to fall through standonable cells during the early part of his descent from the apex of his jump).


Edited by IRF, 27 January 2017 - 03:02 PM.


#2 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 2,164 posts

Posted 27 January 2017 - 08:55 AM

It's an interesting observation, Ian, and indeed food for thought for future projects :) . Thanks!


  • IRF likes this

#3 IRF

IRF

    Advanced Member

  • Contributor
  • 4,307 posts

Posted 27 January 2017 - 10:29 AM

However, it might be possible to access such a platform if the Superjump feature could be properly configured (over and above the fix which John Elliott devised to stop Willy from falling through floors once he has reached the natural end of his jump cycle, but which still allows him to fall through standonable cells during the early part of his descent from the apex of his jump).

 

I've had an idea which might facilitate the above; I'll do a bit of experimentation when I can find the time...



#4 Metalmickey

Metalmickey

    Advanced Member

  • Contributor
  • 276 posts

Posted 18 February 2017 - 05:35 PM

Of course another well known but undocumented quirk, anomaly, or bug call it what you will is that when Willy does a moving jump and exits to the room above his trajectory is halted changing his jump to a standing one, in addition his jump height is restricted regardless of how close to the top of the screen below he was .. i dare say there's a technical reason for this, i'll leave it to the experts to work it out... :huh:



#5 Spider

Spider

    DEC (HL)

  • Administrator
  • 3,994 posts

Posted 18 February 2017 - 06:21 PM

I thought that was the XOR to reset the airborne indicator (see routine at 38064 in disassembly "Move to room above") specifically 38090, but if you NOP that out you end up with an IDS. :) I've not looked further at this yet...


Changing order to chaos since 1984

#6 IRF

IRF

    Advanced Member

  • Contributor
  • 4,307 posts

Posted 18 February 2017 - 06:55 PM

The IDS occurs because the A register is retaining its previous value, which happens to be Willy's y-coordinate (loaded up in the previous instructions at 38085-89). So the program thinks that Willy has just fallen a height of 104 room-cells!

Try also NOPping out the next three bytes as well (i.e. 38090-93 inclusive), and it should work fine, with the jump carrying on where it left off?

Edited by IRF, 18 February 2017 - 06:57 PM.


#7 Spider

Spider

    DEC (HL)

  • Administrator
  • 3,994 posts

Posted 18 February 2017 - 09:28 PM

That works. :) I did wonder why it was like that then realised the 'continued jump effect' can easily cause an IDS, a good example is jumping up into Top Landing, its easy to get caught out by the guardian.

 

Works well for "To the Kitchens..." / "First Landing" though. :D


Changing order to chaos since 1984

#8 Metalmickey

Metalmickey

    Advanced Member

  • Contributor
  • 276 posts

Posted 19 February 2017 - 09:47 AM

I'm quite surprised at how simple it was to 'fix' this one .. i think a thorough playtest is in order to see what the implications are throughout the rest of the game .. might incorporate this into my next release .. 

 

EDIT

 

This causes a few problems entering a room via rope such as the Cold Store to Swimming Pool for example.. see RZX...

 

it's a bit quick

Attached Files


Edited by Metalmickey, 19 February 2017 - 09:59 AM.


#9 IRF

IRF

    Advanced Member

  • Contributor
  • 4,307 posts

Posted 22 February 2017 - 11:31 PM

I'm quite surprised at how simple it was to 'fix' this one .. i think a thorough playtest is in order to see what the implications are throughout the rest of the game .. might incorporate this into my next release ..

EDIT

This causes a few problems entering a room via rope such as the Cold Store to Swimming Pool for example.. see RZX...

it's a bit quick


I think what happened there is that the rope must have caught Willy (just prior to the start of your recording) at a point in his jump when he wasn't cell-row aligned. EDIT: I think it is more likely to occur if Willy is in the descending phase of his jump (i.e. past the apex). Then when he emerges at the top of the rope, he carries on with his jump (because of the POKES we came up with above), and so he ends up 'out-of-step' with the platforms!

You can also have another effect if Willy falls a dangerously long distance, which he survives because he is caught by a rope. (e.g. drop out of The Orangery). If Willy then climbs up to the top of the rope into the room above, without having dismounted and remounted the rope in the intervening period, then as soon as he appears in the room above he is immediately caught in an Infinite Death Scenario (EDIT: again, this only applies in the context of the POKES discussed above being in place)! This occurs because the Airborne Status Indicator isn't reset to zero when Willy catches onto a rope, but rather it is reset when he later jumps off, or falls off the end of, the rope.

(You can see a similar effect by getting Willy to fall a long distance onto a rope, and then teleport off the rope using WRITETYPER. Willy then resumes his fall without the Airborne counter being reset, and so he can be killed when he lands on a platform, even if it is only a short distance beneath him in the room that he has teleported into! Likewise, if Willy is caught by a rope mid-jump and then WRITETYPER's back off it, he resumes his jump and he often ends up falling through solid platforms, because he jump is out of sync with his surroundings!)


Edited by IRF, 24 July 2017 - 01:10 PM.


#10 IRF

IRF

    Advanced Member

  • Contributor
  • 4,307 posts

Posted 23 February 2017 - 12:21 AM

Meanwhile, if you NOP out 38115 to 38119 inclusive, then Willy can no longer fall a greater distance than usual if the descent spans two vertically-adjacent rooms.


Edited by IRF, 07 January 2019 - 05:39 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users