About GEO-DEF

Browser tower defense on real city maps · open beta

Most tower defense games invent a map. GEO-DEF uses yours — the actual road network of a real city, pulled from OpenStreetMap. Attackers drive down streets you've walked. You defend the place you live.

What it is

Pick a city from a globe of 286, or add your own hometown. Then hold it solo against an AI, or go live against real people — duel a friend 1v1, or field 2v2 and 3v3 squads where every player runs their own economy. It runs in a browser tab — no install, no payment, no account required.

New here? The how to play page covers towers, waves, difficulty and PvP in one read.

Solo

Runs entirely on your device. The game engine is compiled to WebAssembly, so once the map is loaded there's no round trip to a server.

30 waves or endless · 4 difficulties

PvP

One side defends, the other attacks, in real time — a 1v1 duel, or 2v2 and 3v3 squads seated by a single invite link. The server runs the simulation at 20 Hz so every player sees the same truth.

1v1 · 2v2 · 3v3 · invite by link

Who builds it

GEO-DEF is made by an independent developer in Slovenia. It is a solo project, built in the open and shipped in small pieces — the changelog is the real record of what has changed and why.

It is in open beta: playable and stable, but rough edges are expected and feedback genuinely changes what gets built next.

Support and feedback

Bug reports, a city that won't build, or a feature you want — email hello@geo-def.com. It helps enormously if you include the city you were playing, whether it was solo or PvP, and what your browser and device were.

If a match ended badly because of a bug rather than a drone wave, say so — that's the kind of report that gets acted on quickly.

How the maps are made

Each city's road, water and park geometry is extracted from OpenStreetMap, simplified to what the game needs, and turned into a routing graph so attackers can path along real streets toward the HQ. Cities not already built are fetched on demand the first time someone plays them, then cached for everyone who follows.

Adding a town of your own is the one case that genuinely needs OpenStreetMap live: nobody has ever asked for that exact patch of the world, so it has to be surveyed once, which takes about twenty seconds. That happens a single time for the whole planet — the finished map is kept, so the next person to play your town gets it instantly, and we never ask OpenStreetMap for it again. A city you add stays on the globe for everyone.

Because the geometry is real, some cities play very differently from others. A dense grid gives you clean chokepoints; a sprawling road network with many parallel routes is genuinely harder to hold. That's a feature.

Progression

Playing earns XP, which buys boosts you equip before a match — never during one, and never for money. Boosts are consumable: a purchase buys one charge, and a charge is spent when you take that boost into a match, so roughly one game funds roughly one use. They are applied by the server and announced to both players, so a PvP opponent always knows what you brought. Accounts are optional and anonymous by default; registering only means your progress follows you to another device.

Attribution

The road, water and park extracts served by this site are derived works of OpenStreetMap data and are themselves ODbL. Ask at the address above if you want the raw GeoJSON.

Ads

There are no ads on the site today — no ad network, no ad slots, no advertising cookies. The game is free, and ads are the plan for keeping it that way: when they arrive they will appear between matches only, never over live gameplay, never during a wave, and never in your first couple of games. See the privacy policy for what that will mean when it changes.