News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Metroid New Abilities

Started by Drakon, March 16, 2014, 08:35:57 AM

Previous topic - Next topic

Drakon

*edit* new video

Drakon Metroid New Abilities Hack

*old first post*

Hello people this is my first real post here.  I was really inspired by snarfblam's work with the metroid + saving patch to fix everything that was wrong with the original metroid.  Lately I've been learning nes rom hacking for fun and I hacked a number of games.  I talked with snarfblam about the idea of adding 8-way firing into the original metroid.  Snarfblam nicely replied that he doesn't have interest in adding this so like anything I want done I saw this as an opportunity to figure it out myself.  My hack is based on the amazing snarfblam metroid + saving 0.2 (version 2?) patch.  Here's the first demo:

*removed because of a newer and better video*

You can see in this video that the new ability even works with missiles which is great.  I've since implemented a fully working ability to crouch down and shoot low like in super metroid.  Currently with my crouching code there's a bug where you can sink into the ground slightly but it's really hard to debug because it's really hard to get it to happen.  Next I plan on adding the ability to turn into a ball mid-air by pressing down, not sure how long that will take me to figure out.  I don't plan on releasing this hack, I hope that's okay with people here.

Also sorry if I posted this in the wrong forum section.  I wasn't sure where this should go I didn't see any "work in progress" type sections to post this in.

Lunaria

Sweet, I can't wait for you finalise this. Once this gets more refined and with the addition of the save system snarfy made we could not only have the perfect base to build all metroid 1 hacks on; It would also make me actually want to play the original metroid since it would be a much better experience!

altoiddealer

Quote from: Drakon on March 16, 2014, 08:35:57 AMI don't plan on releasing this hack, I hope that's okay with people here.

:sad:

snarfblam

#3
Quote from: Drakon on March 16, 2014, 08:35:57 AMI don't plan on releasing this hack, I hope that's okay with people here.

If you plan on changing your mind, or at least release some notes, it could save me the trouble of reproducing your efforts for my level hack. Also, FWIW, I've also messed with morph ball behavior for my hack, adding in spring ball, mid-air morphing, IBJ, and removing the jump-after-unmorphing-in-air quirk. In fact, I've got some other similar things going for my hack too, but I wasn't planning on divulging it all until my hack was at least nearly complete.

Also...
Quote from: #metconst
<Lunaria> why would he not release that?

xorxif

This is very nice! Some years ago Dahrkdaiz posted a video about a diagonal shot hack for Kid Icarus he was working on. Since Kid Icarus and Metroid have similar code base and data format (?) I had been wondering if something similar could be implemented in Metroid. Not sure where the extra ROM space can come from for the diagonal direction sprites would come from.

Very much looking forward to seeing the enhancements you mention Snarfblam. I wonder if you might make them separately able to be turned on or off, or even disabled for a particular ROM hack? ASM notes / separate patches of course would help, and / or if they could be enabled / disabled based on various conditions.

Drakon

#5
Quote from: snarfblam on March 16, 2014, 02:57:23 PM
Quote from: Drakon on March 16, 2014, 08:35:57 AMI don't plan on releasing this hack, I hope that's okay with people here.

If you plan on changing your mind, or at least release some notes, it could save me the trouble of reproducing your efforts for my level hack. Also, FWIW, I've also messed with morph ball behavior for my hack, adding in spring ball, mid-air morphing, IBJ, and removing the jump-after-unmorphing-in-air quirk. In fact, I've got some other similar things going for my hack too, but I wasn't planning on divulging it all until my hack was at least nearly complete.

Also...
Quote from: #metconst
<Lunaria> why would he not release that?

Absolutely sir I'll happily share my notes with you.  For extra rom space I found these large blocks of "00" data in the bank.  I don't know if this is because it's the expanded rom but it's definitely unused space.  I noticed when you go to other areas of the map it changes bank.  Meaning for all the custom code I wrote I have to copy and paste it into the 00 areas of each bank.  Ideally I'd want to store my code in just one far off bank and during the initial loading have the game swap to that bank and load all my custom code into ram somewhere and run it from ram to avoid bankswitching.  Unfortunately I would have to change all the jump commands to ram addresses, so for now just copy and pasting my code 5-6 times is fine enough.

As for my air-morph ball code I made it so you can only go in and out of a ball just once in the air until you land.  Otherwise if you kept going in and out of the ball you would actually slowly move upwards since you lose downward momentum due to the nature of my code.  I mapped select button to be the ball morph button because down button is needed in the air to shoot downward / diagonal downward and the jump button handling worked differently and I was too lazy to rewrite half my code for it.  I made it so you can only press select to change to missiles when on the ground not when jumping so when you jump select becomes the turn into a morph ball button.

Odb718

I think if you made Down+Select perform the ball change it'd be a lot smoother. The only time you wouldnt be able to change to missiles is while crouching. Not sure if this would be possible.

If you can crouch and shoot, are the bombs even needed any longer? Just to get up one block to roll into a tube?
It seems like you'd lose a lot of "puzzles".

I like the diagonal shots. The placement of it's origin looks like the top center of the helmet/where the tip of the gun is pointing up. Would it's origin be able to be moved if/when animation's are completed?

I have edited some sprites in my past (a LOT for my Mugen characters)
I can work on adding them in.  I wouldnt need a need new box for the downward shot.  I'm positive I'd need additional boxes to be displayed for the other 4 angles.
Is this something possible?

How did you get the animations for the crouch shot?

Drakon

#7
Yes with all these new abilities you lose a lot of the puzzles and can play a lot of things out of order.  It makes the game much more like super metroid where you can change it up a bit, which I prefer.

For the crouch shot I didn't insert any new animation I just set samus to the jump frame which looks like a kneel anyway and lowered her a bit to create a ghetto kneeling effect.  It actually looks really good.

I'm not relocating where the bullet comes from.  I'm not bothering adding additional animation frames.  I want to keep the game with as much of the original feel as possible so adding artwork would look out of place.

I managed to write my own routine that bankswitches to where I stuck all my code and load it into ram.  Unfortunately I couldn't find enough free ram anywhere to fit it.  Therefore I shrunk my code so it'll fit into the free space range in all 5 region rom banks and I copy and pasted it into all 5 banks.  Now I can travel between game regions and the code works.

Behold and whatever

Drakon Metroid New Abilities Hack

Odb718

You could still have a lot of puzzles with custom maps. Just make the stretch of bombable blocks longer than the normal range of the gun at first. A problem would be the blocks closing behind you. Then you'd just be trapped.
Once you get the longbeam that barricade would be beaten. Then you could make it so you enter a tube and have to either go up or down with bombs to continue forward.

Could you make these abilities only work when getting a powerup?
Does IBJ from jumping up into the ball work? Like in Super Metroid.
Have you tested to see if jumping into the ball will let you enter a tube off the ground?

I dig the crouching look. It does look really good for what it is. Awesome work.

Drakon

Quote from: Odb718 on March 20, 2014, 10:57:39 AM
You could still have a lot of puzzles with custom maps. Just make the stretch of bombable blocks longer than the normal range of the gun at first. A problem would be the blocks closing behind you. Then you'd just be trapped.
Once you get the longbeam that barricade would be beaten. Then you could make it so you enter a tube and have to either go up or down with bombs to continue forward.

Could you make these abilities only work when getting a powerup?
Does IBJ from jumping up into the ball work? Like in Super Metroid.
Have you tested to see if jumping into the ball will let you enter a tube off the ground?

I dig the crouching look. It does look really good for what it is. Awesome work.

I don't want to change the stage layout the idea behind this hack is to have the original experience with abilities that they always should have included.  Therefore I don't plan on adding having to get a powerup to unlock anything.  I like that I can do things out of order now.

I jumped into a tube as an air ball it worked fine.

Ganon35

   If  I were the one making the changes to Metroid, I would include shooting downwards, but balance it by making blocks only bombs could destroy i.e. Metroid Zero Mission.  I would also add health and missile refills that are scattered throughout the game(maybe one in each area except Tourian and two in Brinstar?) as in Metroid II.  That was always something I thought the game would benefit from heavily, as it would get rid of all of the grinding.  And no, I don't want them everywhere to make the game easy, because that would take all of the fun out of the game.  Lastly, I wouldn't add diagonal shooting, because it looks weird in the original, and because there's no shoulder buttons to control it, so it makes shots fire everywhere and it seems like something that wouldn't be needed anyway, it's like its there just to be there.  But I would add crouching to shoot.