Project Aftermath
A PAX10-winning arcade RTS shipped by a two-person studio on an engine built from scratch — DirectX, C++03 and Lua, with the tools to author it.
Overview
Project Aftermath is a squad-based arcade RTS: four squads, RPG-style progression, and over a hundred weapons, armour and augmentations to equip them with. It was built at Games Faction by two people, on a proprietary 3D engine and toolchain written for the purpose, and won the PAX10 in 2008.
Problem
A two-person studio building a real-time strategy game has a content problem before it has a technology problem. RTS is a genre that eats content — units, weapons, abilities, levels — and there was no third party to produce it and no engine to produce it with. Whatever got built had to make one programmer and one designer productive enough to fill a commercial game.
Constraints
- Two people, total — engine, tools, content and business
- No existing engine; commercial middleware was out of reach for a studio this size
- Real-time strategy: a content-hungry genre for a team with no content pipeline
- Windows and Steam as the target
Approach
Build the engine and the authoring tools as one effort rather than two, and put Lua between the engine and the game so that design iteration never required a programmer or a rebuild. Then scope the design deliberately to the arcade end of RTS, where depth comes from squad composition and progression rather than from base building and unit sprawl.
Key Decisions
Proprietary DirectX/C++03 engine with Lua as the content layer
The engine was the smaller half of the problem. Exposing gameplay, unit stats, abilities and progression through Lua meant the designer could iterate on the hundred-plus items and their balance without touching C++ or waiting on a build. For a two-person team that ratio decides whether the game ships.
- Commercial middleware licence
- Hard-coded gameplay in C++ with data tables
Arcade RTS rather than a full base-building RTS
Base building multiplies the content and AI surface enormously. Commanding four squads with deep equipment and progression put the design's depth somewhere two people could actually build and balance, and differentiated it in a genre dominated by much larger productions.
- Conventional base-building RTS
- Turn-based tactics, cheaper to build but a smaller market
Build the tools alongside the engine, not after it
Tooling deferred is tooling never written, and a two-person studio has no slack to absorb a bad content workflow. Treating the editor as a deliverable rather than an internal convenience is what made the content volume achievable.
- Text and config files with no visual tooling
- Adapt a third-party level editor
Tech Stack
- C++03
- DirectX
- Lua
- Proprietary engine
Result & Impact
- PAX10, 2008Award
- 2Team size
Shipped on Windows and Steam and selected for the PAX10 — the ten titles picked from that year's independent submissions. The engine and toolchain built for it went on to carry further Games Faction titles, which is the return that justified writing it in the first place.
Learnings
- On a very small team the engine is not the hard part — the content pipeline is, and it deserves the same design effort
- A scripting boundary between engine and gameplay is worth its cost the moment iteration count matters more than raw performance
- Scoping the design to the team is a technical decision as much as a creative one