
A look inside the Final Fantasy 7 Game Engine [pdf] - jfaucett
http://q-gears.sourceforge.net/gears.pdf
======
Mahn
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!

------
afhof
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.)

~~~
pjmlp
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.

------
danso
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._

~~~
Mahn
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.

~~~
ANTSANTS
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.

------
blackhole
Sometimes I'm amazed games work at all.

------
Cthulhu_
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.

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

~~~
ANTSANTS
[http://wayback.archive.org/web/20120912025847/http://q-gears...](http://wayback.archive.org/web/20120912025847/http://q-gears.sourceforge.net/gears.pdf)

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

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

------
edmundhuber
"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.

~~~
ayuvar
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>

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

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

------
iuguy
A very good and detailed piece on reversing a game.

------
asurma
Does anyone have a tl;dr/highlights?

------
ramses0
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.

~~~
duskwuff
Looks more to me like notes from reverse engineering.

