Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - NES Metroid - AutoMap hack released
  
User name:
Password:
Reply:
 

UserPost
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.
Acmlm's Board - I2 Archive - Rom Hacking - NES Metroid - AutoMap hack released


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.005 seconds.