Umut Eren Demirci
← All games
Match-3 tower defense · Unity 6 · mobile and browser

Arcana Siege

Match tiles to fire your towers. Hold the gate.

A match-3 tower defense for phones. A road on top, a board below: every tile colour belongs to a tower, so every match is an order. The colour picks the tower, the size picks the strength, and the enemies march only as you move, so you can stop and think.

I designed four towers, seven enemy types (armour, shields, healers, a brood that splits), a 1-of-3 upgrade draft with bad-luck protection, and a 12-siege campaign across four realms with permanent upgrades and a daily siege. Every number was tuned by bots playing the real rules.

Play in your browserRead the GDDOne-pager
87% → 10%mashing's win rate, after a studio playtest tied the road to the player's moves
50–76%first-time win rate at any pace: thinking is never punished
12sieges tuned into a sawtooth by a career bot
Game design document, summarised

How it's designed

Each part below condenses one chapter of the game design document. Every summary ends with a link to the full chapter in the PDF.

01The game in one screen

Enemies march down a road towards the gate; the player never places a tower, they fire them. The colour of a match picks the tower, its size the strength, and cascades multiply it.

  • Every match is a decision: the right colour at the right moment beats a big match of the wrong one.
  • Choosing beats speed: every move costs the same stretch of road, so thinking is cheap.
  • A run in five minutes: ten waves and a boss, always one more try close.
Read the full chapter in the GDD (page 2)

02Core loop: one move, about two seconds

Read the road, pick a match, watch it land: motes fly from the board to the tower, which fires. Each cascade adds 25% more output. The road runs on moves: each move lets the enemies walk 1.6 seconds closer, and while the player thinks they only creep. Special tiles become tower moves (a line clearer volleys the whole road, a wheel quakes it, a star calls starfall), and they pierce armour and shields.

Read the full chapter in the GDD (page 3)

03Enemies: each one asks a question

Seven enemy types, each answered by a different tower: fast Runners (the Tide slows them), armoured Brutes (the Blade ignores armour), Shieldbearers (a shield eats the first hit, so many small hits win), healing Acolytes (strike them first) and Broodmothers that burst into Imps. Armour and shields are mirror images, so no single colour is ever the right answer. Every siege ends with a crowned champion or one of the Arcana.

Read the full chapter in the GDD (page 4)

04The run: ten waves and a draft

After each wave the clock stops for a draft: pick one of three cards that lasts the whole siege. Three offers in a row without a card for your weakest tower guarantee one next; re-deals cost gold from Sun tiles. Every card's worth was measured alone by a bot over 500 sieges: the weakest buffed, the strongest trimmed, until none is dead and none is a must-pick.

Read the full chapter in the GDD (page 5)

05The campaign: a sawtooth on purpose

Twelve sieges across four realms; each realm adds one enemy and ends with one of the Arcana. A career bot starts with nothing, banks gold and buys upgrades, and the curve is tuned so a realm's finale is a wall and the next siege a breather. A first-time player finishes the map in about 28 runs; Judgement, at seven tries, is the number to watch in a playtest.

Read the full chapter in the GDD (page 6)

06Meta and economy

Gold from every siege, won or lost, buys permanent tower levels (+12% each, ten per tower), so losing still moves you forward; towers show their rank on the road. Stars unlock sieges, and a daily siege with a modifier (Blood Moon, Iron March…) is seeded by the date. Monetisation is planned behind interfaces: a rewarded second chance, rare interstitials, no energy system.

Read the full chapter in the GDD (page 7)

07Balancing: tuned by bots

The rules are pure C#, so a console runner plays thousands of sieges in parallel with three kinds of player at measured paces. The data changed the design three times: armour on Brutes stopped fast random swiping from winning; the draft turned out to be the run (2% wins without it, 63% with it); and a studio playtester found the road too demanding. Tying the road to moves cut mashing from 87% to 10% and lifted slow thinkers from 10% to 50%.

Read the full chapter in the GDD (page 8)

08Art direction: cel-shaded stickers

Every character, boss, tower and prop is drawn in code from distance-field shapes: original, consistent and regenerated in seconds. Cel shading after Kingdom Rush, warm plum outlines, and a saturation hierarchy (tiles and towers brightest, enemies next, scenery muted). Four realms, each with its own palette and props: the Greenwood, the Sunscorched Road, the Moonlit Marsh and the Frozen Summit.

Read the full chapter in the GDD (page 9)

09Audio and game feel

One orchestral track per realm and an epic loop for bosses, crossfading. Recorded impacts lead where the real thing reads best (steel for the Blade, a rammed door for the gate), with synthesized magic underneath. Motes, hit-stop, white hit flashes and glancing grey numbers on armour teach the player which tower to use.

Read the full chapter in the GDD (page 10)

10UX and onboarding

Teach by the road, not by text: siege 1 has only grunts and runners; each new enemy arrives alone with one tip, and its answer is a tower the player already knows. Every tile has a colour, a shape and a glyph; the draft has no time limit; the layout is portrait and one-handed.

Read the full chapter in the GDD (page 11)

11Technology

The match-3 rules are reused from Arcana Match; the siege is its own pure C# assembly, fixed-step and deterministic, covered by 132 EditMode tests. The scene, art and sounds are generated by editor menus, so the project rebuilds from source. Web and Android builds; save, store, ads and analytics behind interfaces.

Read the full chapter in the GDD (page 12)
From the build

Screenshots

Every image is captured from the game itself.

Design documents

Read more

Built with an AI coding assistant (Claude). I designed the game, set the rules, targets and tuning, ran the balance simulations and play-tested every build phase.