Jump to content
Jet Set Willy & Manic Miner Community

Working on Manic Miner in Scratch


manic986

Recommended Posts

Hi all,

I never knew that Manic Miner was so popular. I have remembered this game fondly from when I was a kid and I bought it for my 48k Spectrum. Anyway, many things happened along the way as they did to all of us I am sure but MM has always been in my head. My son (7) recently has been playing with a Nintendo and I found myself wanting to show him MM. I discovered an emulated version in a browser and we enjoyed it. He started learning scratch at a game class recently so I thought I'd give it a go also. One thing led to another and I found myself trying to program MM in scratch wondering how far I would get. I'm a bit particular about these things so I wanted it to play like the original. Scratch is a very annoying language for this project and in a way I'm sorry I started it but I have to finish it now. I don't have that much time so its going slowly but it is moving forward.

Anyway, I posted a few videos on youtube and "CPL MM" found me and mentioned this site. I had no idea that MM was so "active" and that there were so many versions and modifications. Quite exciting!!! I've learned a lot about MM along the way as I try to get different things to work. Some questions. Is there a list of semi-official names for the guardians on each level? I was trying to identify what the horizontal guardian on the mutant telephone level could be. I have called it an antenna so far. Its fun looking at the sprites in detail and recreating them. Scratch screen size is unfortunately fixed so I'm using weird sized sprites. Each of my cells is 15Lx16H.

My current problem is the Return of the Alien Kong Beast, the banana under kong on the left... If you leave that banana until 2nd last, flip the kong switch to dunk him and then walk off the drop from the right to the left, in MM you can collect that banana as well as the other one on the way down.. I'm trying to work out why that happens as Sprite 7 (which is facing left and first sprite position in new column) has all Willy ink in the right most byte of Miner Willy. The banana ends up overlapping with the left bytes of WIlly's sprite but there is no ink in that half of the sprite. Looking at the code, it is looking for the attribute ink of the item to turn white to detect if Willy collects the item or not. So does willy's white ink for both left and right byte sides affect this even if there is no ink bits set in the left byte? I guess it must. Sorry, never actually played with this on an actual spectrum and on the emulator, playing MM, the key is collected before the redraw I think so I can't see it.

Anyway - hello out there! Great to be here. There is a lot to read on this site... 

Oh. I guess I should probably post a link to my scratch videos so you can see how things look so far:

 

Link to comment
Share on other sites

5 hours ago, manic986 said:

My current problem is the Return of the Alien Kong Beast, the banana under kong on the left... If you leave that banana until 2nd last, flip the kong switch to dunk him and then walk off the drop from the right to the left, in MM you can collect that banana as well as the other one on the way down.. I'm trying to work out why that happens as Sprite 7 (which is facing left and first sprite position in new column) has all Willy ink in the right most byte of Miner Willy. The banana ends up overlapping with the left bytes of WIlly's sprite but there is no ink in that half of the sprite. Looking at the code, it is looking for the attribute ink of the item to turn white to detect if Willy collects the item or not. So does willy's white ink for both left and right byte sides affect this even if there is no ink bits set in the left byte? I guess it must. Sorry, never actually played with this on an actual spectrum and on the emulator, playing MM, the key is collected before the redraw I think so I can't see it.

Welcome to the forum and good to see more people remaking the game - I think it'll probably live forever.

As for the quoted part, the short answer is "yes". Willy's sprite is always two cells wide, even when every single "ON" pixel sits within a single cell width.

Link to comment
Share on other sites

2 hours ago, DigitalDuck said:

Welcome to the forum and good to see more people remaking the game - I think it'll probably live forever.

As for the quoted part, the short answer is "yes". Willy's sprite is always two cells wide, even when every single "ON" pixel sits within a single cell width.

Ok. Thanks I figured that must be the way it worked. I have been using scratch sprite collision detection from the Items point of view to collect so I'll have to rework that bit and do it from Willy's perspective and it should give the same behaviour.

Link to comment
Share on other sites

One other question... I noticed this really cool version of the game called Bob "Manic-4-NOOBS" by @Bob The Polar Bear. I'd love to add those levels as a theme to my Scratch version as I love the colours and the execution of the design. I haven't played it but just seen the YouTube video and it looks wonderful.

Link to comment
Share on other sites

Thanks @SymbolShift. Yeah. It is not ideal by more than a long short especially anything data related. Actually your name just reminded me of myself and my cousin typing in basic games out of the INPUT magazine... Neither of us knew what the ':' character was called and we used to call it "red-zed" because of the keys your pressed. He used to call out the code and I would type it in. Good times.

Link to comment
Share on other sites

I thought some folks might like to see this. My cavern format for the Scratch project lightly mimics the original MM room format. There is a bit less freedom in scratch but I'm trying to make all my levels self described and thus end up with something I can edit in vim before pasting it in to scratch as a list of characters. Here is what the first Kong level looks like without spaces and newlines removed. Currently the only special level is the last level (whatever that is)

Miner.Willy.meets.the.Kong.Beast
W.V.......V......W..W..........W
W................W..W..........W
W............I.FFW...........FFW
W................W.............W
W................W.............W
WFFF.....FFFFFF..WFF...........W
W.............I..W...FFFF.....FW
W.FFF............W.........F...W
W.I.....FFF......W.............W
W................WFFFFF........W
WF..........FFF..W.........FFFFW
W........FF......W.............W
W...FF...........W....FFFFF....W
W..........RRRWPPWFF.........I.W
W.............WPPW.....X.......W
WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW
................weedy........1.2
................brick........162
dotty........1.4................
plant........0.4stalictite...0.5
banana..........................
level8..........02.14.0.128.....
switch..1.06.00.0.17.11.1.02.0.6
switch..2.18.00.0.15.02.0.02.0.6
Hbarrel.......0.01.09.09.14.7................1.4
Hbarrel.......1.11.15.11.12.0.11.18..........1.3
Hbarrel.......0.18.21.18.08.0................0.5
Vkong.........3.0.032.232.15.032.4.2.2.0.6...1.4

 

Link to comment
Share on other sites

6 hours ago, manic986 said:

Thanks @SymbolShift. Yeah. It is not ideal by more than a long short especially anything data related. Actually your name just reminded me of myself and my cousin typing in basic games out of the INPUT magazine... Neither of us knew what the ':' character was called and we used to call it "red-zed" because of the keys your pressed. He used to call out the code and I would type it in. Good times.

Red-zed! that's a good one. I used to spend hours on end typing in those magazine listings, only to come across a printing smudge near the end and attempt to decipher it.

Link to comment
Share on other sites

3 hours ago, manic986 said:

I thought some folks might like to see this. My cavern format for the Scratch project lightly mimics the original MM room format. There is a bit less freedom in scratch but I'm trying to make all my levels self described and thus end up with something I can edit in vim before pasting it in to scratch as a list of characters. Here is what the first Kong level looks like without spaces and newlines removed. Currently the only special level is the last level (whatever that is)

Miner.Willy.meets.the.Kong.Beast
W.V.......V......W..W..........W
W................W..W..........W
W............I.FFW...........FFW
W................W.............W
W................W.............W
WFFF.....FFFFFF..WFF...........W
W.............I..W...FFFF.....FW
W.FFF............W.........F...W
W.I.....FFF......W.............W
W................WFFFFF........W
WF..........FFF..W.........FFFFW
W........FF......W.............W
W...FF...........W....FFFFF....W
W..........RRRWPPWFF.........I.W
W.............WPPW.....X.......W
WFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFW
................weedy........1.2
................brick........162
dotty........1.4................
plant........0.4stalictite...0.5
banana..........................
level8..........02.14.0.128.....
switch..1.06.00.0.17.11.1.02.0.6
switch..2.18.00.0.15.02.0.02.0.6
Hbarrel.......0.01.09.09.14.7................1.4
Hbarrel.......1.11.15.11.12.0.11.18..........1.3
Hbarrel.......0.18.21.18.08.0................0.5
Vkong.........3.0.032.232.15.032.4.2.2.0.6...1.4

 

This is very similar to the format I used for Manic Miner Redux:

Miner Willy meets the Kong Beast
Spectrum
@ x   a   x      @b @          @
@                @  @          @
@            + cc@           --@
@                @             @
@                @             @
@---     ------  @--           @
@             +  @   ----     -@
@ ---            @         -   @
@ +     ---      @             @
@                @-----        @
@-          ---  @         ----@
@        --      d             @
@   --           d    -----    @
@          >>>@  @--         + @
@             @  @     z       @
@------------------------------@
red
  0000 blank black
- 0001 floor b.red
= 0002 crumble red
@ 0003 wall b.yellow b.red
> 0704 rconvey b.green
z 0008 nasty green
x 0709 nasty cyan
+ 0710 item b.magenta
a 0711 switch yellow black a>e d>f hg1xright=18
b 0711 switch yellow black b>g c>h kn0state=1 score=2500
c 0001 floor b.red
d 0003 wall b.yellow b.red
e 1111 floor yellow
f 0000 blank black
g 1111 floor yellow
h 0000 blank black

0000 willy 2 13 0 0 white
0708 hguard 9 13 1 9 -2 b.green
0708 hguard 11 11 11 15 1 b.magenta
0708 hguard 18 7 18 21 2 cyan
0716 kong 15 0 0 12 4 b.green
0724 portal 15 13 yellow blue

I guess it's just natural to want a text-based implementation.

Link to comment
Share on other sites

And nothing like the Z80 - zx spectrum listing I use in Manic Jet Set Willy V3.02

 

RM_MM07:  
           defb    %00101010,%00010001,%00001010,%00001001,%11110000,%11110100,%10111000,%10000100
            defb    %01110000,%10000001,%00110000,%10000001,%00010101,%01001001,%01001101,%10100100
            defb    %00100110,%10011000,%00100010,%01001111,%00001001,%01011001,%00000100,%11001100
            defb    %10001000,%01110110,%01000001,%00101101,%01010001,%10011100,%10110001,%00000011
            defb    %11101100,%11010110,%11000110,%01001011,%10100001,%00001101,%11101000,%10110101
            defb    %11000010,%10000010,%00111100,%10000010,%10000011,%00000111,%01011110,%01000000
            defb    %00000010,%00000000,%10101000,%00000000,%11000000,%00100101,%00100101
Control             %0001000$0
slice                #00
            tiles    #42,#01
            tiles    #72,#02
            tiles    #04,#03
shave    4
            tiles    #05,#11
            tiles    #06,#1A
            tiles    #44,#1B
edge                #02,#1C
            tiles    #AB,#87
            tiles    #AF,#8E
            tiles    #3F,#80
            tiles    #A2,#01
Control_check
spx            MM_S_12,9
spx            MM_S_13,11
spx            MM_S_14,18
spxe            MM_S_15,15

                mask1_text    #00,"M","i","n","e","ò","W","i","l","l","ù","m","e","e","t","ó",2,9
 

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.