A classic worth keeping alive.
Total Annihilation has a particular kind of magic: huge robot battles, a battlefield full of activity, and systems that still invite experimentation decades later. Nanolathe began with the simple pleasure of returning to that game.
Its creator, Daniel Taylor, started playing as a teenager when TA first came out, and soon tried making mods and 3D models with others. Life, work, and kids eventually took priority. Dusting it off years later—and getting it running on a MacBook Pro—sparked a side project: recreate the engine, then see what else it could become.
Reusing the original game’s assets made that ambition approachable. The artwork, animations, and interface were already there, leaving the engine as the challenge. Nanolathe is a contribution to preserving an amazing game and a piece of gaming history, built for the fun of it and shared in the open.
Faithful at its core. Open to more.
The goal is to reproduce exact retail Total Annihilation behavior as closely as possible. The details matter, including the less obvious rules that make the game behave and feel the way it does.
A modern GPU renderer, new effects, and convenience features build on that foundation. Those enhancements are optional: the classic CPU rendering experience is available with a button press in-game. Fidelity provides a baseline for experiments, and a way to return to the familiar battlefield.
Explore the renderer and its optional enhancements, or take a closer look at the gameplay systems.
Months of getting the details right.
The work started with video captures, decoded TA Demo Recorder game recordings, and generated test data loaded into the original game to reveal its algorithms. Clean-room reverse engineering of the original executable helped answer questions that observation alone left open.
These captures show some of that experimental work: deliberately simple geometry and colors placed in the game to make rendering behavior easier to study. Stripping a test down to a few controlled shapes makes small differences visible.


Getting close to parity has taken months of investigation, implementation, and comparison. Abandoned approaches and failed earlier projects are part of that history. Each unanswered question adds another piece of research; the documentation shares the resulting understanding of TA’s formats and behavior.
Human direction, AI tools.
AI was vital to making this solo project practical. It helped analyze captures, investigate the executable, and develop clean-room designs together with a human engineer. AI coding tools wrote most of the implementation from those designs, with Daniel guiding features, correctness, performance improvements, and the direction of the project.
Playable results came from sustained human and AI effort over months: testing ideas, comparing behavior, revising designs, and working through failures. The tools made more of that work possible within the time available for a side project.
Why Go?
Go’s simplicity, speed, and quick compilation make it a good fit for a project built in spare time. Being able to change code and use go run to try it keeps iteration short and leaves more time for experimenting and testing.
Garbage collection is a tradeoff to manage. Doing allocations during loading and reusing memory through pools can reduce allocation pressure during play. The aim is to keep the development benefits while paying attention to the work happening in each frame.
Ebitengine provides the window, graphics, and audio foundation, keeping GPU work accessible from Go. Its desktop support lets Nanolathe build without a C or C++ compiler, keeping setup simple and iteration quick. Platform prerequisites are covered in the build guide.
Single player first. More to come.
The single-player engine is broadly complete, with retail behavior as the primary focus. Expect bugs and smaller missing features that still need investigation. TA was an exceptionally complex engine for its time, and matching its many systems takes care.
Multiplayer is still missing and is the next major priority. Further possibilities include optional pathfinding improvements, new AI systems, and deeper engine support for ambitious mods. Projects such as TA Escalation suggest how much room there is to grow when the engine itself can be changed directly.
See the current engine status for the latest development details.
Make it your own.
Nanolathe uses the permissive MIT license because freedom to build on the engine is part of the point. Make mods, experiment with a new RTS, or use it as the foundation for a commercial project. The hope is that others adopt it, play with it, and find their own uses for its features and retro feel.
The engine’s MIT license applies to the engine code; original Total Annihilation game assets are separate and are required to play TA. They are not included with Nanolathe.
For now, this is one software engineer’s spare-time project. Contributions are welcome: research a behavior, report a reproducible bug, improve the engine, or help with documentation. Bring your curiosity and a love of classic RTS.