Build your first battlefield
Get the original Total Annihilation data, prepare your Go environment, and run Nanolathe from source.
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.
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 --installLinux
On Debian or Ubuntu, run the dependency installer from the engine checkout after cloning it:
bash .github/scripts/install-linux-deps.shIt 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.
Get the engine source.
Clone the repository, then enter the checkout.
git clone https://github.com/nanolathe-gg/nanolathe.git
cd nanolatheYou can also download the source ZIP from the repository’s Code menu and open a terminal in the extracted folder.
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.
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.
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
--rootpoints 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.