Repository navigation
Releases: nanolathe-gg/nanolathe
Release list
Browser build 297b073
Asset-free browser build of main at 297b073, workflow run 382. Published automatically on every push to main; the website serves the newest complete browser-* release at https://nanolathe.gg/play/ (docs/DESIGN_BROWSER_HOST.md §6).
Browser build b2e25b9
Asset-free browser build of main at b2e25b9, workflow run 381. Published automatically on every push to main; the website serves the newest complete browser-* release at https://nanolathe.gg/play/ (docs/DESIGN_BROWSER_HOST.md §6).
Nanolathe 0.3 — Online multiplayer, replays and faster battles
Nanolathe 0.3 brings online multiplayer, automatic replays, community maps, unit restrictions, new Survival options, smarter Modern aircraft, and faster large battles.
This release covers October 4–16, 2026, from v0.2.0 through 5007ba753: 99 changes along main, 182 commits in total, and 22 closed issues. Categorized notes follow, with every commit listed at the end.
Gameplay and graphics remain separate choices. Modern is the default gameplay mode; Strict 3.1 preserves the researched original behavior; Community 3.9 follows the community patch contracts. Features marked Modern gameplay leave Strict and Community behavior intact. Online play, Modern AI selection, Survival, mutators and unit restrictions are available in every gameplay mode. The Modern GPU renderer and Classic CPU renderer are independent of these rules.
Highlights
- Play online. Create a room from MULTI, share its six-character code, and play skirmish or cooperative Survival. Native and browser players can play together, and the host can add Classic or Modern computer players.
- Watch your battles again. Fresh skirmish and Survival games record local replays automatically. The REPLAYS screen offers pause, speed, skip and perspective controls, with checksum verification during playback.
- Choose the battlefield and the roster. Download community maps from the map picker, and disable or cap individual units from the unit viewer before a battle.
- Modern aircraft tactics. Bombers plan their release, aircraft choose safer approaches around known anti-air, gunships move between firing positions, and attack groups distribute their targets.
- More Survival information and options. Announced approaches appear on the minimap, comparable local games keep personal bests, and the optional Infected Ancients content pack adds original attackers with Modern infection mechanics.
- See and manage your economy. The GPU HUD breaks resource activity down by unit and job. Modern gameplay adds persistent controls to hold and resume individual activities.
- Faster battles and clearer controls. Deterministic parallel Modern path searches, cheaper frame publication, renderer batching and retained wreck sprites reduce repeated work. Auto/1×/2× UI scaling enlarges the sidebar, minimap and bars together.
Online multiplayer
- Hosted rooms: choose MULTI → Create or Join, then exchange a six-character room code. Codes avoid lookalike characters. Skirmish supports 2–10 total seats, subject to the map's available starts; cooperative Survival supports 2–3 survivors.
- Shared setup: the host chooses the map, game type, Modern/Strict 3.1/Community 3.9 rules and battle configuration. Rooms carry the host's mod, mutators and unit restrictions. Players choose their side, team and a unique colour.
- Computer opponents and allies: the host can add Classic or Modern AI with individual difficulty, side, team and colour choices. Strict permits one host-added computer; Modern and Community can use the remaining seats. Modern and Community hosted computers keep playing with normal sight after their human host is defeated.
- Browser interoperability: import your own TA folder in the experimental browser build to join native players. Room codes support clipboard copy and paste, and online play continues when the browser tab is hidden.
- Names and chat: set a remembered display name, talk in the lobby, and use the battle TALK line with individual-player, allied and enemy recipient prefixes.
- Sharing and alliances: the SHARE and ALLIES windows support resource, unit and map gifts, automatic sharing settings, alliance declarations and shared victory. Skirmish teammates share sight and radar. These windows keep the online battle running while open.
- Compatibility before launch: content and configuration checks plus a short pre-start simulation rehearsal explain incompatible clients. Gameplay waits for all connected seats to complete their opening.
- Connection diagnostics:
+netshows traffic, round-trip timing, progress and a per-seat connection table. - Resilience: malformed game-command payloads no longer terminate a battle or interrupt replay recording. Relay shutdown gives running matches a grace period to finish, and connection closing preserves final completion and refusal messages, including Windows TCP and WebSocket cases.
The current online release requires at least two humans. Computers are unavailable in Deathmatch. There is no reconnect, spectator mode, public room browser, removal voting, multiplayer save, co-op campaign, pause or speed adjustment. A still-playing human disconnect ends the room; a defeated player can leave without ending it. Online play connects Nanolathe clients; it does not interoperate with retail TA or other engines.
Replays
- Ordinary fresh skirmish and Survival battles, including online games, record automatically to the local replay directory.
- Open REPLAYS to browse recordings, pause, select ¼×–8× playback, skip forward, switch between recorded human perspectives or reveal the full map.
- Playback validates the required content and battle configuration, checks recorded unit checksums, and stops at the first disagreement. A partial recording can play through its last complete chunk.
- Replay controls stay clear of scaled HUD elements. A skip waits while a battle menu is open and resumes after it closes.
- Command-line tools expose playback, headless verification and the replay directory through
--replay,--verify-replayand--replay-dir;--record-replayrecords a headless or screenshot battle to a chosen file.
Campaigns, loaded saves, computer-only/watch battles and special diagnostic or nonstandard-content runs are outside automatic recording. Replays do not record chat, offer rewind, or guarantee compatibility across releases. Keep the matching build and content when preserving a recording.
Modern gameplay and computer players
- Aircraft approach and evasion: pilots plan attack runs using their side's known anti-air coverage, leave cover before turning where possible, and avoid concentrating every aircraft on the same doomed target. Weapon statistics, costs, speed and turn rate still come from the selected content.
- Bombing and strafing: bombers time release so the middle of the bomb string reaches the target; aircraft sharing a target spread their attack headings. Strafers preserve each weapon slot's opportunity to fire and plan their departure from anti-air coverage.
- Gunships: distribute firing positions, shift under attack and make a real move when changing position. The arrival timer resets for the new position, preventing standoff stalls.
- Patrol continuity: a combat aircraft attacked by something it cannot see or answer keeps its patrol route. Aircraft no longer suspend patrol for constructor repair when no usable landing place exists, fixing the reported simulation freeze (#131).
- Aircraft repair: Modern aircraft can land beside a patrolling constructor for repair when no repair pad is within reach.
- Direct-fire targeting: automatic direct-fire targeting prefers clear contacts over proven obstructions; supported direct bursts check terrain before firing. Explicit attacks can reposition for a clear shot even on Hold Position.
- Aim recovery: clearing and rebinding an order target reissues an interrupted aim request, so units no longer wait forever for a script aim that has already been cancelled.
- Constructor assignments: guard and patrol work stay bound to retained assignments. Patrolling constructors assist unfinished factory products, continue toward the pending waypoint after successful work, and return to the saved acquisition position after failed or abandoned jobs (#92, #98, #100, #122).
- Submerged wrecks: click the visible wreck body to reclaim it, using either renderer or mouse interface. Strict and Community retain water-surface targeting (#108).
- Dense air formations: Modern sight coverage saturates instead of wrapping, eliminating false fog patches under tightly packed aircraft. Strict and Community retain their existing coverage arithmetic (#120).
- Stockpile AI: Modern computer players build and use nuclear and anti-nuclear stockpile weapons under every gameplay rule set (#93).
Survival and economy
- Announced Survival approaches are marked on the minimap before their attackers arrive.
- Local Survival personal bests are saved and compared only between compatible setups, keeping different content and battle options separate.
- Survival attackers receive an infected appearance and names, including attackers supplied by mods, in every gameplay mode.
- The optional Infected Ancients source-tree content pack includes the Ancient Crawler, Spitter and Siege organism, with models, textures, scripts and reclaimable wrecks. Its roster combines these original units with the active build tree. These three units are separate from the default installation; the pack README and launch helper explain how to try them.
- Modern infection adds takeover behavior for authored infectors, Survival infection hunters and infector waves, infector target preferences and Modern AI focus. Strict and Community bypass the takeover policy.
- The Modern renderer's resource dropdowns show activity and unit-level resource breakdowns. Modern gameplay adds individual hold/resume controls for work and resource activities; a hold persists until explicitly resumed during the battle, with visible reminder controls. Loading a save resumes activities.
- Vision mutators above 1× now enlarge sight corre...
Nanolathe 0.2 — Browser play, Survival, Modern AI and mods
Nanolathe 0.2 covers the two weeks since the Introducing Nanolathe announcement: 220 changes on main (306 commits) and 54 closed GitHub issues, most of them from player reports. The tag captures 8f33772b.
A one-minute tour of what's new: watch on YouTube.
Nanolathe has three gameplay rule sets. Strict 3.1 targets the original game's behavior, Community 3.9 (new in 0.2) follows the community patch line, and Modern (the default) adds deliberate improvements. Fixes under "Original-game accuracy" apply to every rule set; the "Modern gameplay" section changes Modern only. The Modern renderer (GPU) and Classic renderer (CPU) are separate from the rule sets.
Highlights
- Play in your browser (experimental). nanolathe.gg/play runs the original Cavedog demo in a tab with nothing to install. Drop your own Total Annihilation folder on it for skirmish and the full campaigns. Your files are read in the browser and never uploaded. Desktop Chrome, Edge and other Chromium-based browsers are verified so far.
- Survival. A new single-player mode: hold out near the map centre against escalating waves that climb the tech tree, alone or with one or two allied computer players. Survivors share sight, radar and income. Each cleared wave pays a resource reward and adds to a team score. Survival works under every rule set.
- Modern AI. Each computer player in skirmish and Survival can be the new Modern AI or the Classic AI, under any rule set. The Modern AI pairs a utility-driven economy with a tactical army.
- Modern traffic. Modern pathfinding was rebuilt so friendly units never share cells. Ground units steer around what's ahead, plan taut routes beside their friends' routes, re-route promptly and get their own place to stand at the destination. Group moves spread out, unreachable moves stop at the wall, and units learn terrain they bump into under fog.
- Mods and mutators. A mod library installs, selects and switches mods without command-line flags. Browse the hosted Get more mods catalogue, or drop a mod zip or folder onto the main menu. There is support for ProTA 4.8, TA Zero Alpha 5, TA: Escalation (experimental), Total Mayhem 11.3.0 and TA: Twilight 2.0 Beta 98 (experimental). Eleven mutators, such as blast size, fire rate, build speed and income, scale a battle under any rule set, Strict 3.1 included.
- Community 3.9 rule set. It reproduces the TA community patch line: construction-site kickout, structure rotation, repair contributions, veterancy, reload bars and counters, team-coloured nanolathe, placement preview, community selection and order gestures, and per-player builder options.
- The NANOLATHE settings screen. A full-window setup screen with Game, Mutators, Graphics, Effects and Controls tabs, a live battle preview, per-effect switches and key rebinding.
- Zoom and strategic icons. The Modern renderer zooms continuously with pinch or wheel, or in configurable steps from close detail out to the whole map. Zoomed out, units become strategic icons.
- More faithful battles. Mines and crawling bombs now trigger on their own. The computer player uses the AI profile each map and mission names, and campaign computer players can build again. Many smaller corrections bring orders, construction, combat, missions and saves closer to the original game.
Original-game accuracy
These fixes apply under every rule set.
Combat and targeting
- Mines and crawling bombs (Invader, Roach) now find targets within their sight range and attack on their own. Before, they never went off by themselves. The Roach still ignores aircraft.
- Idle, standby and patrolling units no longer leave their post to chase target types their unit file says not to chase. In stock content that covers every ground combat unit and aircraft.
- Units whose weapon range is shorter than their sight range, such as both commanders, the Peewee and the FAV, no longer pick and chase targets far beyond their weapon's reach.
- A bomber that has already dropped its bombs retargets and bombs the new point when given a new attack order.
- Attack orders keep the exact ground point you clicked, for single clicks and area orders. When an armed ground unit attacks one of your own or an allied unit, it fires at that point, so lasers no longer miss the building's damage box (#89).
- Ballistic aiming limits and very long weapon ranges use the original game's exact angle bounds and range arithmetic. Distances in attack leashes, build reach and aircraft attack orders round exactly as the original does.
- Kill credit is kept when the killing hit carries no attacker of its own.
Orders, construction and movement
- Ctrl+D is a toggle again: a second press cancels the self-destruct countdown (#28).
- Guard is a standing order again: orders Shift-queued behind a guard wait while the guarded unit lives.
- Changing a unit's movement stance or toggling cloak no longer wipes its current mission.
- Reclaim, resurrect and assisting builders finish their approach walk before starting work. Builders start walking to a newly placed building on the tick you place it.
- Ground constructors wait for their "build ready" opening animation before spending resources or spraying (#73).
- A construction vehicle told to build as it leaves the factory finishes its exit walk first. Factory rally points never stall production and no longer jump after production is cancelled (#52).
- Constructors on patrol that give up on an unreachable target run their return move and resume the patrol as the original does. Units hand over between queued movement goals more faithfully, and builders face the live work position (#83, see Known issues).
- Patrolling construction aircraft no longer try to assist underwater nanoframes they can't reach (#56).
- Aircraft no longer land on a spot another aircraft already holds. That had left a construction patrol stuck after landing (#18).
- Unarmed aircraft loiter, orbit and follow at the original 16-unit range instead of zero.
- Products placed on a builder's menu buttons can be built even when its build list omits them, for example the Core Construction Ship's shipyard and LLT.
- Buildings can no longer be placed on the outermost ring of map cells. This covers build orders, the build preview, factory exits and AI placement.
- The reclaim cursor follows the original rule: your own finished buildings and nanoframes can be reclaimed, but commanders and flying units can't. Armed order clicks only issue when the cursor shows an action.
- "Under attack" warnings are suppressed for any unit on screen, so reclaiming a visible building no longer announces it (#53).
- An order given to a unit that dies before the order applies no longer passes to a new unit that takes over the same slot.
- New units sit on the ground or float on the water from their first frame, and newly built mobile units face their build angle (#29).
Computer player
- The computer player now reads the AI profile from the map's selected schema. Stock maps get their terrain-specific strategy (SeaBattle, Hover, AirBattle and others). Campaign missions use their mission profile on Easy and Medium and the unrestricted one on Hard. Before, every battle ran the default profile.
- Campaign computer players can build again. Before, 149 stock units were wrongly marked downloadable and the campaign AI could build nothing.
- The AI's energy and metal pressure values use the original game's precision, which removes an off-by-one that could change what it builds.
- Computer players' radar and sonar follow the selected jammer rules. Their commands stay bound to the exact unit they saw.
Missions, campaign and saves
- Dragon's teeth and floating forts placed by a mission turn into wall features at once, instead of standing as live units.
- Mission-placed walls, wrecks and deposits sit where the map author put them instead of one cell south-east. 692 placements across 11 maps move. Seven mission features that disappeared at map edges or near lava are back.
- Random start positions are shuffled exactly as the original does. A two-player Random game now always swaps the starts.
- The skirmish setup's ten-player shortcut and typed player count work again (#12). Type
*Xto show and configure all 10 slots. - The Example mission loads with its full build menu (#21). A mission that places units for an absent player stops with the original diagnostic.
- Winning a campaign mission advances to the next mission's briefing. Sides with no available missions are greyed out.
- Saves restore transported cargo, cross-referenced units and burning features correctly, and an already defeated side is still detected after loading.
- Scripted missions no longer play a stray "ok" voice at the start.
Interface and audio
- The nuke and anti-nuke stockpile buttons count like build buttons: left-click +1, Shift +5, right-click −1, Shift+right −5. Queued rounds can be cancelled.
- The drag-selection box stays fixed to the ground while the camera moves, and selects exactly what it covers at any zoom.
- Selecting units, switching build pages and giving commands while paused take effect immediately.
- Queued-order lines run from one order point to the next, and guard lines connect to the guarded unit.
- The minimap ring marks the unit under the pointer, not every commander. Nukes, anti-nukes and other targetable missiles show the nuke marker, and
noradarprojectiles are hidden. - You can attack radar-only contacts from the minimap (#7). Unseen enemies outside radar can no longer be hov...
Nanolathe 0.1 — Introducing Nanolathe
Nanolathe 0.1 is the first public preview of an independent, open-source reimplementation of Total Annihilation's engine, built in Go through clean-room research.
This release retroactively marks the Introducing Nanolathe announcement from September 20, 2026. The tag captures f1855d8c, the last commit on main before the announcement. Improvements after this snapshot will be covered in 0.2.
What's included
- Single-player skirmishes and campaign missions, with AI opponents, economy, construction, movement, visibility, combat, unit scripts, and save/load support.
- Modern gameplay alongside opt-in Strict 3.1, which targets the original game's behavior.
- A modern GPU renderer with 60/120 FPS presentation, dynamic lighting, 2× unit supersampling, distortion effects, animated water, reflections, smoldering wrecks, and zoom with runtime terrain and sprite remastering.
- The classic CPU renderer, available during play with F10.
- Native desktop builds for Windows, macOS, and Linux, using content from your own Total Annihilation installation.
Build this version
This is a source release. Game assets are supplied by your own Total Annihilation installation.
git clone --branch v0.1.0 --depth 1 https://github.com/nanolathe-gg/nanolathe.git
cd nanolathe
go build -o nanolathe ./cmd/nanolathe
./nanolathe --root "/path/to/Total Annihilation"See the README at this version for prerequisites and options. The website installer follows newer builds.
Feedback
This is an early preview with known behavior and compatibility gaps. Multiplayer is not included in 0.1. Please report bugs, especially differences from the original game and problems with movement, AI, combat, or saves.
Nanolathe's original code is MIT licensed. Original game content is not bundled with this release.
