Friends

Open source incubator extraordinaire

Get your game on
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.

Highlighting a ground-level square Highlighting a pillar square with camera tilt Highlighting one of the taller pillars

You can see more information on the Tactical RPG Engine here:

  • Source code download



  • All materials copyright 1997-2009 by Andrew Henderson. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later.