Making Mario Kart Track Images

This How-To will get any image you want into a Mario Kart rom as a playable track. What you will need is -

- A PC (sorry Mac fans)
- ZSNES or your emulator of choice
- Super Mario Kart ROM (don't ask)
- Photoshop or another RAW image editor
- Track Designer - you can get that here, along with a lot of other amazing utilities for SNES hacking. Direct Download Link

First off, start up Track Designer and load your Mario Kart ROM. It will show the first racetrack in the list, a good starting track but not exactly what we're looking for. I like the exploratory nature of the battle tracks personally, and the AI might get a bit glitchy if we have computers mucking around our loaded track, but it's up to you. For now I picked the first battle track, which is probably the best choice because of it's lack of stuff.

Remember that you cannot change elements like where the item blocks are, these are deep within the code of the ROM along with many of the images that would be otherwise editable (like the title screen). You can however, choose another tracks data which might be helpful for certain situations.

Now that you have your track loaded, you have a few options here. You can either leave your tile selection to the gods (which can have nasty consequences) or you can go to the track designer toolbar and close to the top right put a single line of tiles in a gradient as an index to apply to the grayscale image you'll be importing.

Keep in mind that the actions of a tile within the game still apply to your track. for instance if you put grass everywhere, the Laiku guy will pick you up and drop you off at random places every time you end up in a patch.

Now export your track, and remember how many colors are in your palette if you used them. What your going to do next is trick Photoshop into thinking your track is an image file. Rename the extension from ".MKT" to ".RAW" and startup Photoshop. Navigate to the enclosing folder and open your track file as a RAW file. A dialog will come up setting dimensions and the header.
Now your in business, set the options shown here, with 128 x 128 and a header of 1 byte.

An image of the track you exported should be seen now. If there are any dialogs about changing the header, deny at all costs especially on saving from now on. Each color represents a certain block as you might have guessed. If you didn't follow my earlier suggestion of making a palette of colors, disregard the next few steps.

Zoom into the area where you put your palette and make a selection box around your colors. Copy and Paste these into a separate document so it's easier to access from now on. Now take the image you'll be using.

De-saturate your image it when your comfortable with it's contrast. Unless you've got only 2 tiles, keep a certain amount of grayscale.

Scale it down to exactly 126 x 126. I've found that if I copy over all the edge data, I get some pretty nasty effects that don't allow me to reimport. You should have 3 images up, your track, the image you want to import, and your palette

Posterize your grayscale image to the amount of colors you have in your palette. Now this next step is quite time consuming but I couldn't find a better way. Color range each color you have in your image (with a fuzzyness of zero) and replace with the corresponding palette color.

<-- This is around what your should have now.

From this point on, it's as easy as copying and pasting your image to the track canvas. Center and save it as a raw file, preserving the header. Now just change ".RAW" back to ".MKT" and load it back into your ROM with track designer using "Save Track to ROM" (Battle Track 1 is index number 16).

Your ROM should be ready for playing, load it up in an Emulator and check it out.

Tutorial by Aaron Brewer