News:

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

Main Menu

I made an interactive map website for SM hacks: maptroid.unrest.io

Started by badatmetroid, July 29, 2022, 09:03:28 AM

Previous topic - Next topic

badatmetroid

I made a site where I scrape Super Metroid hacks and then arrange them in a map engine. I mostly made this because I'm bad at metroid and get stuck a lot, but it should also be useful for plotting speed runs and admiring how cool some of these maps look from a distance (some hackers really put in the effort to line up the tiles between rooms). Right now there's 30 in there and my goal is to add one a week. It still takes 2-5 hours per map because they usually require a bit of cleanup.

Currently on the site you can filter items and link directly to them, toggle various layers, see all CRE blocks, and click on a linked door/gate to see what it's connected to (/me shakes fist at TROM). If you have any maps you want me to prioritize, let me know . Also if you have any feature ideas to make this more useful, let me know. I've put way too much time into this project for me to be the only person who uses it.

Enough rambling, here's the link:

https://maptroid.unrest.io

Future Plans:


  • Reach out to creators for their config files. Some of the best maps don't load properly in SMILE without them. (super zero mission, super duper, axeil redesign, cryogensis, biohazard and both y-fasters 2s all break my import script)
  • Parse 100% completion videos to verify items (some maps are missing items or have extra items)
  • Add ability for users to plan/share routes by drawing on map.
  • Add ability for users to suggest names for items and rooms (dibs on Spikey McSpikeface)
  • Plot speed run routes onto the maps via videos submitted to speedrun.com (step 1 learn computer vision...)
  • Open up the walls layer in an API (I have every room geometry mapped out... someone has to be able to do something cool with that)
  • Figure out how to display event details on the map and improve my scraper to capture this.

Oh, also vanilla SM is on there and Metroid Dread.

Conner

Ah you are the one that made that Dread map as well.
Really like these interactive maps even though I probably wont need them.
Would be cool if some day you could do maps for ZM or NEStroid or maybe even M2?
The hacking communities will probably support you with that if you have any questions.
Nontheless this looks very cool! Good job.

badatmetroid

Quote from: Conner on July 29, 2022, 09:31:53 AM
Would be cool if some day you could do maps for ZM or NEStroid or maybe even M2?

Most the hard work with the SM hacks is done using an autohotkey script to export each of the 5 layers in SMILE. I also export the area screenshot and have a script does like 50% of the room alignment (and serves as a template for me to quickly do the remaining rooms). I haven't looked into it, but whether or not I do the other games will most likely depend on if they have a tool like SMILE that I can automate.

Or maybe I'll get good at computer vision and figure out how to scrape the maps as I play them. Don't hold your breath on that one though.

Conner

For ZM there is MAGE which allows for room png exports.
NEStroid has Editroid as an Editor which apparently allows you to export the whole game as an image since rooms cant overlap in Metroid 1.
For M2 I am currently working on an editor and exporting "rooms" can be kinda tricky in that game so thats probably going to be way harder, not that its necessary since no one makes M2 hacks anyways  :lol:

Drewseph


nodever2

This is very cool! I can definitely see the utility of this website especially as a collaborative routing tool for speedruns, I think @LinkaMeister could find that particularly useful.
We do have some other community members who have been working on hack maps as well which I think are worth mentioning in case you want to cross reference your maps, or potentially focus on mapping out hacks that others have not yet (though you mapping out already mapped hacks will still be useful especially as the speedrun routing feature gets added to your website).
Great work, I will be keeping an eye on this project. Feel free to make further posts as you add new features/maps to the site.
For reference:
Need help? Just ask.
My Hacks | My Resources

drb

Quote from: badatmetroid on July 29, 2022, 09:03:28 AM
Some of the best maps don't load properly in SMILE without them. (super zero mission, super duper, axeil redesign, cryogensis, biohazard and both y-fasters 2s all break my import script)

A lot of the bigger hacks use room IDs that don't exist in SMILE's default mdb.txt, they have to be identified manually by playing on a debug emulator and watching the RAM for each room, or by manually "walking the map" in SMILE, and then added to mdb.txt in SMILEs data files.  In the course of my map work I've compiled custom mdb files for several hacks - axeil, phazon, duper, etc.  I'd be happy to share if you think they would help your process.

Regardless, this is great work, keep it up!
Super Metroid ROMHack Cartography
Last added: Super Ethical Metroid | Next up: Familiar

badatmetroid

Quote from: drb on August 21, 2022, 09:01:27 PM
A lot of the bigger hacks use room IDs that don't exist in SMILE's default mdb.txt, they have to be identified manually by playing on a debug emulator and watching the RAM for each room, or by manually "walking the map" in SMILE, and then added to mdb.txt in SMILEs data files.  In the course of my map work I've compiled custom mdb files for several hacks - axeil, phazon, duper, etc.  I'd be happy to share if you think they would help your process.

Thanks for the info. That's essentially how I was doing it before, but Metaquarius hooked me up with a mdb tool that can extract the missing mdb.txt entries. It's not perfect, but definitely a good start. Also, I looked at some of your screenshot maps and it looks like you're compiling them via smile images. I have a python script that does that automatically so I just set it up and about an hour later I have all the layers as pngs for each room. If you're interested I can share those. Since my last post I did get redesign axeil edition, as well as both the y-faster maps. Duper and phazon coming soon!

drb

Quote from: badatmetroid on September 12, 2022, 11:45:38 AM
Thanks for the info. That's essentially how I was doing it before, but Metaquarius hooked me up with a mdb tool that can extract the missing mdb.txt entries. It's not perfect, but definitely a good start. Also, I looked at some of your screenshot maps and it looks like you're compiling them via smile images. I have a python script that does that automatically so I just set it up and about an hour later I have all the layers as pngs for each room. If you're interested I can share those. Since my last post I did get redesign axeil edition, as well as both the y-faster maps. Duper and phazon coming soon!

Thanks for the offer but I'm good for now... I actually enjoy the process of pulling everything out manually, and it gives me a chance to review things like map overlays and layer 2 scrolls before publishing - stuff like the Turbo Tunnel in the middle of Zone 2 of Ascent for example.  You've got me beat hands-down in terms of functionality with the BTS overlays, but I strive for perfection when it comes to aesthetics.

Let me know how it goes on Phazon, I can't get 0.4 to load in anything and 0.3 has some grumpy event states that I had to manually edit out of the hex code before SMILE would read the rooms.
Super Metroid ROMHack Cartography
Last added: Super Ethical Metroid | Next up: Familiar

badatmetroid

Quote from: drb on September 12, 2022, 04:29:33 PM
Let me know how it goes on Phazon, I can't get 0.4 to load in anything and 0.3 has some grumpy event states that I had to manually edit out of the hex code before SMILE would read the rooms.

Heh. After posting that last comment I spent a few hours trying to get phazon to work and I keep getting errors. I'll DM you about getting the files.

Also I totally know what you mean about enjoying manually doing stuff. Before My most recent automation push I was manually lining up every room in my editor which was tedious but really relaxing. I probably shaved 2 hours off of every map by scanning the Room MDB tab, but it was definitely the funnest part of adding things.