•Your first hack - How to use CoilSnake


The first thing you'll need is an EarthBound ROM. I won't tell you where to get one out of safety, but you can look it up. It's not too hard. Make sure it's in .smc or .sfc format.


Decompiling

Start by opening up CoilSnake. Now, go to the "Decompile" tab.

Decompiling a ROM with CoilSnake converts all the images and game data into files that are easy for you to edit, like text and images. Press "Browse" next to the "ROM" field and select your EarthBound ROM. Then. press "Browse" next to the "Output Directory" field and choose an empty folder (or create one, then choose it). Now you can go ahead and hit Decompile.

▷ Errors you could get at this step


Editing

Since this is your first hack, let's just do some small sprite and text edits. Once you're used to how CoilSnake works, we'll get into more complex topics with a bigger hack.

Editing the player's sprite

Let's start by editing the sprite of the player character. Open the SpriteGroups folder, and then open 001.png in the image editor you downloaded earlier. Now you can scribble all over it. Or do something more artistic. Up to you. As you can see, only the walking animation frames are here. Other animations get their own sprites. You can find a labelled list of sprites in this spreadsheet.

Ness is in his PJs at the start of the game too, and you might have already taken the initiative and edited the file with him in his pyjamas. This is a trap! You have been fooled! Those evil localisers, when they changed Ness in Magicant, didn't actually make him use his normal PJ sprites. They just made a copy. The real ones are at 437.png, so edit those too.

Editing the player's name(s)

You might have replaced Ness with a totally different character of your own. Let's update the "Don't Care" name options to match. Open dont_care_names.yml in your favourite text editor, and you can replace them right there. However, these names can only be five characters or less. If you want, you can take this opportunity to poke around in text_misc.yml and replace some of the text during the naming sequence there. It's down near the bottom of the file.


Compiling

Now that you've made your changes (be sure to save any files too), head back to CoilSnake and this time to the "Compile" tab. Choose the "Base ROM", which is the unmodified EB ROM you downloaded earlier, and the "Project", which is the folder you decompiled to. When you choose the "Output ROM", type in the file name of where you want the ROM to go, as if you were saving a file. Do NOT select your base ROM. Now, go ahead and press the big long "Compile" button, and watch CoilSnake get to work. Once it's done, give it a test in your SNES emulator.

Oh, CoilSnake may also ask if you want to expand your ROM. Hit "Yes" - you should always do that, because it's very hard to add anything new at all without running out of ROM space.

Super cool tip: Configuring the emulator

You can cut down on time by testing your hack simply by pressing the "Run" button in CoilSnake, in the "Output ROM" row. But first, you need to tell CoilSnake where to find your SNES emulator. Do that by going into "Settings" on the menu bar, and hit "Configure Emulator". Now choose the executable file of the emulator you downoladed.

▷ Errors you could get at this step


Now that you've learned how to decompile the ROM, edit files, and recompile it into a new ROM, you can try editing any of the other .png and .yml files. The CoilSnake wiki is where you can go to find out how to edit specific things. This is the development cycle you'll follow when using CoilSnake. Next, we'll start doing some more advanced things, like editing NPCs and the game script.


=== Onwards! ==>