pillips88 wrote: Sun Oct 26, 2025 6:47 pm
bbfox wrote: Tue Oct 07, 2025 5:12 am
This game code style is very old.
Curious about this. I've heard they actually lost the entire code base and had to reprogram it from scratch. I have a deep tech background myself so I chuckled at it. Not meaning to correct you here, just thought I'd point that out in case it helps the discussion. 
(This is a longer article, I use translator)
The "lost code" refers to the original source code for Final Fantasy Tactics, which was lost during the game's original development and localization process. Developers had to essentially rebuild the game from the ground up for the Final Fantasy Tactics: The Ivalice Chronicles remaster, using fan-preserved data and reverse-engineering the original from the final product. -- Gamers Radar
Thanks for the clarification and explanation.
After all, most of what I mentioned is based on my own analysis while dissecting the data.
The term “Old Style” refers to how the data structure was designed — something that’s rarely seen in modern programming.
I mean, who still stores two job levels in a single byte by splitting it into upper and lower 4 bits?
Even bit-switch usage isn’t that common nowadays. The most typical use cases I’ve seen recently are Unreal Engine’s own configuration flags (for example, CanBeDamaged).
It’s quite clear that this game’s development still inherited some old prototype data.
The engine isn’t Unreal Engine or Unity; it’s a custom-built one. Character data and related structures use relatively fixed memory addresses instead of dynamically allocated ones.
Games with relatively fixed memory layouts were quite common in older titles, such as Gust’s Atelier series or Falcom’s The Legend of Heroes series (though they’ve moved away from that approach recently).
Rewriting everything in Unity would probably be cleaner — like what Square Enix did with SaGa Frontier and SaGa Frontier 2 (but they didn't).
Lately, most Square Enix games are either made with Unreal Engine or Unity, but this one clearly uses a proprietary in-house engine.
Personally, I don’t think having such tightly packed data in memory is a good idea for modern games. It might actually waste more CPU cycles just to extract the data. After all, game publishers love to tell players to “just add more RAM,” right?