# Tanks of Freedom Isometric turn-based strategy, three units, four buildings, AI opponent. ```{raw} html ▶ Run in browser
``` **Tags:** `port` `tier-2` # Tanks of Freedom: SimVX port Turn-based isometric strategy. Single 12x12 skirmish vs a simple AI. First Tier 2 consumer of the engine's `TileMap(mode="isometric")` mode. ## Run ```bash # Interactive (default: opens menu) uv run python ported_games/tanks_of_freedom/simvx_port/main.py # Headless screenshots uv run python ported_games/tanks_of_freedom/simvx_port/main.py --test # Logic-level harness uv run python ported_games/tanks_of_freedom/simvx_port/harness.py # Web export uv run simvx export web ported_games/tanks_of_freedom/simvx_port/main.py \ -o ported_games/tanks_of_freedom/simvx_port/web/index.html ``` ## Controls - Click a blue unit to select. - Yellow tiles = move range. Red tiles = attack range. Yellow dots = planned path. - Click a highlighted tile to commit. - End Turn button (top right) or Enter to pass turn. - Esc / Q from the menu quits. ## Win condition Capture the enemy HQ (with infantry) or destroy all enemy units. ## Upstream w84death/Tanks-of-Freedom: Godot 2.1, MIT code/gfx + CC-BY-SA 4.0 audio. See `UPSTREAM_LICENSE.md` for full license. ## Layout - `main.py`: App entry, menu/world swap. - `nodes/data.py`: constants, stats, map layout. - `nodes/textures.py`: procedural numpy sprites. - `nodes/tile_map.py`: iso TileMap wrapper + terrain grid. - `nodes/unit.py`: Unit (Sprite2D) with move animation. - `nodes/building.py`: Building (HQ / Barracks / Factory / Airport). - `nodes/cursor.py`: hover cursor + range/path overlays. - `nodes/pathfinder.py`: BFS path / flood fill. - `nodes/combat.py`: pure-function attack resolution. - `nodes/turn.py`: TurnManager state machine. - `nodes/ai.py`: simple AI heuristic. - `nodes/hud.py`: top bar + side panel + buttons. - `nodes/world.py`: TanksWorld; ties everything together. ## Source ```{literalinclude} ../../examples/ports/tanks_of_freedom/main.py :language: python :linenos: ```