{{ errorMsg }}
{{ noticeMsg }}

BACKBONE

Build the network. Bring datacenters online. Connect the cities. First to {{ targetVp }} AI tokens wins. ⊞ Games (offline mode)

How to play BACKBONE

Objective

You're a rival network operator. Expand your infrastructure across the hex map, bring Datacenters online, and connect Cities to your network. The first player to reach {{ targetVp }} AI tokens at the end of their turn triggers the endgame (see Winning).

The board

A 9×9 hex grid. Two corners are start hexes — yours already holds a Router and a Server. Seven City hexes (⬢) are neutral, never move, and are shared: both players may connect to the same City at once. The layout is a 180° rotation, so neither corner has a geometric head start. Adjacent = the six hexes touching a hex; a Wireless AP also counts as adjacent to the hex exactly one step beyond it in a straight line (the jumped hex isn't claimed).

Setup

Each player starts with 1 Router + 1 Server on their corner. Player 1 takes 3 BW, Player 2 takes 5 BW (the extra 2 offsets moving second). Bandwidth (BW) is the only currency — spent to Build and to Hack; income adds more each turn, up to a hand limit of 10.

Turn structure

The three actions

Build — pay the piece's cost and place it on an empty, non-City hex adjacent to your network, keeping the network connected. (Firewalls are the exception: placed on top of a piece you own.) A Switch needs 2+ adjacent friendly pieces — it consolidates, it doesn't expand alone. A Server built next to a City connects it (+1 token).

Hack (1 BW, once per turn) — choose an enemy piece adjacent to your network. If it carries a Firewall, the Firewall is spent and the piece is safe; otherwise it's Disabled until the end of the victim's next turn — it doesn't connect, serve, or score, and anything reachable only through it drops out of the network too. Hacks never destroy pieces or remove territory.

Reroute (free) — move one of your Switches or Wireless APs to another legal hex; the network must stay fully connected and at least as large afterward.

Infrastructure pieces

PieceCostWhat it does
Router2 BWExpands territory one hex; Datacenters need 2 adjacent.
Switch1 BWGlue — needs 2+ adjacent friendly pieces; doesn't expand alone.
Wireless AP3 BWReaches 1 hex beyond in a line (jumped hex not claimed).
Firewall2 BWPlaced on a piece you own; absorbs one Hack, then is spent.
Server3 BWOnline with 2 adjacent Routers; connects an adjacent City.
Datacenter6 BWYour engine of victory — online (1 token) while adjacent to 2+ Routers and connected to a Server.

Scoring

Checked at the end of every turn:

SourceAI tokens
Each online Datacenter1
Each City connected to your network1
Two+ of your Datacenters linked through your network (once)+2 bonus
Losing your only networked Server takes every Datacenter offline at once — usually the more dangerous hack than a single City.

Winning

End a turn with {{ targetVp }}+ AI tokens and your opponent gets exactly one more full turn to catch up; then the higher total wins (ties → more connected Cities → draw). If the second player also reaches the target on that closing turn, the game ends immediately (turns are already equal). Four consecutive Passes (a stuck round) also ends it by the same tiebreak.

Strategy tips

⬢C +1 +1 {{ c.cityBy.length ? 'Connected to: '+c.cityBy.map(o=>nameOf(o)).join(' & ')+' (+1 AI token each)' : 'Not connected — build an adjacent Server' }} START +1 +1 ✕ Cut off from the network — not scoring, not serving, not extending {{ c.dcOnline ? 'Online — scoring 1 AI token' : 'Offline — needs 2 adjacent Routers and a Server in your network' }} {{ c.serverActive ? 'Connected — scoring 1 AI token for its city' : 'Its city is not currently connected' }} {{ c.x }},{{ c.y }}
network link wireless jump ◌ faded = disconnected +1 = scoring right now ⬢●● = city connected to P1/P2
{{ turnLabel }} action {{ 3-state.actions_left }} / 2 · turn {{ state.turn_no }}
{{ nameOf(0) }}
{{ state.vp[0] }} {{ tokLabel(state.vp[0]) }} · {{ state.bw[0] }} BW
🖥️{{ state.cities_connected[0].length }} cities · 🏭{{ onlineDcCount(0) }} online · 🔗+2
{{ nameOf(1) }}
{{ state.vp[1] }} {{ tokLabel(state.vp[1]) }} · {{ state.bw[1] }} BW
🖥️{{ state.cities_connected[1].length }} cities · 🏭{{ onlineDcCount(1) }} online · 🔗+2
{{ winnerText }}
{{ opponentName }} offers a draw.
{{ opponentName }}'s last turn
{{ aimMeta(e.aim).label }} {{ e.text }}
supply: {{ sup(k) }}
{{ toolHint }}
Serve which city?
● Playing as {{ me.player.name }} · guest · {{ me.player.ratings.backbone.rating }} {{ me.player.ratings.backbone.rank }} Admin manage ⊞
My games
vs {{ g.opponent }} {{ g.ply }} actions · {{ ago(g.last_move_at) }} your turn waiting
Open games
{{ s.mine ? 'Your offer' : s.player }} {{ s.mine ? 'you play '+(s.side_pref==='white'?'P1':s.side_pref==='black'?'P2':'random') : (s.you_play==='random'?'random sides':"you'd play "+(s.you_play==='white'?'P1':'P2')) }} RATED
Bug report