Get started

Build your first battlefield

Get the original Total Annihilation data, prepare your Go environment, and run Nanolathe from source.

Step 01

Bring your game data.

Nanolathe runs with the original Total Annihilation assets. Buy a copy from GOG or Steam, or use your original CDs to install the game. Copy the installed game folder to the machine running Nanolathe.

Point Nanolathe at that installed folder, containing the game’s HPI archives and any installed expansion data. A store installer or CD image is not an installed game directory. Keep the original archives together; you don’t need to unpack them.

The development reference installation includes the base game, Core Contingency, Battle Tactics, and the 3.1 patch. Compatibility with other combinations is still being established.

Nanolathe supplies the engine. Original game data is required separately and is not included.
Step 02

Prepare your build environment.

Install Go 1.25 or newer and Git. The engine uses Ebitengine for its window, graphics, and audio. See the Ebitengine installation guide for platform details.

macOS

Install the Xcode Command Line Tools if you don’t already have a C compiler:

xcode-select --install
Linux

On Debian or Ubuntu, run the dependency installer from the engine checkout after cloning it:

bash .github/scripts/install-linux-deps.sh

It installs the compiler and native graphics/audio development packages using sudo apt-get. Other distributions should follow Ebitengine’s installation guide. The interactive client needs a working graphical desktop.

Windows

Install Go and Git, then use PowerShell for the commands below. Ebitengine does not require a separate C compiler on Windows. Replace the game-data path with your Windows installation path.

Platform support is still in development; these are source-build prerequisites, not a promise of release-level compatibility.

Step 03

Get the engine source.

Clone the repository, then enter the checkout.

Terminal
git clone https://github.com/nanolathe-gg/nanolathe.git
cd nanolathe

You can also download the source ZIP from the repository’s Code menu and open a terminal in the extracted folder.

Step 04

Launch Nanolathe.

Run this from the engine checkout. Replace the quoted path with your installed game folder; go run downloads Go dependencies and builds the program on the first launch.

Terminal
go run ./cmd/nanolathe --root "/path/to/TotalAnnihilation"

For example, on Windows:

go run ./cmd/nanolathe --root "C:\Games\TotalAnnihilation"

Or set NANOLATHE_TA_ROOT in your environment and omit --root. Run go run ./cmd/nanolathe --help to see the current options.

This is an active development build. Expect unfinished behavior. In-battle save restoration is not yet supported.

If something gets in the way.

GitHub returns 404 or cloning fails
Check the repository URL and your Git configuration.
The engine cannot find game content
Check that --root points to the installed game folder and that the original archives are present. Keep quotation marks around paths containing spaces.
Compilation fails on native libraries
Check the platform prerequisites above. On Linux, the engine’s dependency script installs the packages used by its CI build.
Something in the game behaves incorrectly
Check the current engine status and report an issue with your operating system, commit, command, and error output. Don’t attach retail game archives.