indiegame.fan
Compile & Defend header art

Compile & Defend

A tower defense game where you don't click to shoot — you write code your towers run every tick, in Python, JavaScript, C++, C#, Rust, Zig or Lua. Prioritize threats with if, sweep swarms with for, and route air, armor and camo to the right tower. Better algorithms beat more towers.

Steam Page
Developer
Publisher
Release
July 23, 2026
9 days ago
Steam Reviews
Awaiting reviews

Does this feel indie?

Vote based on whether this game feels indie to you. You can change your vote at any time. Results earn an IGF score after 10 accepted votes.
No votes yet
Vote on More Games
Game contextLatest: IGF Team
ContextThe evidence factors used to assess whether this game belongs on IndieGame.Fan.Status
Notes
Latest Contributor: IGF TeamEdit notes
Search Google: Who developed Compile & Defend?Developer scaleThe operating scale of the game's developer.
Search Google: Who published Compile & Defend?Publisher scaleThe operating scale of the game's publisher.
Search Google: Is Compile & Defend self-published or published by Codx.io?Publisher statusHow the game's publishing relationship is classified.
Search Google: How is Compile & Defend and Codx.io funded?FundingThe known source of funding behind the game.
Search Google: Who controls the creative direction and IP for Compile & Defend and Codx.io?Creative controlWho appears to retain creative control of the game.
Search Google: What is the release status of Compile & Defend?Release statusWhether and how the game has been released.

Media

8 items

About the Game

You don't place towers. You program them.

Compile & Defend is a tower defense game with no click-to-shoot. Every tower on the field runs your code, once per tick. Write a smarter script and your defense gets smarter — write a sloppy one and the swarm walks right through.

It's the tower defense game for people who'd rather refactor than micromanage.

Write it in your language

There's no proprietary scripting dialect to learn. You write in a clean subset of a real language you already know — pick from Python, JavaScript, C++, C#, Rust, Zig, or Lua. They all compile to the same engine; the language only changes how your code is spelled. Switch anytime.

How it plays

Your program is bound to each tower every tick — me is the tower, me.enemies_in_range is what it can see, me.shoot(target) pulls the trigger. From there it's all you!

The closest enemy isn't always the most dangerous one — so the naive shoot the first thing you see script will always get you started, and never win. Better algorithms beat more towers.

Features

  • Code-driven combat — a real (but safe) interpreter runs your script. Clear, line-numbered errors, because debugging is half the genre.
  • A teaching campaign — a seven-stage tutorial walks you from your first shoot to full for-loop swarm control, introducing each threat one step before the tool that beats it.
  • 13 campaign maps across three tiers.
  • Easy / Normal / Hard — harder modes are tougher and longer, pushing you into scaled freeplay for the medal. Earn up to three stars per map, including a bespoke coding challenge that rewards a genuinely better algorithm, not just more gold.
  • Ten distinct towers — Arrow, Cannon, Tesla, Sniper, Frost, Venom, Support, Mortar, Chain and Detect, each with its own API: slow enemies, poison them, buff allies, lob splash at a point, chain lightning through a cluster, or reveal camo for your other towers.
  • Eight threats to route around — fast Runners, flying Flyers, armored Brutes, camo Shades, swarming Spawnlings, self-splitting Broods, and the nested Titan boss.
  • Build and share your own levels — draw a map, draft its waves, and share it with a single copy-paste code. An auto-balancer certifies every level is beatable and code-mandatory before you play.
  • Sandbox mode — infinite gold, every enemy on tap, hot-swap your code live. Prototype a controller, break it, fix it.

Everything is deterministic, so a script that wins today wins tomorrow.

Write once. Compile. Defend.