Now that I’ve finally worked out the bugs of my hack, I wanted to spend a little time talking about how it was made and what shaped its development. That might seem unnecessary, but dammit I spent money on an art degree making rambling artist statements I’m gonna USE that art degree to make rambling artist statements!
The primary tools I used were the Final Fantasy 3 Sprite Editor and FF3usME. FF3usME in particular is an amazing tool letting you edit almost every aspect of the game including the entire script. I also found a lot of resources at Final Fantasy VI Hacks. While their database for sprite sheets ready to inset into the rom seems unreliable, they have a large selection of tools and hacks to look through.
My original plan was to rearrange the entire cast, not just the main characters. However, it became obvious that this would require more work than I was interested in doing. The game stores the data for each of the sprites in a sheet. Playable characters have a larger sheet which contains the sprites used for every action in and out of battle. NPCs who only walk around have a much smaller sheet which only contains information for walking data. This means that without any ability whatsoever, you can swap out the sprites for any playable characters and they will still work, and ditto for NPCs. If you want to swap in an NPC sprite for a main character (or vice versa), then you’ll have to greatly edit the sprite sheet to remove the unneeded animations or add in needed ones. So far so good, but the problem is that there are also a number of semi-playable characters with larger sprite sheets. Kefka, Leo, Banon and Esper Terra all have sprite sheets which include all the information the main characters’ sheets do except for a chocobo-riding sprite. The game designers figured that since no one would ever use these characters on a chocobo, they could store extra data for other characters in that part of the sprite sheet. This means that if you swap in a character who DOES have a chocobo riding sprite to replace Kefka, all the sprites in the code after Kefka will be glitched. Of course, you could go in and create new sprite sheets designed to fit each character’s data in the game, but that requires more time than I generally have. So I reduced the scope of the project to just the main characters.
The other problem is that of shared palettes. There are only a few palettes used by every sprite in the game. Edgar, Celes, Sabin, the ghost and the imp share the same palette, as do Kefka, Strago, Relm, Gogo, Banon and General Leo. I was able to figure out how to change the palettes, but not how to change which sprites use which palette. This means that you could change Strago’s color, but doing so would also change all the other characters who used that palette, and not all of them would look right. All the NPCs and townsfolk use the same palettes as well, so even if you got Locke looking right, it might make random townspeople looking bizarre.
The palette problem actually worked out in the sense that some characters looked really good in other palettes. Setzer looks great in Celes’ palette and Strago looks surprisingly cool in Cyan’s. However, some characters just do not translate into other palettes. Locke, Cyan and especially Shadow look terrible in any other palettes. This meant that I had to cast Shadow and Cyan in roles that used the same palettes, and Locke and Edgar in roles that used complementary palettes. Mog and Umaro were also hard to cast for the same reason. In any other palette Umaro becomes a giant naked man and Mog turns strangely brown.
In the end, I’m happy with the roles each character got assigned. Going in, the only thing I knew I wanted to do was to give Terra’s part to a man, Edgar and Sabin’s parts to Terra and Relm, and cast Locke and Celes’ relationship to be queer in some way. Before the palette problem became known, I briefly considered Shadow in Celes’ part, but in the end Setzer not only looks better, but also makes for a more compelling story. Not being able to change NPCs meant that Sabin (playing Locke’s role) became bisexual and Setzer (in Celes’ role) became androgynous or genderqueer.
The palette problem meant I had to shuffle around a lot of characters who did fit their intended palette to make room for characters who had a limited number to choose from. Edgar in Strago’s role and Celes in Umaro’s role were unintended results of this shuffling. Edgar isn’t really the best fit since most of Strago’s characterization is about being old. Logically, this had to be altered since Edgar doesn’t look old at all. In some of the dialogue this simply makes Edgar bland, but in some of the dialogue Edgar gains an interesting quirk where he comes across as weirdly out-of-date or folksy which I thought was interesting. It would take a complete rewrite to make this trait more pronounced, but the aim of the project was to stick to the original Woolsey script in every way except for pronouns and logical issues that would pull the player out of the game.
I felt a little bad putting Celes in Umaro’s part because it meant reducing the number of women in the cast (Celes does look cool in Umaro’s palette, and Gogo being promoted to having actual dialogue meant we did get a GQ person in the main cast). Unfortunately, Celes is one of the characters who works in almost any palette, which meant she had to take one for the team so that everyone else could find a role that fit. To compensate, I added in an additional hack I found which let Umaro equip weapons and armor (normally this feature is locked) and let the player have some strategy in how their beserk snow monster was used. Umaro’s part is now infinitely more useful in terms of gameplay, which I hoped would let players get to use Celes.
Final Fantasy VI is lucky enough to have enough tools available where anyone can create a hack. I hope I’ve shown how even a remarkably simple idea created with almost no talent at all can still create a compelling hack and help you engage with the original narrative in a new way. I would encourage people to make their own hacks to do just that. Want to try and fix the palette issue I was unable to resolve and make a more in-depth recasting hack? Want to keep the cast the same but change their roles in terms of gameplay? Want to just add in a bunch of characters and images you got from other sources and make a dorky collage of references? Go for it! Take the narrative and themes and make them your own.