Following the success of his fan dub of Pokémon Super Mystery Dungeon, YouTuber TheGoldCrow has started a new project: a fan dub of Pokémon Mystery Dungeon: Explorers of Sky.

One interesting feature of his dub of Super Mystery Dungeon is that some episodes end with custom scenes consisting of fan-written dialogue that fits quite well with the existing story. His dub of Explorers of Sky is no different. However, unlike the dub of Super Mystery Dungeon, the custom scenes in the dub of Explorers of Sky were created using ROM editing tools made in collaboration with @Nerketur, @psy_commando, and myself.

You can watch the fan dub here, or if you would prefer to skip to the custom scene, it can be found at the end of the second episode. More episodes will be posted, so either check back later or subscribe if you are interested in watching more.

How the custom scenes work

@Nerketur pioneered the research into editing the scripts and wrote one of the first ROM editing tools for Mystery Dungeon out there, @psy_commando wrote the specific tool I used: statsutil. While this is an amazing tool, dealing directly with command-line applications can be a hassle, so I prefer using my own program Sky Editor to manage its execution for me. I've written a tutorial on how to use it, which can be found here:

When following it, make your way to the third step titled "Creating a Modpack", and when you get to the "Making Mods" heading, more information about using statsutil can be found here (and when you're done, resume from where you left off in the Sky Editor guide):

For this project, I chose to overwrite the scene that normally takes place after reaching the end of Beach Cave for the first time (right before the battle with Koffing and Zubat), because it is easy to get to: I just had to create a quick save one tile away from the stairs, after which will trigger the new scene. From there, TheGoldCrow used video editing to stitch it together with the rest of the video. For anyone looking to make a ROM hack, a slightly better alternative would be to insert the custom script at the end of an existing script, although the method I used could still be used for quick testing.