Jump to content
Jet Set Willy & Manic Miner Community

Manic Jet Set Willy.


Norman Sword

Recommended Posts

On 1/9/2022 at 11:57 PM, jetsetdanny said:

Finally, I should note (I meant to mention it before, but perhaps forgot) that Norman Sword's extra code which makes the solar ray turn red, with a corresponding sound effect, when it's touching Willy (first introduced in "Manic Miner: creme de la creme" IIRC) is a great feature, extremely useful to let the player know if they're doing the right thing in this room or not. It would be good if it was used in all games and rooms where the solar ray challenge is present

Further suggestion: It would be an even more useful tool if it reverted back to yellow (or some other colour) after it leaves Willy's sprite - this allows you to judge in each time-frame how much air is being sapped, depending on whether Willy is spanning two or three cell-columns for each instance that he is in the beam.  Which helps if you're trying to optimise/minimise the score loss due to a close encounter with the beam. 🙂

Link to comment
Share on other sites

On 1/12/2022 at 4:16 AM, jetsetdanny said:

- Once in "Solar Power Generator", waiting motionlessly to see what happens when the solar beam hits the slow-moving red horizontal plane guardian (a few seconds into the game).

Every time I did it, the beam got deflected off the red plane.

Funny that you think of it as a plane, it looks like some kind of tractor or JCB digger to me. 🤔

Link to comment
Share on other sites

On 1/11/2022 at 11:05 AM, Norman Sword said:

So what is changing in the solar power room?

As I stated at the start of this explanation I have not written any code or looked at any data. (yet) The image of the deflecting beam was enough to actually allow me to process through what is changing. 

The beam is deflected by a red "beam shover." (< a new name for the sprite) That sprite, I remember from when I wrote the code, is slightly different to the other 3  "beam shovers" In that it does not run at full velocity. The velocity is controlled by the clock. The clock is not reset between caverns in JSW or in MM and runs all the time. This does introduce a variable into the room that is changing from room entry to room entry.

Since the clock ticks with each and every game loop, the status of the "beam shovers" movement is affected by what value the clock is. 

Conclusion.

The entry into the Solar Power room is with a game clock that is changing as the rooms/caverns are being played. That change dictates what status the sprite movement is for slow moving sprites. This also means that any other room with slow moving sprites will also be affected. (Endorin forest, Attack of the mutant.., ore refinary etc)   The change is down to the exact time that the cavern is entered and will only set in action one of two possible room playing states. Nothing to do with the overall speed set for the game, but it is a function of the time on entering the room.

I noticed something similar last year when I was playing around with a project. I found that reducing the initial supply of air by a single unit (a value of 4 actually, since the game clock is depleted by 4 in each time-frame), the complex interaction of the slow horizontal guardian in Solar Power Generator with the other guardians and the solar beam meant that the beam displayed a different pattern later on in the cavern - it flashed horizontally across the screen for a single time-frame in one scenario, but didn't in the other.  Decreasing the initial air supply by another unit (so by 8 in total) reverted the situation back to the original.

So I concluded that the game play for caverns with a slow horizontal guardian was slightly different depending on whether you started off with an even or an odd number of units of air.  It's barely noticeable in most caverns, but in Solar Power Generator it does cause that instantaneous flash across the cavern (just above the conveyor if I recall correctly), which can have a notable effect on the achievable score for the cavern.

Getting into the granular detail - from memory - in one scenario, one of the other (fast) horizontal guardians (blue or yellow, or possibly both) higher up the screen keeps the solar beam at bay (deflecting it across the top of the cavern) during a time when the red slow one is at the edge of its platform where it might be in a position to deflect the beam, and by the time the upper guardians have cleared out of the way of the beam, the red one has just retreated back to the right so that the beam doesn't hit it.  BUT in the other scenario, the red guardian is one time-frame delayed* so that for a single time-frame, as the beam comes down from above (once the faster guardians higher up have moved out of its way), it does deflect the beam leftwards for that single instant.  (*Either that or it's one time-frame ahead of usual and it nips in for an instant before the upper guardians intervene higher up - I can't recall which way round it is, but the effect is the same.)

The way I tried to resolve the issue in the project I was working on was to change the code so that slow horizontal guardians only move when there are an even number of air units remaining, rather than an odd number.  (Or vice versa!)  But that caused problems elsewhere - in one of the Kong caverns (I won't go into that right now as it's a bit off-topic).

Link to comment
Share on other sites

On 1/11/2022 at 11:39 PM, jetsetdanny said:

The change is down to the exact time that the cavern is entered and will only set in action one of two possible room playing states.

Does it mean I could try to avoid the appearance of the solar beam when playing at the slowest speed by entering "Solar Power Generator" one tick of the clock earlier (or later) than I did in this particular case? In other words, by waiting one tick of the clock at the end of "Amoebatrons' Revenge" to enter "Solar Power Generator" one tick later?

In theory yes, but in practice it would be impossible for you to know whether the clock currently stores an even or an odd number at any given time.

Link to comment
Share on other sites

On 1/13/2022 at 1:40 AM, jetsetdanny said:

Thanks for your comments.

I've tried entering "Solar Power Generator" at the right moment (by rolling back my recording to the previous cavern, waiting a little bit and then jumping into the portal) a significant number of times (maybe 20 or 30 again, I didn't count), but I can't get it right, the ray is always deflected.

Am I right in thinking that whenever I see this:

image.png

this means the ray gets deflected by the red airplane?

If I am right, then I can't get it right (no pun intended).

I am beginning to suspect that it's not really random...

Is that picture taken just after Willy enters the cavern?  If so, then the red slow horizontal guardian is going to deflect the beam every time, just one time-frame earlier (or later) depending on the status of the game clock at the point when you enter. EDIT: Or rather, the red Slow HG stops deflecting the solar beam one time-frame sooner (or later) depending on the 'odd versus even' initial air supply.

What you could have done is press pause as you entered the cavern, kept the pause key pressed whilst doing rapid stabs at a non-functional key (such as 1), whilst counting how many time-frames it takes before the beam is first deflected by the red guardian.  And then re-entered the cavern in the way that you did from Amoeba's Revenge, and repeated the exercise.  You would probably have found that the number of frames before that occurred varied by 1 on some occasions. EDIT: Oops! No - but see edit below. 

I just tried in an original MM file and it was 56 time-frames into the cavern when the first deflection of the beam by the red HG occurred.  If I changed the starting supply of air by one unit, that would presumably have been either 55 or 57?  EDIT: Actually I just tried both scenarios, and in both cases the first deflection occurred in the 56th time-frame (determined by when the yellow HG above moved out of the way of the beam).  However, with the original air setting, the initial deflection by the red HG lasted for seven time-frames, whereas with the starting air supply deleted by one unit, the beam was deflected by the red HG for a total of eight time-frames (because it's one frame 'behind' in this alternative reality); so there is a difference but it isn't easily noticeable to the human eye.

Much later on in the cavern, as I described in my previous post (two above this one), there is a narrow window of time (due to guardians higher up getting in the way?) whereby the red HG can either only reach the beam for a single time-frame, or else it does not touch the beam at all during that particular traverse along its trajectory.  The difference in behaviour is therefore much more obvious to the human eye (Flash versus No Flash).  And it explains the difference between your final scores for the cavern, depending on whether or not the beam flashed rapidly above the conveyor at that critical moment when Willy was moving up the conveyor and thus unable to take evasive action.

Edited by IRF
Link to comment
Share on other sites

On 1/16/2022 at 3:16 AM, jetsetdanny said:

I don't perceive the fact that the score while playing at the lowest speed will be inferior to the scores obtained when playing at higher speeds as a problem or something negative.

It won't necessarily be an inferior score when played at the lower speed; it just so happens that whilst playing the game in the slow setting, you entered the solar cavern at a moment when the game clock held a certain value ['odd' or 'even'] - which meant that the single time-frame flash of the beam above the conveyor (and through Willy) was 'baked into' the way that the cavern gameplay evolved from the beginning.

If you were to repeat a run through the solar cavern with the game running at slow speed, then I believe there's a 50% chance that it wouldn't occur and you could in fact achieve a higher score.

(Unless I am mistaken, your testing of Norman's proposition - by waiting around for a short while near the Amoeba portal before entering the solar cavern - did not involve subsequently playing through the whole solar cavern repeatedly; rather, you just checked whether in each case the red HG deflected the beam the first time that it touched it after Willy entered the cavern?)

In summary, I am in agreement with Norman that I don't believe the running speed of the game actually has any effect on the mechanics of the solar beam!

Link to comment
Share on other sites

Hmmm, I've decided I need to satisfy my curiosity and resolve this issue of the solar beam sequence.

It occurs to me that I may have misremembered exactly what changes between an 'odd' versus an 'even' initial air supply in the Solar Power Generator.

Rather than involving the higher-up horizontal guardians, it may be the case that the exact position of the vertical red guardian in the middle of the cavern, at a certain point in time, is what prevents the solar beam from flashing past the top of the conveyor in one scenario and not in another.  i.e. the solar beam could be deflected leftwards by the horizontal red in both scenarios for a full eight time-frames whilst it's at the leftwards extent of its range, but in one scenario, the precise timing of the red HG is such that the red vertical satellite dish re-deflects the beam down to the cavern floor for all of those eight time-frames, whereas in the other scenario, the red VG is only in the right place for seven of those time-frames, so the beam sneaks past and above the conveyor for just one of those time-frames.

What I do recall it is that it was the complex interaction between the slow HG (the only variable when considering the difference between an 'odd' and an 'even' cavern), the positioning of one or more of the other guardians, and the solar beam - at a specific point in time (with unfortunate timing if Willy happens to be 'at the wrong place at the wrong time'!)

Further investigation is required - watch this space...

Edited by IRF
Link to comment
Share on other sites

Aha, mystery solved!  Below are four screenshots taken from the videos embedded in this post of Danny's:
https://jswmm.co.uk/topic/649-manic-jet-set-willy/?do=findComment&comment=14272

The first two snapshots show two consecutive time-frames from the 'slow' recording.  The last two snapshots are the equivalent two consecutive time-frames from the 'fast' recording.  You can see that the guardians (other than the slow HG) are all in precisely the same positions in images 1 and 3, and also in image 2 compared with image 4.  Willy is also in almost the same position - in truth, it looks like Danny was on course to complete the cavern slightly quicker in the slow run-through, although the penalty for an additional solar strike more than offset that.  For the purpose of this analysis though, Willy is occupying the same character row (which the solar beam either does or doesn't pass through) in all four images.

The difference in solar behaviour is actually due to all of the factors I discussed earlier, including the fact that a moving entity can interact to a greater or lesser degree with the solar beam, depending on whether it spans two or three character-rows.  (I mentioned that point in relation to Willy in respect of the beam being more or less 'deadly' at times, but it's also true of vertical guardians in so far as they can rotate the beam a greater number of times if the beam passes through them whilst they aren't row-aligned.)

In Image 1, the red vertical guardian is row-aligned, so it deflects the beam three times.  Since the beam approached the red VG horizontally, that means that it ends up going downwards to the cavern floor.

In Image 2, the red VG spans across four character-rows, so it deflects the beam four times.  This time it ends up traversing horizontally above the conveyor (and as it happens, through Willy).

(Note that the red horizontal guardian occupies the precise same position in both Images 1 and 2.  It is just protruding past the edge of its platform, and being a Slow HG it only moves every other time-frame.)

Image 3 represents the exact same scenario as Image 1.

But in Image 4, the red VG doesn't get the opportunity to send the beam along the top of the conveyor, because by that point, the red horizontal guardian has moved one frame of animation to the right - just enough to pull it away from the path of the solar beam coming down from above, so that the beam continues on downwards to be absorbed by the brick tile in the cavern floor.

And as previously discussed, the different position of the red HG (being 'one time-frame behind' in the first two images compared with the last two) can be explained by a different starting value of the air supply for the cavern.

A fix would be to round up (or down) the current time counter upon entry to this cavern to the nearest multiple of 8 [that's assuming the air/game clock counter works in the same way as it did in original Manic Miner, incrementing by 4 each time], perhaps by applying an AND #FB (11111011) command to the value of the variable via a Portal Set-up patch?

P.S. In the next time-frame after the one shown in image 2, the red horizontal guardian will have moved into the same position shown in image 4, so the solar beam will be heading straight down to the brick tile in the floor - hence the beam only flashes along above the conveyor for a single time-frame during that moment in the first scenario.

 

Solar Mystery Solved 1.png

Solar Mystery Solved 2.png

Solar Mystery Solved 3.png

Solar Mystery Solved 4.png

Edited by IRF
Link to comment
Share on other sites

P.P.S. Adjusting the initial air supply in the solar cavern by one unit also changes the initial position at which the slow horizontal guardian is drawn, as the 'Move the Guardians' routine is executed once before the first time that the guardians are drawn.  So in one case, it has its back to the wall as soon as you enter the cavern (as per its defined starting position in the cavern data - the 'Move the Guardians' routine having decided to skip moving the slow guardian this time round), whereas in the other scenario, it has already moved one animation-frame away from the wall before you first see it.

Edited by IRF
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.