Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - NES Metroid - AutoMap hack released | | | |
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Parasyte Bullet Bill Level: 35 Posts: 56/514 EXP: 267348 For next: 12588 Since: 05-25-04 Since last post: 104 days Last activity: 32 days |
| ||
Some of you may remember the Metroid AutoMap hack I was working on some time last year... Well, I've finished it and decided now was a good time to release. First, the complimentary screenshot: The funny looking square under the energy display is the AutoMap doing it's job. The palette and tiles used to display the AutoMap are fully customizable. Assembly source code for the AutoMap routine is included. (Just make changes to tile indexes or palette and reassemble!) List of features: * Displays an auto-scrolling map in realtime, similar to Super Metroid. * Works with almost every Metroid hack. * Complete, commented assembly source code is included, making the hack 100% customizable. If any of you Metroid hackers want to use the AutoMap in your own hack, go for it! Read the included readme for more details. DOWNLOAD: http://parasyte.panicus.org/projects/met-map/met-map.zip |
|||
The Kins Kodondo Level: 38 Posts: 146/595 EXP: 354733 For next: 15714 Since: 03-15-04 From: Melbourne, VIC, Australia Since last post: 2 days Last activity: 9 hours |
| ||
Wow, just wow! This is awesome! PS: What happened to that Powerbomb code you were doing? |
|||
Parasyte Bullet Bill Level: 35 Posts: 57/514 EXP: 267348 For next: 12588 Since: 05-25-04 Since last post: 104 days Last activity: 32 days |
| ||
It's still in my hack. The code for the powerbomb is about completed, except for removing the "bombable" blocks. While on the subject of my hack, here are the latest screenshots: #2 ... The first screenshot was just a standard edit, nothing special there. The second screenshot is pretty cool. It's using a "raster bar" effect that I created to test MMC3 IRQs. (The original Metroid runs on the MMC1 mapper. MMC1 is very basic, and doesn't contain much other than ROM switching capabilities. For my hack, I've been converting the game from MMC1 with CHR-RAM to MMC3 with CHR-ROM. The MMC3 allows me to do cool things like the raster effect -- where I change the background color every two scanlines. It was a rather simple task, so that's the first thing I've done with the MMC3 IRQ. Other uses (later) will include a Super Metroid-type status bar. Whew, this was a long sub-note!) I also still have the status bar mockup I made last year, which I plan to use as a guide for the real thing. Everything in the screenshot is aligned to NES Name Table standards, and I think the graphics turned out rather well. Here is the mockup for reference: Finally, if anyone wants the powerbomb video, I still have it as well. It's been hosted on DES for as long as I can remember: http://www.dragoneyestudios.net/hosted/parasyte/MetPBomb.avi |
|||
Keitaro Iron Knuckle ウラシマ ケイタロウ Level: 54 Posts: 439/1342 EXP: 1201569 For next: 32301 Since: 03-15-04 From: Hinata, Japan Since last post: 2 days Last activity: 2 days |
| ||
I'm normally not really into Metroid hacks, but DAMN. This makes me want to play that hack, you look like you've put alot of hard work into it and that's great to see in a hack. I can't wait for this | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 16/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
Wow Parasyte! That's really awesome what you did I had the idea once of doing some asm hack and get the whole map to be displayed when you hit pause. Maybe you could add that too? It shouldn't be too hard. My only really usefull and working asm hack in Metroid is a patch that enables just about any blocks to be destroyed. There is some limitations and glitches, you cannot use it in Tourian. Also bombing doesn't affect the blocks under Samus, unless they were destroyable in the original, and when the blocks reappear they have the wrong graphics. You can get an IPS patch here: http://membres.lycos.fr/nes3d/METROID_ALL_BLOCKS.IPS Also while we're at it, I started a doc about the way item location data is stored. I had to figure out these by myself for Metroid Cubed, since it was not documented, and it's not obvious in the Metroid or MetEdit source codes. The doc is there: http://membres.lycos.fr/nes3d/MetroidItemData.txt Continue your great work Parasyte (edited by VL-Tone on 06-13-04 12:01 AM) |
|||
Parasyte Bullet Bill Level: 35 Posts: 59/514 EXP: 267348 For next: 12588 Since: 05-25-04 Since last post: 104 days Last activity: 32 days |
| ||
A pause screen showing the map, eh... The biggest problem may be lack of free space in the hard-wired PRG bank. The AutoMap uses 138 bytes of the 192 bytes available in that area. I tend to doubt that a complete map display routine could be created within 54 bytes. But, that is plenty of space to issue a bank swap command if you can find a bit of free space in another bank. It would just be a bit difficult to use both hacks together. The next problem is that the entire world is created using 32x32 rooms. Assuming that the outer-most rooms will be blank, (as they should) that can be limited to 30x30 tiles to display the entire map. That will just barely fit on an NES screen. (32x30 tiles/256x240 pixels) But! On an NTSC NES, the upper 8 scanlines, as well as the lower 8 scanlines of the screen cannot be seen. Basically, that means you're limited to 32x28 tiles on any NTSC TV. (Note that some emulators will allow you to view all 240 scanlines, but not all. And anyone lucky enough to try it on a real NTSC NES will be in for an unpleasant surprise!) So uhh, I guess the only real option would be having the user scroll the map while paused. I don't see any way that a routine like that will fit into 192 bytes. That's just really pushing it. Even if it heavily relies on code which already exists in the ROM, it would still be quite a feat to pull off. In other words, that hack would be a lot of work. You would have to be familiar with MMC1 (for the bank swapping) as well as using the PPU properly. |
|||
Dude Man Koopa Level: 18 Posts: 4/116 EXP: 29288 For next: 609 Since: 05-02-04 From: Wareham Since last post: 1 day Last activity: 7 hours |
| ||
This sounds really cool. but one question. How exactly do you hook it up, do you patch it too a normal patch then edit, or can it be installed on any Metroid Hack in the process of being crafted? |
|||
Parasyte Bullet Bill Level: 35 Posts: 62/514 EXP: 267348 For next: 12588 Since: 05-25-04 Since last post: 104 days Last activity: 32 days |
| ||
The patch can be applied to any Metroid hack with just a few exceptions: The ROM must not be expanded, and the area used for the routine must not already be used by the hack. So whether the hack is just getting started, or is already complete, apply the patch and it should work fine. It's only the *really* advanced hacks you will have to be careful about. (Probably aren't any of those around, yet) | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 17/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
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. |
|||
Parasyte Bullet Bill Level: 35 Posts: 63/514 EXP: 267348 For next: 12588 Since: 05-25-04 Since last post: 104 days Last activity: 32 days |
| ||
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 |
|||
Xkeeper The required libraries have not been defined. Level: NAN Posts: -4150/-863 EXP: NAN For next: 0 Since: 03-15-04 Since last post: 2 hours Last activity: -753366 sec. |
| ||
Originally posted by ParasyteI 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 |
|||
Jigglysaint Red Cheep-cheep Level: 24 Posts: 29/215 EXP: 76907 For next: 1218 Since: 03-17-04 Since last post: 7 days Last activity: 3 days |
| ||
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. |
|||
Geiger Buster Beetle Level: 34 Posts: 72/460 EXP: 241080 For next: 12571 Since: 03-15-04 From: Indianapolis, IN, USA Since last post: 6 hours Last activity: 6 hours |
| ||
Originally posted by Jigglysaint Yeah, there is a sand pit room somewhere, that was annoyingly reproduced in Zero Mission. ---Evil Peer |
|||
Parasyte Bullet Bill Level: 35 Posts: 65/514 EXP: 267348 For next: 12588 Since: 05-25-04 Since last post: 104 days Last activity: 32 days |
| ||
Originally posted by Jigglysaint 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! |
|||
Jigglysaint Red Cheep-cheep Level: 24 Posts: 30/215 EXP: 76907 For next: 1218 Since: 03-17-04 Since last post: 7 days Last activity: 3 days |
| ||
Originally posted by Evil PeerOriginally posted by Jigglysaint 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. |
|||
MathOnNapkins Math n' Hacks Level: 67 Posts: 339/2189 EXP: 2495887 For next: 96985 Since: 03-18-04 From: Base Tourian Since last post: 1 hour Last activity: 32 min. |
| ||
Wow Parasyte this is awesome and I really mean it. Now go get a job! (j/k) | |||
VL-Tone Red Cheep-cheep Level: 23 Posts: 18/200 EXP: 64158 For next: 3565 Since: 06-06-04 From: In the Moon! Since last post: 5 days Last activity: 2 hours |
| ||
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. (edited by VL-Tone on 06-12-04 11:59 PM) |
|||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 967/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
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). |
|||
Parasyte Bullet Bill Level: 35 Posts: 71/514 EXP: 267348 For next: 12588 Since: 05-25-04 Since last post: 104 days Last activity: 32 days |
| ||
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. (edited by Parasyte on 06-13-04 03:53 PM) |
|||
interdpth Rex Level: 36 Posts: 63/527 EXP: 294398 For next: 13712 Since: 03-20-04 Since last post: 10 days Last activity: 31 days |
| ||
Para is god. |
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - NES Metroid - AutoMap hack released | | | |