A Tactical RPG Engine Prototype
SquareSoft's Final
Fantasy Tactics is one of my most favorite games. I like turn-based
strategy/tactics games a lot, and have played FFT completely through
from start to finish several times. Like most people, I play through a
good game and come away impressed. But, there are always a few things
lingering in the back of your mind about how the game could be better.
The user interface could be improved. The AI acts unfairly here or
there. Some item is too hard or too easy to get. If only you could
redesign the game just a touch to fix these flaws.
I was interested in exploring a few ideas I had for the tactical RPG
game genre. I wasn't going to completely redesign everything, but I wanted
to provide a framework where someone with really good ideas for a tactical
game could implement them more easily because the basic game framework was
already in place. Hopefully, the code I wrote will prove useful to someone,
since I doubt I'll be touching this code anytime soon.
The engine itself was written for Linux and is OpenGL-based. It is the
melting pot of open source code, using Steve Baker's PLIB (Portable Library for games), SDL (Simple DirectMedia Layer) library, and snippets of code from various open source projects floating around the web (such as Tux: A Quest For Herring). So, this code isn't necessarily anything new... it's just a lot of what is out there stuck together.
I constructed the level terrain and other 3-D models using a registered Linux version of AC3D. The engine loads the level data into an internal scene database by using PLIB's SSG (Simple Scene Graph) library. Once the data is stored in memory, I render the static level using a mix of SDL's GLX wrapper, SSG calls, and OpenGL calls. SDL handles all the event handling and eventually could be used to handle the sound as well.
I haven't touched the codebase for the engine for a few years now, so I think it's safe to say that it isn't going anywhere anytime soon. There's not much to it, which is good because I've sometimes redesigned the engine from the ground up in a weekend. Actually I redesigned it from the ground up about three times already until I finally reached a simple, modular design that I liked. It needs some more work involving loading levels, since the game currently has a level hard-coded into it. Also, the animation speed is tied to the framerate, rather than to a clock. Be warned if you have low FPS... this thing is going to run pretty slow on your machine.
Still, the code is licensed under the GPL, so even though it's broken, you get to use both halves for whatever you want.
You can see more information on the Tactical RPG Engine here:
Source code download
|