Overview for critics and designers · build 0.3.6 · 02.11.2026

Mana Fields

A tactical two-player match-3: one shared board, charged wires and a fight for ground. Working title.

Download PDF Design breakdown
1Introduction: what the game is and where it stands 2How a match plays: the turn loop and the battle screen explained 3Screens: every state of the interface in screenshots 4Balance: every lever and number 5Open questions
Part 1

Introduction

What the game is

Mana Fields is a duel of two players on one 6×14 match-3 board. One player's keep stands below it, the other's above. Whoever first brings the rival keep to 0 wins.

The board is more than a source of resources. Units stand on it, the borders of each player's ground run across it, and under every row lies a wire that builds up charge. The same swap pays mana, charges a wire, can strike the enemy and can expose your own units to an overload.

A turn is spent on three things: matching gems, casting spells and moving units, at 1 AP each. Mana buys units, direct damage, healing and buildings. Units walk forward on their own, strike, and widen the ground their owner is allowed to play on.

Three ideas everything rests on

Shared board

Both players play the same gems. Gravity depends on whose turn it is: for the bottom player gems fall down, for the top player they fall up.

Wires

Every match charges its row. A bonus shape on your own ground releases that charge into the enemy. Charge nobody takes overloads the row and hits whatever stands on it.

Ground

You may only swap on your own cells. Ground comes from the hero at your keep and from your units in the field. The middle of the board starts out neutral.

Project status

Stage
playable prototype, build 0.3.6
Engine
Godot 4, 2D only
Platform
mobile portrait 720×1280, web export
Modes
Campaign (against the bot, 10 levels), Hot seat, Online
Online
matchmaking, invites, rooms by code, 30 s a turn
Content
3 races, 3 units (), 1 building (), 13 spells in the book: 10 shared and 1 racial per race
Not done
terrain, world map, hero progression, story
Undecided
name, theme and look (part 5)

The game's interface is in English; in-game names are used as they are, so they can be found in the screenshots.

Glossary

Keep
What has to be destroyed. 100 HP. Stands beyond the edge of the board.
AP
Action points. 3 a turn, one for a swap, a spell or a unit's step.
Mana
Five colours: Plasma (red), Ion (blue), Flux (green), Photon (gold), Hex (violet).
Bonus shape
Any match bigger than three in a line: Match-4, 2×2, Match-5, L, Cross.
Wire
A conductor under every row. Shared by both players, holds up to 10 charge.
Release
A bonus shape on your own ground takes all the charge of its rows and sends it at the enemy as damage.
Overload
A row reached 10: its charge is split as damage between the units on it. With no units on it, the wire tears.
Node
The corner between four cells. Units stand on nodes and take up no gems.
Line
A horizontal of nodes between two rows. Buildings stand at its ends.
Frontier
The drawn border of a player's ground, ticked towards the ground it encloses.
Part 2

How a match plays

The turn loop

1 · AP

Action

A swap, a spell or a unit's step. Each costs 1 AP.

2 · MATCH

Shape

The harder the shape, the more damage. Cascades count the same way.

3 · PAYOUT

Mana and charge

Mana goes to the player, charge settles on the wire of every row of the shape.

4 · SPEND

Spells

Mana becomes units, damage, healing and buildings.

5 · RESULT

Enemy keep

A blow flies down its column. Units and charged shields in its way take it first.

Ground runs across the whole loop: it decides where you may swap, how much mana a match pays and whether a bonus shape strikes at all.

The battle screen

1 2 3 4 5 6 7 8
1
Keep and mana pool. The keep's HP and five lines of mana, one per colour: . The rival's plate is at the top, yours at the bottom. A spell aimed at the keep is dropped on it.
2
Menu. Help, Options, Debug, End battle.
3
Spellbook. A card is dragged onto the board, let go over its target and confirmed with the tick. A tap opens its description. The frame in the player's colour shows whose turn it is.
4
End turn. Also the AP left and, online, the turn clock.
5
Units (). They stand on nodes between the gems. The colour of the piece shows its owner.
6
Charged wire. The more charge, the brighter and thicker the discharge along the row. At the row's ends a signal blinks: yellow from 5, red from 7.
7
E-Shield. A shield along a line, with pads at the edges of the board.
8
Frontier. Bright gems inside it are yours, dim ones the rival's or nobody's. Units push the frontier forward.
Part 3

Screens

Before the battle

Front screen. Four ways in and the build number at the foot.
Campaign. The bot's race and level at the top, the player's race below, each race's passive under it. The strip of colours sets the player's colour.
Online. The list of waiting players. In the shot the server is empty.
Help. Five animated gesture cards: swap, spell, unit step, charge, release.

Menu and the end of a battle

Battle menu. Debug is there only in a game on one device.
Options. The only setting: which side the interface rail stands on.
Help in battle. The same gesture cards.
Result. Offline, a new battle is offered.

The battle by phase

Start. No units yet, the middle of the board is neutral. Bright gems are the ground of whoever is to move.
First turns. Units have left home and pull the frontier along. Shields appear on the lines, wires build up charge.
Midgame. The two frontiers have met in the centre, shields face each other, units split the ground.

Aiming and wires

Card carried. Strike over its target: the target is ringed, the board is not lit.
Awaiting confirmation. The card was let go over its target. In the book, a tick and a cross stand in its place.
Torn wires. Three rows are drawn cut between the gems. They hold no charge until Rewire mends them.

Hero and spell cards

Opened with a tap on the crest or on a card in the book. The board under the card is dimmed.

Hero. Race, passive, the keep's HP and the mana pool.
A unit, Ranger: its price and its stats table.
A spell, E-Shield: its price, here in two colours (88), and its description.
A racial spell, Killer: the price is one row of your own gems.

What a card shows

  • Mark, name and mana price. A racial spell is priced in rows of your own gems, Rewire is FREE.
  • A one-sentence description.
  • For units, a table: health, attack, load, influence.
  • For the hero: race name, passive, the keep's HP bar and the mana pool by colour.

Every screenshot is taken from build 0.3.6 in a 720×1280 window, in Hot seat: Plasma Syndicate at the bottom, Flux Commune at the top. The battle runs on a fixed seed; some states are reached through the debug menu.

Part 4

Balance

Every number lives in one file, config.json, and changes without touching code. The monospaced label to the right of a heading says which key controls what.

100keep HP
3AP a turn, 2 on the first
6×14board
5mana colours
10wire cap
30 sa turn online

Matches

matches.<kind>.mana / damage / release

Match-3 feeds the spellbook. Bonus shapes pay less mana, but they strike and release the wires. Every turn the player chooses between income and damage.

mana of the shape's colourdamage down the columns
ShapeManaDamageReleases rows

Wires

surge.chargePerCell 1 · wireCap 10 · damagePerCharge 1

Wires make every match dangerous, even the rival's. Charge on a row that nobody takes will sooner or later hit the units on it or tear the wire.

1
2
3
4
5
6
7
8
9
10
calmyellow signalred signalcap

The charge of one row. The wire is shared by both players.

  • Every match lays +1 charge for each of its cells in a row. Ground does not matter here.
  • A release takes all the row's charge, whoever's it is: 1 damage a unit.
  • At 10 the row overloads: the charge is split evenly as damage between all units on it, yours and the rival's.
  • With no units on it, the wire tears and is dead for both until Rewire mends it.
  • A row under an E-Shield holds up to 10 and does not overload.

Ground

board.homeDepth 5

Ground decides where a player may act at all. It can be taken only with units, so a summon is also an expansion.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
player A's home: 5 rowsneutral groundplayer B's home

Who holds a cell

First the units' total power is compared. On a tie, the hero's power in their home rows decides. Otherwise the cell is neutral. A unit's influence also runs back, as wide, to its own edge of the board: a unit that has walked forward is not cut off from home.

Hero of any race
2, home 5 rows
Ranger
1, radius 1
Tower
2, radius 1
Bombarder
1, radius 1

What ground gives

The right to swap (both cells yours), full mana for a match and the strike of a bonus shape. Units go on nodes with all four cells around them yours, buildings on lines with both rows yours from end to end.

Spells and prices

spells.<id>.cost / apCost · spellbook

Every spell costs 1 AP on top of its mana. Racial spells cost no mana, but work once a turn and burn 1 row of your own gems: whole, or only its blue gems for Storm.

SpellPriceWhat it does
Strike810 damage to a unit, a building (at a shield's pad) or a keep, your own included. Nothing in the way stops it.
Ranger10Summons a fighter onto your own ground.
Tower10Summons a tower of two blocks with a small diamond between them. It never moves.
Bombarder10Summons a bomber that moves only when you move it.
Heal9+10 HP to your keep, a unit or a building of yours, up to its maximum.
Collect8Drains 3 rows: all their charge becomes mana, no damage is dealt.
Hammer11Knocks out one gem on your own ground. What falls into the gap may match. No limit a turn.
Frost5Freezes 1 row the enemy holds until the end of their next turn: they cannot swap gems in it.
Charge11Releases 3 rows: all their charge strikes the enemy.
E-Shield88A shield on a line, 12 HP. Puts blows out with the charge of the 2 neighbouring rows, 1 charge for 1 damage.
Load9Gives an E-Shield of yours 10 charge of its own. It is spent on blows before the rows' charge and cannot be released.
Rewire0Mends a torn wire.
Killer Red12 damage to the enemy keep, every enemy unit and building.
Storm Blue1Every blue gem in 1 of your home rows goes: 1 direct damage to the enemy keep for each, past its shields, plus 1 damage from blue mana that resistance cuts.
Armor Green1+1 HP to your keep and all your units, past their maximum.

Units and buildings

units · structures

Ranger

10
HP
20
Attack
30
Load
15: 3 bursts of 5
Moves
on its own, 1 forward
Influence
1

Carries the frontier forward. Fully charged, it shoots the nearest enemy anywhere on the board: units first, then buildings, then the keep.

Tower

10
HP
16
Attack
30
Load
15: 3 bursts of 5
Moves
never
Influence
2

Two blocks side by side with a small diamond between them: one body that stops blows along 3 columns. Fully charged, it shoots the nearest enemy anywhere on the board: units first, then buildings, then the keep. Builds nothing.

Bombarder

10
HP
16
Attack
36, in 2×2 bombs of 3 a cell
Load
15: 3 bombs
Moves
by the player, 1 for 1 AP
Influence
1

Fully charged, it lobs bombs, each at a random 2×2 square of the enemy's half or at their keep (31 equal targets). It hits everything of the enemy's it touches and blows up 4 gems with no mana and no charge.

E-Shield

88
HP
12
Fuel
charge of 2 rows

With no charge it stops nothing. Broken by Strike, Killer and any blow down a column where a pad stands.

Units stand on the nodes between gems and take up no cells, so the board never shrinks. A blow down a column loses as much as the obstacle has HP, and the rest flies on.

Races

races.<id>.triggeredEffects / resists

A race sets a passive effect every turn, one spell of its own, and the colour of mana its keep is fully immune to; of every other colour, half reaches the keep. The book of ten shared spells is the same for all.

Plasma Syndicate

At turn end: 2 damage to the enemy keep and every enemy unit. Nothing intercepts it.

Spell: Killer.

Keep immune to red mana damage; takes half from .

Ion Conclave

At turn start: +1+1+1 mana.

Spell: Storm.

Keep immune to blue mana damage; takes half from .

Flux Commune

At turn start: +3 HP to your keep and +2 HP to every unit of yours, up to their maximum.

Spell: Armor.

Keep immune to green mana damage; takes half from .

Resistance works only against damage from mana (a shape's strike, a release, Charge) and only for the keep: 100% of its own colour, 50% of the others. Direct damage lands in full, and units take all of it.

Benchmarks

  • Strike: 2 damage per mana. Heal: 1.67 HP per mana.
  • A unit takes two Strikes (10 each): Ranger 20, Tower and Bombarder 16.
  • An E-Shield (12) survives one Strike. It takes Strike + Killer or two Strikes.
  • The Red passive (2) and the Green passive (2) cancel each other out exactly.
  • The Red passive alone brings a 100 HP keep down in 50 of its own turns.
  • An overload into a single unit deals 10 and kills any of them.
  • Charge over three full rows: up to 30 damage for 11; at most half reaches the keep.
  • Collect over three full rows: up to 30 mana for 8.
  • Photon and Hex are spent only on Collect, Charge, Hammer and E-Shield.

Tempo and chance

turn.firstAp · turn.headStart · rng
  • The first turn is one action shorter: 2 AP. According to a comment in the code, without it the opener won 4 games out of 5.
  • The second player starts with +2+2+2+2+2 mana (turn.headStart). With 2 AP alone the opener still won 59% of bot games; with the head start, 41% on build 0.3.5.
  • Who moves first is drawn by lot.
  • The starting board is laid out with no ready matches. New gems never close a match by themselves either; a cascade comes only from falling.
  • Five colours keep cascades short: about 2 steps a swap against 6.5 with three colours (a measurement from the spec, made on the old 8×14 board).
  • No move left on your own ground: the board is shuffled.
  • Turn start: the race effect, then buildings, then units from your own keep outward. A unit moves first, then acts.
  • Out of AP: the turn passes by itself.
  • The game stops the instant a keep falls to 0.

Bot

scripts/bot.gd · LEVELS and weights

The bot does not change the rules, but it sets the campaign's difficulty. It tries every action on the real game and weighs the result.

450
350
250
150
50
0
0
×2
×3
×3
1
2
3
4
5
6
7
8
9
10

Levels 1–5: the bar's height is the error of its judgement, in points. 6: no error, plays only on its own side. 7: across the whole board. 8–9: plan 2 and 3 actions ahead. 10: the same, but weighs the 8 best options instead of 4.

Keep HP
14
Charge on a shield
6
Whole wire on your side
2
Unit HP
1.4
Cell of ground
1.1
Unspent AP
−0.8
Action
0.6
Mana
0.35
Charge on a row
0.2
Part 5

Open questions

Three big questions are wide open: what the game is called, what it is about and how it looks. They come first below. After them, the places where numbers and the interface deserve a check. All of this is drawn from the code and the build, not from playtests.

Name, theme and look

main

None of the three is settled. Everything in the screenshots is a working version, assembled to test the mechanics.

Name

Mana Fields is a working title. The word "mana" comes from fantasy, while the game now speaks the language of wires, charge and plasma.

  • Name the game after its mechanics (board, wires, ground) or after its world?
  • Keep "mana" as the word for the resource?
  • How does the name sound and search in the app stores?

Theme

The project began as stylised fantasy and was repainted as cyber. The layers are mixed: keep, hero, spell and race live next to wire, E-Shield and Plasma Syndicate. The unit mark files are still called imp, mage, treant.

  • Fantasy, cyber, a mix of the two or a third world?
  • Who are the players and the units, and what is the fight about?
  • What do wires and overloads mean in the chosen world?

Look

Right now it is flat neon on near-black. Gems and units are drawn as one-colour silhouettes; the interface is built from rectangles without a single picture. There are no characters, background or setting.

  • Stay abstract or build a world with characters?
  • Do units and buildings have enough character?
  • How does a store screenshot tell this game apart from other match-3s?

These three decisions are linked: the name and the vocabulary depend on the theme, and the theme sets the art. The mechanics barely depend on them, so they can change without touching the rules.

Balance

Interface and presentation

Still undecided

Sources: config.json, scripts/game.gd, scripts/bot.gd, spec.md, build 0.3.6. Where the spec disagreed with the config, the config was taken.