
MERROW
MERROW is an open-source “randomizer” for Quest 64, a 1998 RPG for the Nintendo 64. Randomizers are romhacking tools designed to revitalize old games by remixing game elements to make each playthrough unique. I started development on Merrow in 2021, and it now offers many randomization, difficulty modification, and quality-of-life options.

Merrow began as an experiment in exploring retro game data structures. I greatly enjoyed Quest 64 as a kid, despite its many flaws, and was curious about romhacking in general. Quest turned out to be an ideal candidate for this, as the game had undergone a long development and tried to implement many unique design concepts, although the execution of those ideas wasn't always the best.
Through my research into the game's data, I learned a great deal about how older games were architectured, but also discovered exactly how unfinished Quest really was, as it was rushed out to avoid competing with the seminal N64 title Legend of Zelda: Ocarina of Time.
I realized that I could use my existing programming skills to write and export simple game patches using an old open-source patch format called IPS, which was designed as an easy way to apply wide-ranging edits to a file's hexadecimal data. The first few versions of Merrow were developed in Unity C#, but adding more features required more complex UI improvements, so I migrated the tool to Winforms C# to make it more lightweight.
Merrow also ended up containing several other features:
- A Quest 64 game reference, containing extensive data about the game’s spells, enemies, and stats, as well as randomizer-specific information.
- A series of non-game-specific romhacking tools, including a data extraction tool, a generic IPS patch generator, and an N64 file checksum repair tool.
My goals throughout the project were usability and clarity for both the tool and the patched game, with the reasoning that a game this obscure (with a reputation this bad) would be a hard sell. So by devising many quality-of-life improvements to go alongside my randomization features, I sought to make Merrow a revival project to bring new and old players to a game I appreciated.
I formally 'released' Merrow with version 44, creating several media pieces (including a built-in Help function, explanatory detail sheets and a PDF Guide.)
Significant development milestones:
- 21-01-17: v1.0 first release, randomized spells proof-of-concept.
- 21-01-21: v1.2 with the first QoL option (passive Invalidity).
- 21-02-02: v1.51 first try at anti-crash logic for randomized spells.
- 21-02-13: v17 migrated the tool to Winforms.
- 21-02-26: v20 created Binary File Reader to extract data easily.
- 21-03-16: v23 implemented checksum-repair code as a DLL.
- 21-04-10: v26 implemented the ability to directly patch Z64 files.
- 21-07-17: v35rc added the "LOST KEYS" randomizer ruleset.
- 21-10-11: v42 created the "FRENCH VANILLA" QoL ruleset.
- 21-11-20: v44 was the Major Release, with cleanup and polish.
- 22-04-21: v47 made many changes to the "LOST KEYS" ruleset.
- 26-06-22: v50 (+v48/v49) added many long-requested features.
Merrow, available on itch: hangedman.itch.io/merrow
Merrow Github repository: github.com/hangedmandesign/merrow

