Jump to content
Jet Set Willy & Manic Miner Community

A Manic Miner 'Special Guardians' test file (JSW64 engine)


IRF

Recommended Posts

Please see the attached test file, based on the JSW64 game engine, which features experimental/novel implementations of each of the four 'special' Manic Miner 'guardian' types.
 
Skylabs/Droplets:
 
The opening room, a modified version of 'The Bridge', features an unprecedented mixture of 'standard' Skylabs, and Droplets of various types, all operating simultaneously.  (They don't actually pose a threat to Willy in this test file, unless he jumps up and hits one.)
 
All of the Droplets display distinct behaviour:
 
- The white Droplet doesn't have any horizontal displacement in between consecutive incarnations, and drops down consistently in the centre of the screen;
- The yellow Droplet has a horizontal displacement of 16 columns, so that it alternates between two positions half a screen-width apart;
- The cyan Droplet has a rightwards horizontal displacement of 8 columns, so it progresses from left to right across the screen through four possible 'drop zones', just like the classic Skylabs in Manic Miner;
- The green Droplet has a leftwards horizontal displacement of 4 columns, so it progresses from right to left across the screen through eight possible 'drop zones'.
 
N.B. the starting columns of all four Droplets have been carefully selected so that they shouldn't ever collide!
 
Angry Eugene:
 
If you walk rightwards from the start-up room and enter 'The Off Licence', there is a vertical guardian which displays 'Eugene' behaviour, but with a twist...  Your mission is to try to collect the item and escape safely from the room (it's a 'No Kamikaze' room, so the item will be reinstated if Willy loses a life before exiting).

I suggest that you first try walking rightwards into the room without stopping, proceeding under the guardian and up the ramp, then jumping to collect the single item as soon as possible, and watch how events proceed.
 
Then try taking a bit more time before collecting the item, and see the difference.
 


The Eugene turns 'angry' after a Collapsing Wall has finished opening up; the collapse of the wall is in turn triggered by the collection of the item.  (That isn't particularly a novelty, but it does make it more difficult to predict the timing of what follows.)
 
When the Eugene turns angry, it moves to the extreme end of one of its bounds - as per usual - but the novelty here is that the Eugene carries on moving in the same direction that it was travelling at the moment in time when it turned 'angry'.  This requires a Main Loop Patch Vector, to edit one of the definition bytes of the Trigger which precedes the Eugene.
 
N.B. Most known instances of an Angry Eugene, such as the one in original MM, start moving downwards at the point when they turn angry.  It is possible, in the JSW64 game engine to have a Eugene which always starts moving upwards when it turns angry (although I'm not aware of any such instances in a published game).  But the notion of a Eugene having a variable direction of travel (prior to it stopping at the end of its range) is almost certainly a novelty.


 
Solar Beam:
 
If you walk leftwards from the start-up room into 'Under the MegaTree', you can see that I have implemented a fix for the Solar Beam Bug which meant that, in original Manic Miner, the Solar Beam did not always kill Willy as soon as the air supply ran out. i.e. in this test file, the Solar Beam does kill Willy at the instant when the air supply is depleted to zero.  Ditto for the Kong Beast (see below).
 
Kong Beast:
 
There is also a Kong Beast in 'Under the MegaTree' that displays a novel feature, the idea for which was inspired by the following exchange between John Elliott and Andrew Broad in a post on the Yahoo Group:
 

Andrew Broad: "When you complete a cavern, the air empties faster and at a higher pitch than in MM."
 
John Elliott: "Because there's no score."

 
Andrew Broad: "And thus no incentive to kill the Kong Beast, other than the satisfaction of seeing it turn yellow and fall upside-down with that 
sickly falling noise! ;-)"

 
Well, in the attached test file, there is an incentive to kill the Kong Beast - because it also saps Willy's air supply in 'Under the MegaTree'!  See how quickly the air supply is being depleted in that room, even when Willy isn't standing in the Solar Beam!  (N.B. The 'lethality' of the Solar Beam and of the Kong Beast can be set independently of each other.)
 
In order to survive in 'Under the MegaTree' for more than a few seconds, it is necessary to flip the Switch (the yellow thing in the branches at the top-left, which uses 'Willy's head' as its sprite) and thus kill the Kong Beast.  Note that there is a handy flashing Portal which provides a shortcut up to the Switch from the bottom of the screen, and Willy's progress is further assisted by the room's Portal Patch Vector, which automatically sets him jumping leftwards as he exits it - another technical novelty, I believe? - so that he lands just a few steps away from the Switch!

 

 
Note that there are also a few bug fixes implemented in the attached test file, including some tweaks to the Kong Beast code to make it more 'generic' (for instance, making the Kong Beast's animation dependent on the global 'tick' counter rather than the current air supply, so that Kongs are still animated even if they appear in rooms without an air supply limit), and a patch for the bug in JSW64 which causes the Air Supply bar to become invisible (albeit still operational!) when you pause and unpause the game (something which remains in Dr Andrew Broad's 'to do' list for his 'Advanced JSW/MM Trainer project!).
 
******
 
A final word: I was wondering whether the scale of the interventions in the attached file (if they were extended to all six JSW64 variants) would mean that it could perhaps be considered to be a 'Hack Level 13' of the JSW64 game engine?  Any thoughts?

MM Specials Test File a JSW64X v.0.01 HL 12.tap

Edited by IRF
Link to comment
Share on other sites

That's brilliant. A very interesting twist on things too. :)

 

I was looking a while back at the Skylabs as stated in the disassembly we do not know what the unused horizontal guardians would of looked like, although in that case their sprite instances were taken up by the 'disintegration' of the Skylab sprite itself, and unfortunately only one path/boundary was preset which was not ideal. I had a vague idea of using the horizontal ones from Solar Power as a kind of space-filler to see but given there were no paths set already it seemed a little bit moot to go further. :)

Link to comment
Share on other sites

I must admit that the 'new' Solar Beam is the least developed of the four 'Specials', as all I did was fix the bug which means that sometimes it doesn't kill you instantly when the air supply runs out.

 

However, In terms of enhancing the Solar Beam with something 'a bit different', Norman Sword has come up with the goods in his Manic Miner rewrite by giving the Beam a neat 'sapping' sound effect whenever Willy stands inside it.  :o

 

******

 

Another thing which I should mention is that, in order to achieve the maximum flexibility in the 'Skylab/Droplet regime', I had to redivert one of the Eugene Guardian Types to a different number (i.e. a different value for Definition Byte 0).  Non-colour changing Eugenes are now classed as JSW64 Special Guardian Type #48 instead of Type #18.

 

Type #18 was reassigned for use by leftwards-moving Skylab/Droplets.  This was essential in order to prevent the 'Draw the guardians' routine from picking up incorrect frames of animation for some of the Skylab/Droplets.

 

(Type #08 is used for rightwards-moving Skylabs and for 'horizontally static' Droplets, whilst Type #78 has been freed up for other purposes.  Previously, Type #08 was used exclusively for 'standard' Skylabs, and Type #78 was used by John Elliott's original Droplet Patch.)

Edited by IRF
Link to comment
Share on other sites

  • 2 weeks later...

Great stuff, Ian!  :D

 

It would merit to be called HL13 as far as I'm concerned. Perhaps John Elliott would be willing to update JSWED to introduce such a novelty?

 

Attached is a test recording with the collection of the item in "Off Licence". The "Eugene" stays up on top of the screen after the collection (it goes down when Willy re-enters the room).

test.rzx

Link to comment
Share on other sites

Perhaps John Elliott would be willing to update JSWED to introduce such a novelty?

*Novelties*, did you mean?

 

As well as introducing some of the new guardian variants, I would suggest any Hacklevel13 should also tidy up the game engine where known bugs occur (such as the two bugs that you fixed, following John's advice, in the 30 Years Quiz).

 

Other things could be added, such as the patch which makes sure that Willy always starts a game facing right (in animation frame 0).

Edited by IRF
Link to comment
Share on other sites

Did you see the effect if Willy heads straight for the Offy item without stopping? (The timing of the wall collapsing means that the 'Eugene' drops to the bottom, trapping Willy.)

I should add that I can't download and watch your recording right now, but I intend to do so later. (Perhaps watching it will answer my question?)

Link to comment
Share on other sites

I've made a few modest changes to the test file - please see the attached.

 

I spotted a sizeable chunk of unused bytes in the code (the strange unused routine at 96F4-#9717, a relic from Matthew's original game, was remarkably still present in the JSW64 game engine!), and so I have done the following:

 

- added the sound effect when Willy is standing in a Solar Beam (based on Norman Sword's code, but optimised by one byte by using the D and E registers instead of D and C);

 

- added a couple of initialisation commands at the start of the game for Willy's facing direction and frame of animation (in the attached, he starts off facing left in animation frame 03, but this can be adjusted by NOPping out the INC A at #970E and/or editing the value of the operand at #9713).

MM Specials with Solar Noise JSW64X v.0.01 HL 13.tap

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.