maxim-zhao/micromachineseditor

What file am I supposed to pass in the command line?

Closed this issue · 16 comments

Hello,

Sorry to ping you for an old project, but I'm trying to use the editor to visualize the hidden boundaries and such that are in the game. I have some C# experience but I have very little experience working with roms. I've tried passing in a rom as the argument, as well as files from the Analysis folder. Can you help me?

-Jason

Figured it out, I was trying to use a Genesis ROM and not SMS. Working now!

Oh I've definitely been using those too, I mostly just use this tool for the checkpoint information. Also, this is the only source I've found for a map of the final race.

But the last race is just a redo of Crayon Canyons...

Ah right, I didn't realize that at the time. Genesis version has a different map for crayon canyons, which I still can't find a map for

Funnily enough I made the maps for the later Micro Machines games for Mega Drive some years ago over at http://vgmaps.com/Atlas/Genesis/ but I didn't do the original game.

haha darn. Well, the one missing map isn't a huge deal. The main thing I was looking for in this project was trying to figure out how the hidden checkpoint system works... there are definitely some tiles that you have to touch before you can proceed, and while I've done some brute forcing to figure out where they are, I haven't been able to find them programmatically. I was hoping it was related to the unknown track data, but I haven't been able to figure it out.

You can see here how, for instance, Race 1 has three required tiles that the game will not allow you to skip, allowing for this route:
01MicroMachines-SMS-TheBreakfastBends

Some levels seem to have a ton of them (e.g. garage levels) while others have very few (e.g. sandbox levels).

Don't know if you have any interest in digging back into this project, but if you do I'd love to help. I think there are a lot of game breaking shortcuts to be found, possibly even some ultra-shortcuts as in mario kart 64.

In edit mode there's a "big numbers" overlay. The game applies an upper limit on how many numbers you can skip on this basis. I don't recall the exact number you can skip, it's somewhere in the disassembly.

Found it:

; Data from 6C31 to 6C38 (8 bytes)
DATA_6C31_TrackSkipThresholds:
; one per track type
.db 10 ; SportsCars 
.db 10 ; FourByFour 
.db 10 ; Powerboats 
.db 12 ; TurboWheels
.db  9 ; FormulaOne (19 for head to head)
.db 10 ; Warriors   
.db 10 ; Tanks      
.db  6 ; RuffTrux (5 for first one)
; Maximum shortcut distance (in metatiles)
; Value is the threshold where >= means you explode, so the minimum is 2

So indeed Turbo Wheels get to skip the most. You could plan speedrun routes by going in straight lines between points on the course differently for each lap based on this.

I found the same thing, but it's demonstrably false. For instance, in stage 16, I'm able to skip from block 4 to block 29 (I think you can actually go as far as 31). That's much further than 12. However, after hitting block 29, you MUST hit block 40 before hitting any block higher than 40. If you mess up that turn and tag block 41, you explode.

16MicroMachines-SMS-TheDareDevilDunes

I've found this all over. There are tons of shortcuts that ignore that maximum shortcut distance number, as well as shortcuts that should be possible based on the max shortcut distance but aren't. (At least in the Genesis version. I've noticed the same seems to apply to the NES version, but I haven't tested the SMS version myself to make sure.)

Hmm, it seems to hold for me. (This is all for Tournament mode.)

image

If you don't clip tile 30 here, you explode.

I just fired up the SMS version, can confirm the shortcuts are different. Darn!

How hard are these disassemblies to make?

Very! :) Which version are you looking at?

That's what I figured, haha. I'm running on the Genesis version.

Yeah, it could be doing anything. The Game Gear version is super similar though.

What's extra weird, I just fired up the NES version and it seems to follow the same rules as the Genesis version.