V-Gears

Free implementation of the game Final Fantasy 7 engine, designed to work with the original game data.

The history behind V-Gears

Here is a brief history of how V-Gears has come to be what it is today.

Note that this is a story that started almost 17 years ago, back in 2006. I wasn't there at the beginning, or during most of it, and I haven't had contact with any of the people that started it, so some details may be incomplete, some might be downright wrong, and some of them are solely my interpretation of the story.

2006 - The Origin of Q-Gears.

In 2006, Halkun1 started a project named Q-Gears on Qhimm Forums. It was meant to be an attempt to make a clone of Squaresoft's Final Fantasy 7 game engine. The project raised a lot of eyes, and after much discussion and planning, the project started.

Halkun established himself as project leader, and a lot of developers started giving it their all, specially Akari3, who soon became the major code contributor.

2007 - Problems, Forks, and New Directions.

A year later, the project was somewhat structured, game data exporters were up and running (to a point) and the codebase was getting quite big to handle.

Then some news came in Quimm Forum: Akari was leaving the project.

Well, he wasn't really leaving it. He was not content with the original idea of the project, and he decided to fork the project and turn it into the an engine capable or running multiple SquareSoft games, instead of focusing solely on Final Fantasy VII.

That project name was to be Q-Gears RPG Studio.

Akari was the most prominent developer of the original Q-Gears project, so the rest of the team was left with a huge, undocumented codebase, no clue of how to keep on going, or morale to try to do so.

So, Q-Gears RPG Studio never got to be a project by itself, and inevitably, the original Q-Gears project turned into Akari's vision of the project.

A couple of months later, Halkun resigned as project leader.

2007 - 2012 The Project Continues.

Still, the project kept on growing and advancing. Akari was still doing most of the contributions, and took an unofficial role of project leader. Over the years, the engine was playable, and Final Fantasy VII could, to an extent, actually be played on Q-Gears. Work was getting done, new things were being implemented, corners were being polished.

But the rest of the developers started losing interest. They couldn't keep up with Akari's changes. The old developers started falling behind, and the project was too huge, undocumented and intimidating for new people to join.

Eventually, it seems Akari himself started losing interest in the project. The last version of Q-Gears announced on Qhimm Forums was v0.21, on August 2012.

2015 - A New Hope.

The project, seemingly dead, received a new impulse in 2015, thanks to paulsapps6. He was not, as far as I'm aware, a member of Qhimm Forums, but he took an interest on the project. He modernized the codebase, fixed many errors, and more importantly, developed a series of very usefull tools, the most remarkable one being SUDM7, which allowed to easily import data to Q-Gears and to reimplement field scripts.

That same year, apparently paulsapps started its own fork of Q-Gears: 7-Gears. It didn't get very far with it, but the tools he created remained as part of Q-Gears.

2022 - V-Gears.

2022 is when I found out about Q-Gears. I really loved the idea, and it made me sad that the project had died. So I started reading, trying to understand the code base and the ins and outs of the game.

Then I decided to take a chance. I forked the project. I liked better the Q-Gears original idea: an attempt to make a clone of Squaresoft's Final Fantasy 7 game engine, so I decided to change its name to V-Gears, and strip all the parts that didn't fit in that vision. If I wanted the project to grow, I knew I had to make it smaller first.

The next step was to modernize the code base. I made some fixes here and there, updating it to modern versions of Ogre and Lua, and fixing some blocking bugs.

Then, I set out to do what I thought was the number one priority, and fix what I personally thought was one of the main reasons the project had died: The lack of documentation. Slowly but steadily, I went through the entire code base, documenting every class, every function, every piece of code. I added whatever documents I had about the game formats and files. I added a project history, a useful README, building instructions...

The Future - Here Is Where You Keep Going.

I know I won't be the one who finishes V-Gears. Hell, I know I'm not the one who will announce the version 1 of it. I honestly don't have the skills or the time to do so.

What I want is to do my part. I want to take the project for a while, and leave it better than I found it. So when years from now, somebody reads about something called Q-Gears, or V-Gears, and feels the way I felt when I did, they can take over the project, and do the same.

And maybe, one day, we can play our favorite game over an engine called Something-Gears. Or maybe not. But that's not the important part.