Acmlm's Board - I2 Archive - Rom Hacking - NES Metroid - AutoMap hack released
User | Post |
Parasyte
Posts: 104/514 |
Yes, certainly. The edits required for the hack is data which no hacks have never touched before (at least, at the time the auto-map hack was created). |
eternaldragonx
Posts: 9/57 |
kickass and good news is they work with extensive hack like Metroid Deluxe and Metroid Links Adventure
in action
|
Chibi Gatomon
Posts: 15/85 |
Para here's a idea for you to use
Add a charge beam as well |
PowerBub
Posts: 1/18 |
Wow Parasyte. This Metroid hack of your's looks to be amazing. That automap is a big addition to the original game I think. |
Parasyte
Posts: 73/514 |
I only made it up to address ~$CC00 in SnowBro's source when I found the 192-byte routine that could be removed. Other than some small optimizations before that location, there is not much else which could be removed. However, I've only searched less than 1/4 of the hardwired PRG bank. There could very well be more free space in there somewhere. |
VL-Tone
Posts: 19/200 |
Really neato Parasyte
I knew my hack was not ideal, I didn't know what routine made Samus jump, so I simply changed the vertical movement at $308. Anyway it was my first real ASM hack, I guess it was not too bad for a first one
I'm really happy you improved it, knowing that I showed you the way
I'm sure you could have done it all by yourself, but I guess my hack inspired you to actually do it.
As for using the 4x4 block patterns tiles to draw the map, I also was thinking about it.
It wouldn't add -that much- code, If you store the patterns in the right order, you can use 4-bits to adress the 16 patterns without any calculation. I remember doing this on my thrusty TRS-80 Color Computer 2 in the old days. I guess space is really tight in 196 bytes, but isn't there any other unused area in the ROM where we could store extra code? |
Xin
Posts: 21/30 |
Wow, this was released. I remember it being in development originally, along with the power bombs. Very nice Para.
I've also been meaning to work on a spacejump hack myself... |
LocalH
Posts: 10/46 |
Holy fuck! This hack rocks, and I haven't even tested it yet. |
interdpth
Posts: 63/527 |
Para is god. |
Parasyte
Posts: 71/514 |
VL-Tone, I had a huge reply written for you last night, but my power went out before I was finished writing it. Blah! Basically, I was explaining how that wall jump code should be improved by checking a lot more variables, and not slowing the decent any. But I suppose it's a good start. (I would never use it in a hack, personally...)
HyperHacker, that would not only require more tiles, but also more code to handle it properly. But would a 16x16 tile map be big enough? Sounds a bit small.
EDIT: I've rewritten all of the Wall Jump code I had before the power went out. (I'd say this version is much better, anyway.) It assembles to just 38 bytes, and makes it not-so-simple to wall jump. You must be near a wall, holding the direction away from it, in a spin jump, at the peak of the jump in a slow decent, and when you press A it will perform a wall jump. If anyone needs a NEStopia movie file, I can create one to show you how wall jumps are done with the hack. The range can be changed so you're given a larger window of oppertunity to perform the jump, if you feel it's too tight. But I personally like it the way it is. It's not too difficult, and not too easy. Download: http://parasyte.panicus.org/projects/met-map/walljump.zip (Again, source code is included.)
P.S. This routine can be modified very easily for space jump. |
HyperLamer
Posts: 967/8210 |
Regarding the map size: Perhaps you could use 4x4 tiles? You'd have 15 different tiles:
xx ox xo xx xx oo ox ox xo xo oo oo ox xo oo xx xx xx ox xo xx ox xo ox xo ox xo oo oo oo
Where x is a black square and o is a white square. You check one room, the room beside it, below it, and diagonal from it, and choose a tile that represents the status of each. Essentially, you'd shrink the displayed map by 1/4 (though you'd need almost 8x as many tiles). |
VL-Tone
Posts: 18/200 |
Hmmm a sand pit room? In Metroid 1? I know every room by heart in Metroid, and I never seen a sand pit room...
Thank you so much Parasyte for giving the source code with your hack. it singlehandledly made me want to do my first "real" ASM hack.
I hope you didn't have a secret project involving wall-jumping in Metroid because
------->I worked out a way to implement wall-jumping in Metroid!!
It has a few quirks, but it's surprisingly good (at least for me).
Here is the IPS patch to activate wall-jumping in Metroid: http://pages.infinit.net/voxel/MET-WJ.IPS
and here is the source code: http://pages.infinit.net/voxel/met-wj.asm
It uses 26 bytes, and could be shorter I guess.
This patch cannot be used at the same time as the auto-map patch (sorry! I'll work this out).
Note to Parasyte, I used your source code for these experiments, so the base address is the same, If I ever publish this officially, I'll make sure it doesn't overwrite the auto-map code. Could you suggest me another base address?
Oh one last thing, with a multi-direction scroll, how will you deal with lava? Lava works only in horizontal rooms, and it works by checking if Samus is lower than the bottom two blocks height.
|
MathOnNapkins
Posts: 339/2189 |
Wow Parasyte this is awesome and I really mean it. Now go get a job! (j/k) |
Jigglysaint
Posts: 30/215 |
Originally posted by Evil Peer
Originally posted by Jigglysaint if I remember, a certain door object has a horizontal/horizontal transition
Yeah, there is a sand pit room somewhere, that was annoyingly reproduced in Zero Mission.
---Evil Peer
Wait, what sand pit?
I just suggested using the 10 missle door since I figured you could take a page from the developers and cut some corners.
What would also be cool would be one item that's unique to each level, like a gravity suit, varia, or somthing cool. |
Parasyte
Posts: 65/514 |
Originally posted by Jigglysaint Perhaps another suggestion could be to have an object that when passed over, would switch between horizontal and vertical movement. It would be 2 strips that cover the entire length and width of the room, and basically act like doors, except it doesn't actually scroll you anywhere, only lock/unlocks the screen. Good for having secret passages in odd places. Also cool would be floor/celing doors, that all they do is just act like a room transition, nothing else(if I remember, a certain door object has a horizontal/horizontal transition).
I intend to remove the scroll limitations altogether in favor of 8-way scrolling. I have a massive rewrite of the scroll system to do anyway, thanks to the status bar. So while I'm rewriting the scroll engine to accomodate the status bar, I'll also be gettnig it to scroll in any direction with no transitional periods. Floor and ceiling doors would be an improvement, yes. But that would also require Samus to shoot downward. (Well, it would not require it, doors in the floor could be 'unlockable' once you aquire bombs, for example. But shooting downward has other advantages which make it a must, anyway!)
And power bomb doors ... why replace 10-missile doors with them? Just create a new door type! |
Geiger
Posts: 72/460 |
Originally posted by Jigglysaint if I remember, a certain door object has a horizontal/horizontal transition
Yeah, there is a sand pit room somewhere, that was annoyingly reproduced in Zero Mission.
---Evil Peer |
Jigglysaint
Posts: 29/215 |
Homing missles would be cool. So would lock blocks
Seriously, good work! Too bad about the large map, but I guess that just having the mini map is good enough.
Perhaps another suggestion could be to have an object that when passed over, would switch between horizontal and vertical movement. It would be 2 strips that cover the entire length and width of the room, and basically act like doors, except it doesn't actually scroll you anywhere, only lock/unlocks the screen. Good for having secret passages in odd places. Also cool would be floor/celing doors, that all they do is just act like a room transition, nothing else(if I remember, a certain door object has a horizontal/horizontal transition).
Also, power bomb doors, could just be the modified 10 missle door. |
Xkeeper
Posts: -4150/-863 |
Originally posted by Parasyte
I saw that and went
I swear, I haven't seen something that looks that good on NES before. The word "RUINS" looks like it came out of the SNES or some 3D game
Very nice |
Parasyte
Posts: 63/514 |
The bit-masking idea isn't too bad. I actually had the same exact thought for creating a "visited room" hack, which would allow the game to keep track of where Samus has been, and where she still needs to go. But, there could still be some problems with scrolling issues, even if only displaying the current area. For example, the default Brinstar map spans the entire 30-room length of the world. It's not unlikely that a hack may end up with an area that spens the entire 30-room height of the world. That would require scrolling, again. Then there's alsways the thing about rebuilding the bitmasks every time you change the world layout.
As for the special item hacks ... I know there is a GameGenie code that allows you to actually space jump. It would only be a trivial matter of hard-coding it and/or adding checks to ensure the "space jump" item has been collected. (And maybe 'bug fixing' it) For the spiderball, you would mostly be dealing with bypassing all of the gravity routines. The game already has code to "lock" certain enemies onto walls. I don't see why that could not be edited to do the same to Samus. Now, a few more difficult ones would be wall-jumping and homing missiles. ;D |
VL-Tone
Posts: 17/200 |
I forgot about the map size limitation. My first idea was simply to fetch the bytes from the 32x32 map into the name table (with some filter). But yeah I then realised it wouldn't fit on the screen.
I have been thinking about showing only the current area. This could be achieved by having 1-bit masks (that would take 128 bytes) inserted in each area bank. An X Y offset would also be stored for each area so the area map is centered.
Anyway it was just a thought and your mini-map is cool enough for me
The ultimate Metroid asm hack ever imho would be a spider-ball... I know it would be very hard to pull this one up. A jump ball and space jump could be easier though.
|
This is a long thread. Click here to view it. |
|