Jump to content
Jet Set Willy & Manic Miner Community

Automated generation of Manic Miner speedrun/walkthrough


crem

Recommended Posts

Cutting it fine.

When I first watched the jumping across the skylab landing bay. I was convinced it was pixel colliding and I had to check my code. I took a series of still frames to see how close Willy was to a pixel collision.

Willy lands amongst the debris of the skylab. The pixels merge.

 

 

big near miss.gif

Edited by Norman Sword
bigger image size - the original was too small
Link to comment
Share on other sites

Interesting animation, Norman!  Willy's legs seem to be surrounded by several pixels of debris/dust just before he lands, but without ever actually being touched by any of the dust pixels - a close escape indeed!

(Incidentally, Norman's animation misses out a frame of the Skylab crumbling - but it's early on in the process when Willy hasn't quite reached it yet, so it isn't germane to studying whether or not he pixel-collides with it.)

***

This has actually reminded me of something that I meant to ask Crem - when you get a moment please, would you be able to get your algorithm to replay the two caverns in the Software Projects version of Manic Miner which have different guardian sprites (namely The Warehouse and Amoebatrons' Revenge)?

Because it's possible that the difference in sprite forms might mean that Willy can achieve a higher score in those caverns - especially in Amoebatrons' Revenge, where the vertical guardians don't have all those dangly tentacles, so it might be possible to eliminate some of the 'waiting around' that Willy has to do in the Bug-Byte version of that cavern!

(Incidentally, the SP version of Processing Plant also has different graphics for some of the Fire cells [and item shapes], but those shouldn't have any impact on the maximum possible score since the collisions with Fire cells are attribute-based rather than pixel-based.)

Edited by IRF
Link to comment
Share on other sites

7 hours ago, IRF said:

This has actually reminded me of something that I meant to ask Crem - when you get a moment please, would you be able to get your algorithm to replay the two caverns in the Software Projects version of Manic Miner which have different guardian sprites (namely The Warehouse and Amoebatrons' Revenge)?

Surely will do! Could you help me to pick a right file with this version, is it this one? (from worldofspectrum)image.thumb.png.fa42bbd5b7cf55476ea54be83dfd98a7.png

Do you know if the memory layout is the same in this version? (currently I use a breakpoint at $870e to separate frames, at $8908 to detect loss and at $902b to detect win. Also some memory locations here to fetch state details)

7 hours ago, IRF said:

Incidentally, the SP version of Processing Plant also has different graphics for some of the Fire cells [and item shapes], but those shouldn't have any impact on the maximum possible score since the collisions with Fire cells are attribute-based rather than pixel-based.

Interesting, I thought all collision detection was pixel-based.

Link to comment
Share on other sites

The missing animation frame.

I used an online Gif animator to create the animation. When I watched the animations the first time, it was noticeable the frames were out of order. The file numbers are consecutive, but on uploading they were re ordered. The thumbnail sized pictures made it very difficult to rearrange the order of the pictures. After going through the process several times. Due to being unhappy with the output. And duplicating the process of ordering cropping, enlarging, changing frame rates etc. I decided to just delete the one obvious out of order picture and carry on. 

Link to comment
Share on other sites

29 minutes ago, Norman Sword said:

The missing animation frame.

I used an online Gif animator to create the animation. When I watched the animations the first time, it was noticeable the frames were out of order. The file numbers are consecutive, but on uploading they were re ordered. The thumbnail sized pictures made it very difficult to rearrange the order of the pictures. After going through the process several times. Due to being unhappy with the output. And duplicating the process of ordering cropping, enlarging, changing frame rates etc. I decided to just delete the one obvious out of order picture and carry on. 

Not a problem, as I said it's early on so not relevant to the studying of pixel-proximity.  But I was looking at the individual frames of the Skylab's disintegration, and I could only count seven [including the descending version before it starts to collapse], whereas there should be eight.  But then I noticed that Willy advances through his jump by two frames at one point (as I said, before he reaches the Skylab), so I realised that one frame must have been skipped (for whatever reason, which you have now explained).

Link to comment
Share on other sites

2 hours ago, crem said:

Surely will do! Could you help me to pick a right file with this version, is it this one? (from worldofspectrum)image.thumb.png.fa42bbd5b7cf55476ea54be83dfd98a7.png

Do you know if the memory layout is the same in this version? (currently I use a breakpoint at $870e to separate frames, at $8908 to detect loss and at $902b to detect win. Also some memory locations here to fetch state details)

Yes, I think that is the right file.

John Elliott wrote this handy guide to the code changes between BB and SP versions of Manic Miner (note that it omits to mention the graphical changes to the Fire cells/item shapes in 'Processing Plant', not that that's relevant to the task in hand):

http://www.seasip.info/Jsw/mmengine.html

Link to comment
Share on other sites

2 hours ago, crem said:

Interesting, I thought all collision detection was pixel-based.

That's only the case with guardians (including Eugene, Skylabs and Kong*).  Room cell interactions (including Fire cells), item-collection, flashing portal entry and the air-supply sapping effect of the solar beam are all based on Willy's attribute coordinates.

(*In the case of Kong, a pixel-collision with Willy is only fatal whilst he's on his perch, not when Kong is falling.)

***

Incidentally, in Jet Set Willy, collision with arrows is based on both pixels AND attributes (hence Willy can hide behind Water cells, where his INK isn't white, and arrows will apparently pass straight through him without killing him!)  And another JSW oddity - ropes pick up Willy based on a pixel collision with ANY infilled pixel (not just part of Willy's sprite), which can cause him to suddenly jump up onto the rope from the other side of the room, if the rope passes through a room block with infilled pixels!

Link to comment
Share on other sites

Another little-known fact about JSW - Willy can be detected as having reached the toilet during the toilet-run if he is eight character-rows above the toilet, in the upper half of the room.  (If you extend the ramp in The Bathroom down to meet the floor, and put a hole in the upper platform above the toilet, then start the toilet-run, watch as he runs up the ramp, drops down the hole, and then disappears mid-descent rather than falling all the way into the toilet!)

But I've gone way off topic now! 😁

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.