Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A look inside the Final Fantasy 7 Game Engine [pdf] (sourceforge.net)
139 points by jfaucett on Feb 3, 2013 | hide | past | favorite | 22 comments


Just in case someone misses the point, this is a work of reverse engineering, not something coming from the actual developers of the game. Still pretty impressive and worth the read though!


How video game porting companies stay in business I do not know. Every story about video game programming seems to involve cutting corners to meet deadlines. With that in mind, porting companies must be handed the most vile and platform specific code, along with the expectation to get it working as fast as the original company did.

I feel kinda bad for Eidos, who I feel did a pretty good job with the port/ (I have played the PC version extensively.)


Because in the game industry studios seldom write portable software.

The business model is that you focus on a specific platform with other companies taking the burden to port it to other platforms.

One thing that helped this mentality was that most studios didn't want to use anything that wasn't developed in-house and the goal is to produce a game, not to be platform friendly.

Only in the last years has the mentality towards middleware use opened up.


The PC port was developed in Square's offices in LA and only published by Eidos.


and oldie, but this is a great interview with a guy who did ports in the 90s, the Lion King segment is the most interesting

http://www.codetapper.com/amiga/interviews/dave-semmens/


Interesting to read how the kernel from FF7 shares a similar philosophy to that of the original FF, but was FF's system that different from its contemporaries?

> The kernel is a throwback to the very first Final Fantasy game for the Nintendo's original 8 bit system. The NES could only natively read 32 kilobytes of program ROM. To get around this incredible limitation, Nintendo developed "memory mappers" that allowed parts of the program to be switched out, or "banked" and replaced with other parts stored on the game cartridge.


Probably not that different, but that's no excuse to keep using bank switching on its core; it was usually painful, expensive, and limiting for the developers.


I'd imagine bank-switching a large ROM into 32 KiB of address space imposes constraints similar to those imposed by loading data from a slow-as-molasses 2X CD-ROM drive into 2 MiB of RAM.


Sometimes I'm amazed games work at all.


The "qhimm team", from the qhimm website, are rather famous in the FFVII fanworld, it's probably the biggest modding community out there. The mods, mostly for the PC version of FFVII, have dragged the game over the various versions of Windows, improved the models, etcetera. In fact, if I'm not mistaken, one of the qhimm developers that made the game compatible for modern Windows versions and added graphical updates was hired by Square to work on FFVII's PC re-release a few months ago - at least, parts of the new code correspond to an existing mod.


It's down due to bandwidth exceeded, anyone got a mirror?



Interesting read, some sections seem incomplete (contain Lorem Ipsum text)


I concur, looks like it's not finished - some tables are empty, and there's even that fun "Introduction [Write last]" at the beginning


"Barrett's love points" is one of the items in the save state. The love points determine who you'll end up dating in the Golden Saucer.


As the save file indicates, you can indeed go on a 'date' with him in the Golden Saucer but it's fairly involved: http://www.cavesofnarshe.com/ff7/dating.php


Interesting in general. There are some sections that are just filled with "Lorem ipsum..." filler text, though.


Anyone got a download link that does not require me to sign for another service?


A very good and detailed piece on reversing a game.


Does anyone have a tl;dr/highlights?


Interesting but seems more like "stuff that should be comments in the codebase" than any real talk about the engine.

There were a few parts that were interesting towards the beginning, but nothing like the reviews / recaps from gamasutra.

I imagine this was mostly repurposed documentation from pushing technical details over to different porting teams.


Looks more to me like notes from reverse engineering.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: