Skip to content
PhoenixBound edited this page Mar 2, 2024 · 3 revisions

Greetings, and congratulations on discovering this document! By doing so, you have not only ensured the renewal of hope for all of humanity, you have also saved an average of nine puppies from a horrible demise! On a related note, you have also taken the first step towards learning how to hack EarthBound using CoilSnake.

This guide will hopefully instruct you in all the basic techniques required to get you up and hacking one of the greatest games in modern history. Beyond reasonable computer skills and a willingness to learn, there are no real prerequisites, so let's jump right in!

How can EarthBound be hacked? It's on a console!

EarthBound, like any other console game, can have its data extracted and manipulated on a computer with special tools that are able to grab its ROM (Read-Only Memory) from its cartridge, where all the game's programming and art is located. The ROM can then be passed through something called an emulator, which attempts to recreate an SNES environment so that you can play EarthBound on a personal computer.

Once you have your ROM, you'll need to get an emulator. Mesen is highly recommended, as it works on Windows and Linux, possesses a plethora of features useful to hack creators, and is easy to use. For macOS, get Snes9X. Other options with different strengths are also linked on the home page of this wiki.

Now that you have the game data on your computer, you can start experimenting with it. To do so, you can either manually tweak the ROM's hexadecimal values (a technique that this tutorial doesn't cover, but would be useful if your objective is to poke around and research how to edit new aspects of the game), or you can use some of the many tools that have been written over the years to automate this process considerably (particularly useful if you're more or an artist than a programmer). This manual will focus on CoilSnake, as well as other tools the community uses in tandem with it.

Well, okay, so what about Mother? And Mother 3?

For various reasons, EarthBound Beginnings and Mother 3 haven't been researched/experimented with by the community as much as EarthBound. In the case of the former, this is mostly because people have found it less interesting/rewarding to work with an NES-based game engine, and in the case of Mother 3, the way things are organized in the ROM makes it really hard to modify or add things.

However, the PK Hack board of the STARMEN.NET forums has a full list of tools that includes a few things relating to EarthBound Beginnings and Mother 3. These tools will not be covered in this guide.

What do I need to start hacking?

Operating system: CoilSnake and the EarthBound Patcher tool are both cross-platform, and will work on Windows, Mac and Linux. EbProjEdit (the current map editor) will run on any system with Java installed. EBMusEd, PSI Animation Editor, and EarthBound Save State Editor are Windows-only programs, but using the Mono library or Wine, they could potentially be made to run on Linux and Mac.

Note: For instructions on how to run CoilSnake on Mac/Linux, see DEVELOPMENT.md

Text editor: Apart from an appropriate operating system, you'll need various standard utilities to edit game files: a text editor to edit .yml files, such as Notepad++, VS Code, Atom, or Gedit (Linux). A traditional word processor like Microsoft Word is unlikely to work.

Image editor: Photoshop is the industry standard for image editing, but it's extremely expensive. If you can't afford it, there are many alternatives that were actually made with pixel art in mind, like GraphicsGale, which is free, or Aseprite, which isn't free, but is very popular among pixel artists. GIMP is also an extremely popular open-source Photoshop alternative. (Note: some older versions of GIMP saved transparent colors in a different way than CoilSnake expects. This shouldn't be an issue with the latest version, however.)

Dependencies: Individual programs might have third-party dependencies, or might even depend upon each other to work. Each tool's documentation will outline what is needed.

One human brain: Preferably not in a jar.

Acknowledgements

Much of the content of this tutorial was sourced (with permission) from Lyrositor's EB Hacking 101 tutorial. However, that tutorial is out of date (since it was written early in CoilSnake's development) and is no longer being updated.

Other Resources

Clone this wiki locally