Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.
Resource icon

Final Fantasy: RPGe Advance

Brief History of Final Fantasy V

Released by Square for the Super Famicom in 1992, Final Fantasy V is remembered for having refined the RPG "job" system previously shown in Final Fantasy III; making for a Final Fantasy game that's very re-playable with a myriad of job combinations and abilities to unlock. There's more depth in the gameplay of FFV compared to most other Final Fantasy games and most other JRPGs. The next Final Fantasy game to come close to this would be the Final Fantasy Tactics series.

Square America originally looked at Final Fantasy V in 1994 and deemed it too complex for American audiences to understand. Plans were later made to release it late in the Super Nintendo's life as "Final Fantasy Extreme", but by then Final Fantasy VI had already been localised and released in the US as Final Fantasy III and development was starting on Final Fantasy VII.

In 1997 Square Japan and America once again looked at localising Final Fantasy V, this time for Windows PCs. A translation was mostly completed, but development fell apart.
During the same year of 1997 an online group calling themselves RPGe were discussing hacking the original Japanese release of Final Fantasy V and translating it to English themselves. An early version of this effort was released later that year as "v0.96".

The RPGe fan translation "v1.0" was released in 1998, before any official English version of the game would be completed. It set a new gold-standard for fan-translations and is now legendary.

A year later in 1999, Square rushed together their own English version of Final Fantasy V, taking the unfinished, rough script from the prior Windows PC release and using it unchanged for a PlayStation 1 port. The incredibly poor quality of this translation would be held as a negative mark against the quality of Final Fantasy V in the west.

In 2006, Square Enix - a part of their renewed friendship with Nintendo - released Final Fantasy V for the Game Boy Advance. This version has updated graphics, a brand new end-game dungeon with boss and additional new Job classes. It also has a completely re-worked English script & localisation.

A much later 2013 mobile & Steam release of Final Fantasy V introduced new high-resolution character sprites created by the original artist, as well as higher resolution tiles. Unfortunately the character sprites look worse than most RPG Maker games, with their 2D perspective not matching the world they walk around in, stiff limbs that point directly downwards, soft colour palette with harsh black outlines, and lots of pillow shading. Because of Final Fantasy V's "black sheep" status in the west, the reduced quality of this already unpopular entry of the series didn't receive much publicity, giving Square Enix agency to give Final Fantasy VI an identical treatment of poor, ill-thought out graphical "enhancements", much to the chagrin of fans.

Final Fantasy V was series creator's Hironobu Sakaguchi's favourite Final Fantasy until after the release of Final Fantasy IX in 2000.

Reception

The late English release of Final Fantasy V took it away from the context of the original 1992 release. By that point, Final Fantasy VI, VII and VIII had been released - all games that moved somewhat away from the classic "Fantasy" style, opting to not strictly focus on the Final Fantasy trope of "Crystals" and the classic elements "Water, Earth, Wind and Fire". Final Fantasy V felt childish and immature compared to these later games.

Further compounding the childish appearance, FFV in 1992 was the first time the team at Square really flexed their muscles with character animations, with series creator Hironobu Sakaguchi stating it was the new ability to animate emotions in the character sprites that put FFV onto a new level of story telling, but these animations on small sprites are rather comedic and exaggerated, as if the game isn't taking itself seriously. A sentiment that is echoed by western reviews for every release of Final Fantasy V.

Final Fantasy V Advance

Square Enix re-translated the game to English, so all's good and we can forgive the terrible PS1 script - right? Well, unfortunately the PS1's script had already damaged the reputation of the game, on top of this the incredible RPGe translation stuck probably too closely to the Japanese release with the default naming of the main character "Butz" (which has been, and still is, the official Romanisation of the Japanese name), resulting in years of mockery from the Final Fantasy community, so Square Enix really needed to get the English script right this time to fix the game that is beloved by Japanese Final Fantasy fans.

Unfortunately, the balance between translation and localisation is difficult, and in my opinion Square Enix once again got it wrong.

fdsJgQo.png


tumblr_l5mecxTryg1qzhh11o1_r1_500.jpg


The RPGe fan translation has been criticised for being too "bland" and without "personality", this is because the fan translation attempted to stick as close to the Japanese original script as possible, only applying localisation when there were no easy translations, but here in the most recent, official translation we have some very 2000s era pop-culture references inserted into a game from 1992.

I also take issue to two references to the Christian holiday "Christmas" being used in a Final Fantasy game. There is zero mention of Christianity anywhere in Final Fantasy V's universe, there are no visual hints, why has this kind of history been inserted into the game's world by means of an English localisation?

All this adds up to creating a very childish game that doesn't take itself seriously, which is exactly what we see with western reviews and commentary about Final Fantasy V. If Final Fantasy VI was an opera, Final Fantasy V is a pantomime.

Some Final Fantasy fans are simply glad to have an official script, and indeed the Final Fantasy V Advance script has been back-ported to the RPGe fan translation, creating a Super Famicom version of the game with the 2006 script.

FFV Advance has other problems, such as poor frame-rate, missing overworld tile animations and butchered music, but that's a rant for another day.
Final Fantasy V: RPGe Advance

FFV Advance introduces new job classes, a whole new dungeon and a new boss, in terms of content it is the best version of Final Fantasy V. But in my opinion, the English script falls short of making it feel like a Final Fantasy game.

I told myself I will not re-play Final Fantasy V until I port the RPGe Super Famicom fan translation to the Game Boy Advance ROM, so here I am making this ROM hack (I've been really itching to play through this game again!!).

http://www.youtube.com/watch?v=sqh1TOj7hfY

This project started in 2017, then went on hold for a while. I rebooted it this year and it's now closer than ever to completion.

It began with creating ROM hacking tools for extracting the RPGe script and re-flowing it for the GBA game and generating a .IPS ROM patching file that can be publicly released.

https://github.com/felixjones/ffvtool

Unfortunately, the C++ code is starting to rot, so now I'm taking what I have and I'm sprinting to the finish line with manually hacking "find & replace" any issues I encounter whilst play-testing the game.

I'll be documenting information about the ROM in this thread.

What has changed?

RPGe being a fan translation has a few typos and grammatical errors, which I'm tidying up on the way.

I'm also using the official Square Enix English names (Butz -> Bartz, Elementalists -> Geomancers), which adds some complexity.

Some dialogue has to be modified to fit into the smaller GBA 3-line text boxes. Interestingly, without the face portraits, the GBA version can horizontally display more text.

The face portraits have been removed. They are useful for adding context of who is saying what dialogue, but they really do not match any of the character sprites in the world or battles and the original 1992 game did not have them.

Any dialogue in the extra dungeon may or may not be touched. I'll figure that out when I get there.

Button prompts had to change due to Game Boy Advance having different key layout to Super Famicom.

What hasn't changed?

I'm trying to preserve the "feeling" of the RPGe script. It has some interesting decisions, such as having more than 1 character speak within a single dialogue box - which makes editing a lot more difficult.

Progress

This is already 90% completed thanks to the tool I wrote to automatically extract and reflow the RPGe text for the GBA version. The last 10% is manually editing the text and testing the game a few times over, and 90% of the time is spent on the last 10% of a project...

I've pretty much completed a first-pass edit of the first world, just a few more dungeons to go through. The worlds aren't split evenly, but this is about 1/3 of the game.

Preview Download

Version 0.1 (U)

Requires Final Fantasy V Advance (U), CRC32 7a24ab0c.
Download: https://github.com/felixjones/ffvtool/r ... v0.1_u.ips
Use a tool such as LunarIPS to apply to your ROM.
 
Stuff like this blows my mind! I've never played FFV so can't comment on that side of things... but how is code 'rotting'? That just doesn't make sense to me in a literal or metaphorical sense? Good luck with this! :)
 
Text Tables

Here are the text translation tables I've compiled together for RPGe, FFVA (USA release) and FFVA [E] (Europe release).

https://gist.github.com/felixjones/5444 ... 51cc55c227

The hex codes are translated to the RPGe version, so RPGe is considered "source of truth".

What do these hex codes mean?
Information from Data Crystal: https://datacrystal.romhacking.net/wiki ... tasy_V:TBL
Code:
00 - Endstring, wait for response.

01 - Linebreak, 4 at most per message at dialogues, waiting for a response to clean the box and keep going.

02 - Bartz name, since he is the only one that can be renamed.

08, 09, and 0A - tabulation, range according to characters' names.

0C - Pause with one byte.

0F - Automagically closes the box.

10, 11, 12 - Common variables, for gil, item, and abilities respectively.

17 - Pause, later byte tells how many time it takes.

Xhukari":1bzmuzzz said:
Stuff like this blows my mind! I've never played FFV so can't comment on that side of things... but how is code 'rotting'? That just doesn't make sense to me in a literal or metaphorical sense? Good luck with this! :)
I started writing the C++ with the mindset "this should be clean, complete and super readable". That applies to say, 50% of the code?
But when it came to text/string processing (a big weakness of C/C++ and many languages) it all fell to pieces and I just said "screw it, I'll slam out code that works and then just get the ROM hack done".

At the moment that 50% rot is all stuffed into a single source file text_mutator.cpp: https://github.com/felixjones/ffvtool/b ... utator.cpp
Compare that to the style of code in my tree class created for and within the exact same project: https://github.com/felixjones/ffvtool/b ... v/tree.hpp

text_mutator.cpp is just a monster mess of string detection, utility functions, messy back-and-forth with finding codes and translating them to/from UTF-8 strings for C++ processing. tree.hpp is a collection of small methods that do as small amount of work possible and is something I'd probably consider copy/pasting into a future C++ project.

The term code rot applies more to "an old codebase that no-longer works because it used old systems/compilers/bugs that don't exist anymore", so perhaps rot is the wrong term. It's pretty much spaghetti code that has poisoned the code and is making the work slightly more difficult that it needs to be as a result - but because majority of text in FFV is dialogue it's actually not too bad, just means a lot of find-replace hacks are needed to tidy up everything.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top