Final Fantasy Legend 2 Randomizer

Medium: GameBoy, via emulation or writing ROM headers to a cartridge.
Premise: A classic video game where elements are randomized, optimizing replay-ability.

Written in Python. Code is available on my github.

Randomizers are a genre of fan game where developers take the a classic video game and, though hacking the associated ROM data, shuffle, randomize, or otherwise change elements of the game to create a whole new progression.

The internal workings of Final Fantasy Legend 2 has been thoroughly documented by fans. Spreadsheets containing deciphered hex-data are publicly available. An editor exists to edit the game by hand. All of this amassed fanwork has made it relatively easy to understand how the game runs, which makes building a randomizer even possible in the first place.

While it is easy to hexedit some values in different places, the larger ask is to make a game fun by randomizing elements to it. The most successful randomizers can answer the resultant design questions — generally related to progression. Final Fantasy Legend 2’s in particular lends itself to turning the game into an open world, and in doing so ultimately free up the macguffin collecting sub-system that was used in the original game as a gating mechanism. Players are now empowered to make decisions about efficiency and exploration.

In addition to randomization, bug fixes and quality-of-life features have also been added.