Jump to content
Jet Set Willy & Manic Miner Community

Undocumented Quirky Features of JSW2


IRF

Recommended Posts

I'd seen the 'single step jumping' effect previously but not really considered it to any great degree. I just tried the Amstrad version of JSW2 out of interest to see this 'effect' (assuming it was there!) and it does not do that :huh: he jumps as you'd expect in that he turns around and jumps fully. Same with JSW1 on that platform.

 

Sorry Andy, was the above comment in relation to the conveyor behaviour (at the left-hand of the conveyor) in JSW2? I appreciate I've been discussing several different phenomena at once, so it's difficult to keep track!

 

(P.S. The reference to "that platform" didn't help with my confusion - I presume you're referring to Amstrad as the platform as in hardware, rather than a platform as in standonable room cell!? :-p)

Link to comment
Share on other sites

I think a 'test room' of various block types positioned in both variants would be a way forward to really 'compare' the differences easily ? :unsure: :)
 
I'm aware of the cell differences, well kind of differences, I downloaded both the Linux and Windows versions to check for any documentation changes or differences (accidental differences or updates between .pdfs maybe) but they are the same:
 

JSW2 supports 9 elements rather than the four in JSW48. These are:

Link to comment
Share on other sites

Sorry Andy, was the above comment in relation to the conveyor behaviour (at the left-hand of the conveyor) in JSW2? I appreciate I've been discussing several different phenomena at once, so it's difficult to keep track!

 

(P.S. The reference to "that platform" didn't help with my confusion - I presume you're referring to Amstrad as the platform as in hardware, rather than a platform as in standonable room cell!? :-p)

Yes sorry by "Platform" or "Variant" I mean "Machine Type" sorry for any confusion! :D

 

I think I'll try to just say AMS or CPC for the Amstrad versions where appropriate, otherwise best to assume I'm referring to the Spectrum version. :thumbsup:

 

Incidentally a quick cursory look at the BBC Micro versions of JSW1 and JSW2 and he jumps as per the Spectrum JSW1 version, as in a 'full jump'

Link to comment
Share on other sites

Looking at Andrew Broad's list of quirky features for JSW2, hitting an overhead Earth block during a jump also alters Willy's Airborne Status Indicator in a different way as well, meaning that he can't fall as far afterwards as he can in JSW1 - although I haven't explored this behaviour yet.

 

I've played around with this now - in JSW2, in addition to Willy not being able to fall as far* after hitting his head on an overhead Earth block during a jump, he also progresses forwards by one animation-frame during the first two time-frames of descent, but then he stops moving horizontally for the rest of his descent.  Whereas in JSW1, his horizontal momentum is completely curtailed when he bangs his head on an overhead Earth block.

 

(*He can only drop to a level that is three cell-rows lower than the apex of his jump without being killed, which is less than the four rows through which he can safely drop if he has head clearance.  In JSW1, hitting his head on Earth actually allows him to fall a greater distance than he could if he made the same jump with head clearance.)

Edited by IRF
Link to comment
Share on other sites

I believe that the difference in the JSW2 jumping behaviour may arise because in each time-frame of a jump, the check for a solid underfoot platform (to curtail the descent phase of a jump) takes place before Willy's y-coordinate is incremented downwards.*

 

Whereas in the JSW1 game engine, he is moved downwards during a jump before the check for underfoot behaviour takes place. That, I believe, is the fundamental reason why Willy can jump into supposedly solid blocks.

 

So really, it is the JSW1 jumping that is the illogical and quirky behaviour - Willy shouldn't be able to jump up onto a two-block high wall (such as you get in 'Banyan Tree') unless he takes several steps back from it before taking the jump. I'll try to create a few frame-by-frame screenshots later to illustrate exactly why that is the case.

 

I have created four screenshots (attached) to illustrate one of the differences between the jump mechanics in the JSW1 and JSW2 game engines.

 

Willy is making a jump over a head-height pillar of Earth blocks in 'Tree Top'.  He starts his jump from the position shown in the screenshot named 'Tree Top Jump 1'.

 

In 'Tree Top Jump 2', Willy is on the descent and is exactly one vertical increment above the top of the upper solid block.

 

With the original JSW1 game engine, the screenshot 'Tree Top Jump 3a' shows what happens in the next time-frame - Willy lands on the top of the tree trunk, one frame of animation short of going over the edge.

 

With the JSW2 game engine (or in this case, the JSW1 engine hacked to behave like JSW2), the screenshot entitled 'Tree Top Jump 3b' shows the 'alternative reality' behaviour - in the next time-frame after the second screenshot was captured, Willy has been moved along by an increment vertically downwards but also one increment horizontally [in this case leftwards].  Therefore he overshoots the top of the tree trunk, and in subsequent time-frames (not shown in the attached), he proceeds with the descent part of his parabolic jump trajectory, dropping down on the far side of the solid blocks.

 

This explains why Willy gets 'stuck in the hole' in the JSW2 'Bathroom' test file that I uploaded earlier in this thread.

post-63-0-74309900-1515285676_thumb.png

post-63-0-58973300-1515285685_thumb.png

post-63-0-36247300-1515285694_thumb.png

post-63-0-27884300-1515285702_thumb.png

Link to comment
Share on other sites

What Logic dictates and what actually happens.

.

.

The black squares represent wall tiles

.
.
Left block diagram: part 1: willy occupies the red squares and is trying to move upward and left. All checks to the left indicate that the two blues squares are free but the lower square contains a wall (black square). movement left is blocked. Movement vertically is free. So willy moves upward.

.

.

Middle block diagram: Part 2: willy at this point is cell aligned and still moving upward and left. The orange squares are checked and found to be free. Willy is moved left and upward into the squares.

.

The arc of his flight moves onward till we arrive at picture 3

Right block diagram: Part 3: willy is cell aligned and wants to move left and downward. The question here is are the cells/squares in green free to move into. The answer being yes. Willy should be moved across the cell boundary into the green squares.

.

But in part 3 JSW has a specific check, that affects the outcome:-
Willy is falling and the code (listed) below checks for what is beneath his feet. Even though at this point willy will not actually enter both of the squares that are checked below his feet. Willy is moving diagonally downward, and he moves both vertically and horizontally across cell boundaries. The check below does not move horizontally across the cell boundary and checks directly beneath Willies feet. (this is a bug)

.

*** Note the problem is due to incorrect horizontal cell checking.

.

This incorrect cell check, stops the jump and Willy lands on the wall.

.

The complete Jet Set Willy RAM disassembly 20171113

post-125-0-82199000-1515335855_thumb.jpg

post-125-0-90520300-1515511381_thumb.jpg

Edited by Norman Sword
Link to comment
Share on other sites

This is also probably the bug the lets Willy move into the floor/wall tile when jumping right into the wall gap (next to the priest) in the "First Landing" . Again the check for beneath his feet incorrectly checks the tiles beneath his feet and not the tiles his feet are about to land on.

Like so many other parts of the code, other checks can/could prevent this.

Edited by Norman Sword
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...

Important Information

By using this site, you agree to our Terms of Use.