Grid
The playing board for Starcore
🗺️ The Grid
Version: 3.0 | Last Updated: October 27, 2025
Overview
The Grid is the spatial battlefield system. Every card occupies exactly one Tile. Position determines everything: who you can attack, where resources flow, and which effects reach their targets. The grid is broken into your half and your opponents half. The Grid ships with every Base set of Starcore

Grid Structure
The 8×3 Shared Battlefield
Lane: 1 2 3 4 5 6 7 8
┌────┬────┬────┬────┬────┬────┬────┬────┐
A │ A1 │ A2 │ A3 │ A4 │ A5 │ A6 │ A7 │ A8 │ Row A
├────┼────┼────┼────┼────┼────┼────┼────┤
B │ B1 │ B2 │ B3 │ B4 │ B5 │ B6 │ B7 │ B8 │ Row B
├────┼────┼────┼────┼────┼────┼────┼────┤
C │ C1 │ C2 │ C3 │ C4 │ C5 │ C6 │ C7 │ C8 │ Row C
└────┴────┴────┴────┴────┴────┴────┴────┘
PLAYER 1 DEPLOYMENT ZONE (Rows A-C)
════════════════════════════════════════
SHARED BATTLEFIELD - BOTH PLAYERS CAN MOVE HERE
════════════════════════════════════════
PLAYER 2 DEPLOYMENT ZONE (Rows A-C from their perspective)Total Tiles: 24 (8 Lanes × 3 Rows) Coordinate Format: Row + Lane (e.g., A5, C3, B7)
Zones & Sectors
The playmat introduces strategic regions that help organize the battlefield and provide keywords/effects with clear territorial references.
Zones (Horizontal Divisions)
Zone 1 (Z1): Lanes 1-4 Zone 2 (Z2): Lanes 5-8
Lane: 1 2 3 4 │ 5 6 7 8
┌────┬────┬────┬────┼────┬────┬────┬────┐
│ Z1 │ Z2 │
└────────────────────┴────────────────────┘Tactical Use:
Keywords can reference zones (e.g., "Bonus if in Z1", "Effect targets all units in Z2")
Provides left/right battlefield awareness
Simplifies complex targeting patterns
Creates strategic value for controlling specific zones
Sectors (Vertical + Horizontal Divisions)
Sectors combine Zone and Row to create smaller tactical regions:
Lane: 1 2 3 4 │ 5 6 7 8
┌────┬────┬────┬────┼────┬────┬────┬────┐
A │ S1 (Z1+A) │ S2 (Z2+A) │
├────┬────┬────┬────┼────┬────┬────┬────┤
B │ S1 (Z1+B) │ S2 (Z2+B) │
├────┬────┬────┬────┼────┬────┬────┬────┤
C │ S3 (Z1+C) │ S4 (Z2+C) │
└────┴────┴────┴────┴────┴────┴────┴────┘Sector Mapping:
S1
Z1 + Rows A-B
A1-A4, B1-B4
Left frontline & middle
S2
Z2 + Rows A-B
A5-A8, B5-B8
Right frontline & middle
S3
Z1 + Row C
C1-C4
Left backline
S4
Z2 + Row C
C5-C8
Right backline
Sector-Based Gameplay:
"Dominate S1: If you control 3+ tiles in Sector 1, gain +2 DMG"
"Sector Sweep: Deal 2 DMG to all units in target Sector"
"Fortify S3: Units in S3 gain +1 DEF"
Provides intermediate targeting complexity between single tile and full board
Off-Board Areas
The playmat includes dedicated spaces for game components that are NOT part of the battlefield grid:
Primary Off-Board Zones
VOID
Location: Bottom left of playmat
Purpose: Permanent removal zone for destroyed/exiled cards
Rule: Cards in VOID cannot be returned to play (unless specific card effects allow)
Visual: Large rounded rectangle area
SCRAPYARD
Location: Bottom center-left of playmat
Purpose: Discard pile for destroyed units and spent actions
Rule: Cards here may be retrievable with effects like "Salvage" or "Reclaim"
Visual: Large rounded rectangle area
DECK
Location: Bottom center-right of playmat
Purpose: Draw pile for unplayed cards
Rule: Face-down, shuffle when needed
Visual: Large rounded rectangle area
DICE & COUNTERS
Location: Bottom right of playmat
Purpose: Storage for dice, damage counters, tokens, condition markers
Rule: Keep organized for quick access during play
Visual: Large rounded rectangle area
Top Zone Area
DICE 1 & 2 / COUNTERS
Location: Top left and top right of playmat
Purpose: Active die roll area and counters for current turn
Rule: Place dice here during attack/defense rolls
Visual: Small rounded rectangles on each side
COMMANDERS
Location: Top center-left of playmat
Purpose: Display area for Commander cards (not deployed yet, or reference)
Rule: Your Commander card rests here before/after deployment
Visual: Rounded rectangle
DECK (Secondary)
Location: Top center of playmat
Purpose: Alternative deck placement for easier reach
Rule: Optional location based on player preference
Visual: Rounded rectangle
SCRAPYARD (Secondary)
Location: Top center-right of playmat
Purpose: Alternative scrapyard placement
Rule: Optional location based on player preference
Visual: Rounded rectangle
VOID (Secondary)
Location: Top right of playmat
Purpose: Alternative void placement
Rule: Optional location based on player preference
Visual: Rounded rectangle
Quality of Life Features
DRINK HOLDER
Location: Bottom right circle
Purpose: Keep beverages safe from spills on play area
Design Philosophy: Professional playmats should accommodate real play sessions
STARCORE BRANDING
Location: Top left and bottom right corners
Purpose: Visual identity and orientation guide
Design: Clean logo placement that doesn't interfere with gameplay
Board Ownership & Territory
Deployment Zones
Player 1's Half: Their side of the 3 rows (visually shown as top half in diagram)
Player 2's Half: Their side of the 3 rows (visually shown as bottom half in diagram)
Initial Placement Rule: Cards must start on your half of the board (your 3 rows)
First Turn Special: Only 2 cards can be placed on turn 1
Shared Battlefield
Movement Freedom: Units AND Commanders can move onto opponent's board territory
No Permanent Ownership: Territory is fluid - cards can advance across the entire grid
Cross-Territory Combat: You can attack and be attacked anywhere on the grid
Example:
Player 1 deploys in their rows A-C
Player 2 deploys in their rows A-C (from their perspective, facing Player 1)
Both players can move units into opponent's territory
The entire 8×3 grid becomes a shared battlefieldCore Components
Tiles
Individual spaces on the Grid. Each Tile:
Holds exactly one card (no stacking except Module attachments via linking)
Has a unique coordinate (Row + Lane)
Can be empty or occupied
Part of the shared battlefield
Belongs to exactly one Zone and one Sector
Rows (Depth)
Horizontal lines across the battlefield:
A
Row A
Your front/opponent's back (depending on perspective)
B
Row B
Middle ground, flexible positioning
C
Row C
Your back/opponent's front (depending on perspective)
Note: Row positioning is relative to each player. What's "front" for one player is "back" for their opponent.
Lanes (Width)
Vertical columns across the battlefield:
1-2
Left side
Z1
Flanking opportunities, S1/S3 dominance
3-4
Center-left
Z1
Main engagement, Z1 control
5-6
Center-right
Z2
Main engagement, Z2 control
7-8
Right side
Z2
Flanking opportunities, S2/S4 dominance
Movement System
Movement Values
Every card has a base movement stat:
0 = Immobile (cannot move)
1 = Standard (move 1 tile per Movement phase)
2 = Fast (move 2 tiles per Movement phase)
Movement Directions
8-Directional Movement:
[↖] [↑] [↗]
[←] [X] [→]
[↙] [↓] [↘]Units can move in all 8 directions:
Orthogonal: Up, Down, Left, Right (4 directions)
Diagonal: All 4 diagonal directions
Movement Range Examples:
Movement 1: Can move to any of the 8 adjacent tiles
Movement 2: Can move up to 2 tiles away in any direction (straight or diagonal)
Zone & Sector Changes:
Moving changes which Zone/Sector you occupy
Some effects trigger when entering/leaving specific Zones or Sectors
Strategic positioning becomes even more valuable with regional bonuses
Movement & Modules
CRITICAL RULE: When a Unit moves, its Modules stay in their original tiles
Example:
Before Movement:
Lane: 3 4 5
┌────┬────┬────┐
B │ M │ U │ │ M = Module, U = Unit
└────┴────┴────┘
(Unit in S1, Zone 1)
After Unit Moves Right:
Lane: 3 4 5
┌────┬────┬────┐
B │ M │ │ U │ Module stays at B3, Unit moves to B5
└────┴────┴────┘
(Unit now in S2, Zone 2!)Tactical Implications:
Modules become anchors for future deployments
Modules become targets for opponents
Creates risk/reward: advance or maintain buffs?
Network topology planning is critical
Moving between Zones/Sectors may activate/deactivate regional effects
Adjacency Rules
Two cards are adjacent ONLY when their Tiles share a face.
What Counts as Adjacent
[✓]
[✓] [X] [✓]
[✓]The card at X is adjacent to the four face-touching tiles (up, down, left, right).
What Does NOT Count
[✗] [ ] [✗]
[ ] [X] [ ]
[✗] [ ] [✗]The card at X is NOT adjacent to diagonal tiles (marked ✗).
Adjacency by Position
Corner
2
A1 touches A2, B1
Edge
3
A4 touches A3, A5, B4
Interior
4
B4 touches A4, B3, B5, C4
Note: Adjacent cards may be in different Zones or Sectors. Adjacency is purely spatial.
Adjacency Examples
Example 1: Corner Position
Lane: 1 2 3
┌────┬────┬────┐
A │ X │ ✓ │ │
├────┼────┼────┤
B │ ✓ │ ✗ │ │
└────┴────┴────┘Card at A1 (X) is adjacent to:
A2 (✓) - right
B1 (✓) - down
Not adjacent to: B2 (✗ - diagonal)
Example 2: Edge Position
Lane: 1 2 3 4
┌────┬────┬────┬────┐
A │ │ ✓ │ │ │
├────┼────┼────┼────┤
B │ ✓ │ X │ ✓ │ │
└────┴────┴────┴────┘Card at B2 (X) is adjacent to:
A2 (✓) - up
B1 (✓) - left
B3 (✓) - right
Not adjacent to: A1, A3 (diagonals)
Example 3: Interior Position
Lane: 3 4 5
┌────┬────┬────┐
A │ │ ✓ │ │
├────┼────┼────┤
B │ ✓ │ X │ ✓ │
├────┼────┼────┤
C │ │ ✓ │ │
└────┴────┴────┘Card at B4 (X) is adjacent to:
A4 (✓) - up
B3 (✓) - left
B5 (✓) - right
C4 (✓) - down
Not adjacent to: A3, A5, C3, C5 (all diagonals)
Example 4: Cross-Zone Adjacency
Lane: 3 4 │ 5 6 (Z1 | Z2)
┌────┬────┼────┬────┐
B │ │ X │ ✓ │ │
└────┴────┴────┴────┘Card at B4 (X, in Z1) is adjacent to:
B5 (✓, in Z2) - right (crosses zone boundary)
Zone Adjacency: Cards in different zones CAN be adjacent if they share a face.
The Linking System
Links (Resource & Module Connectors)
Visual: Triangular edges on cards (physical design element) Function: Connect cards into networks for resource flow and module attachment Rule: Links connect when cards are face-adjacent ONLY (no diagonals) Max per card: 4 Links (one per face: up, down, left, right)
┌─────────┐
│ △ │ ← Link (top)
│◁ X ▷│ ← Links (left/right)
│ ▽ │ ← Link (bottom)
└─────────┘What Can Be Linked
Links connect three card types:
Units ↔ Modules
Units ↔ Resources
Modules ↔ Resources
Link Connection Rules
Face-Only Adjacency (CRITICAL):
Links can ONLY connect on the four FACE directions
Up, Down, Left, Right = Valid link directions
Diagonal = NOT valid for linking
Creates puzzle-solving challenges for network placement
Link Range:
Adjacent cards only (1 tile away on face)
Links break if cards move out of range
Links must be re-established after movement breaks them
Cross-Zone/Sector Linking:
Links CAN span across Zone boundaries (e.g., B4 → B5 crosses Z1 to Z2)
Links CAN span across Sector boundaries
This enables strategic network building across the battlefield
Visual Indicators:
Physical game includes clear linking indicator tokens
Easy to track connections on the board
No ambiguity about what is linked to what
Link Network Examples
Example 1: Simple Resource Link
Lane: 3 4 5
┌────┬────┬────┐
B │ │ R │ U │ R = Resource (+2 Energy), U = Unit
└────┴────┴────┘
Link: R —Link→ U
Result: Unit gains +2 damage bonus from direct Resource connectionExample 2: Module Link
Lane: 3 4 5
┌────┬────┬────┐
A │ │ U │ │ U = Unit
├────┼────┼────┤
B │ │ M │ │ M = Defensive Module
└────┴────┴────┘
Link: U —Link→ M (vertical face-adjacent)
Result: Unit gains defensive buff from ModuleExample 3: Network Chain
Lane: 3 4 5 6
┌────┬────┬────┬────┐
C │ R │ M │ M │ U │
└────┴────┴────┴────┘
Link Chain: R —Link→ M —Link→ M —Link→ U
Result: Resource energy flows through Module relay to UnitExample 4: Cross-Zone Network
Lane: 3 4 │ 5 6 (Z1 | Z2)
┌────┬────┼────┬────┐
C │ R │ U │ M │ U │
└────┴────┴────┴────┘
Link Chain: R —Link→ U (in Z1) —Link→ M (in Z2) —Link→ U (in Z2)
Result: Network spans two zones, strategic value for zone-control effectsExample 5: Broken Link (Unit Moved)
BEFORE Unit Movement:
Lane: 3 4 5
┌────┬────┬────┐
B │ M │ U │ │ M linked to U
└────┴────┴────┘
AFTER Unit Movement:
Lane: 3 4 5
┌────┬────┬────┐
B │ M │ │ U │ Link broken - not face-adjacent
└────┴────┴────┘
Result: Unit loses Module buff, Module becomes anchor for future placementRange and Targeting
Range (Row Targeting)
Range determines which rows an effect can reach.
Range Notation:
A
Row A only
B
Row B only
C
Row C only
A+B
Rows A and B
A+C
Rows A and C (skip B)
A+B+C
All rows
Example Card:
Sniper Unit
Range: A+C
Attack: 6 DMG
Can target Row A or Row C, but NOT Row BWidth (Lane Targeting)
Width Notation:
Lane X
Single lane only
Lane X±1
Target lane plus adjacent lanes
Lane X±2
Target lane plus 2 lanes on each side
Zone 1
All of Lanes 1-4
Zone 2
All of Lanes 5-8
Sector X
All tiles in specified Sector
Example Card:
Artillery Strike
Range: A+B+C
Width: Lane 4±1
Damage: 3
Hits all units in Lanes 3, 4, and 5 across all rowsExample Zone-Based Card:
Zone Bombardment
Range: B+C
Width: Zone 2
Damage: 2
Hits all units in Lanes 5-8 across Rows B and CExample Sector-Based Card:
Tactical Strike
Range: All
Width: Sector 1
Damage: 4
Hits all units in Sector 1 (Lanes 1-4, Rows A-B)Combined Targeting Examples
Example 1: Range + Single Lane
Card: Short-Range Rifle
Range: A
Width: Lane 5
Lane: 3 4 5 6 7
┌────┬────┬────┬────┬────┐
A │ │ │ ✓ │ │ │ ← Can hit
├────┼────┼────┼────┼────┤
B │ │ │ ✗ │ │ │ ← Cannot hit
├────┼────┼────┼────┼────┤
C │ │ │ ✗ │ │ │ ← Cannot hit
└────┴────┴────┴────┴────┘Example 2: Range + Width
Card: Flamethrower
Range: A+B
Width: Lane 4±1
Lane: 2 3 4 5 6
┌────┬────┬────┬────┬────┐
A │ │ ✓ │ ✓ │ ✓ │ │ ← Can hit
├────┼────┼────┼────┼────┤
B │ │ ✓ │ ✓ │ ✓ │ │ ← Can hit
├────┼────┼────┼────┼────┤
C │ │ ✗ │ ✗ │ ✗ │ │ ← Cannot hit
└────┴────┴────┴────┴────┘Example 3: Zone Targeting
Card: Zone Suppression
Range: A+B+C
Width: Zone 1
Lane: 1 2 3 4 │ 5 6 7 8
┌────┬────┬────┬────┼────┬────┬────┬────┐
A │ ✓ │ ✓ │ ✓ │ ✓ │ ✗ │ ✗ │ ✗ │ ✗ │
├────┼────┼────┼────┼────┼────┼────┼────┤
B │ ✓ │ ✓ │ ✓ │ ✓ │ ✗ │ ✗ │ ✗ │ ✗ │
├────┼────┼────┼────┼────┼────┼────┼────┤
C │ ✓ │ ✓ │ ✓ │ ✓ │ ✗ │ ✗ │ ✗ │ ✗ │
└────┴────┴────┴────┴────┴────┴────┴────┘
Hits all units in Zone 1 (Lanes 1-4, all rows)Example 4: Sector Targeting
Card: Sector Bombardment
Range: All
Width: Sector 2
Lane: 1 2 3 4 │ 5 6 7 8
┌────┬────┬────┬────┼────┬────┬────┬────┐
A │ ✗ │ ✗ │ ✗ │ ✗ │ ✓ │ ✓ │ ✓ │ ✓ │
├────┼────┼────┼────┼────┼────┼────┼────┤
B │ ✗ │ ✗ │ ✗ │ ✗ │ ✓ │ ✓ │ ✓ │ ✓ │
├────┼────┼────┼────┼────┼────┼────┼────┤
C │ ✗ │ ✗ │ ✗ │ ✗ │ ✗ │ ✗ │ ✗ │ ✗ │
└────┴────┴────┴────┴────┴────┴────┴────┘
Hits all units in Sector 2 (Lanes 5-8, Rows A-B only)Tactical Positioning
Line of Sight (Optional Rule)
Basic Rule: By default, you can target any unit in your Range and Width, regardless of intervening units.
Advanced Pierce Mechanic:
Your View (from Row C looking at opponent's side):
┌────┐
A │ ✗ │ ← Enemy front row blocks unless you have Pierce
├────┤
B │ ✗ │ ← Enemy middle row also blocked
├────┤
C │ ✓ │ ← Your view of back row (unless opponent has Pierce)
└────┘Flanking Opportunities
Attacking from the sides (Lanes 1-2 or 7-8) against center targets (Lanes 3-6) may grant tactical advantages.
Example Card:
Flanking Strike
Keyword: Flank +2
If this Unit attacks from Lane 1-2 or 7-8,
gain +2 DMG against targets in Lanes 3-6.Zone-Based Flanking:
Cross-Zone Ambush
Keyword: Zone Flank +3
If this Unit attacks from a different Zone than the target,
gain +3 DMG.Zone Control Strategy
Zone Dominance Effects:
Zone Commander
Keyword: Zone 1 Dominance
While you control 4+ tiles in Zone 1, all your Units in Zone 1 gain +1 DEF.Sector Lock:
Fortified Position
Keyword: Sector Lock (S3)
Units in Sector 3 cannot be targeted by opponents in Sector 2.Center Control
Center lanes (3-6) are natural battlegrounds. Controlling these lanes provides:
Better positioning options
Easier targeting of enemy units
More flexible movement paths
Access to both Zone 1 and Zone 2 effects
Grid Control Strategy
Deployment Priority
Early Game (Turns 1-3):
Deploy Resources in your back rows (safety)
Place Units in middle positions (flexibility)
Establish Link networks before advancing
Consider Zone positioning for regional effects
Remember: First turn only 2 cards!
Mid Game (Turns 4-6):
Advance Units toward opponent's territory
Control center Lanes (3-6) for flexibility
Protect your Commander
Target opponent's Resource networks
Fight for Zone dominance if effects are in play
Late Game (Turns 7+):
Push into opponent's deployment zone
Use board-wide or Zone/Sector effects
Commander strikes for victory (reduce to 0 life)
Disrupt opponent's Module anchors
Contest Sectors with high-value effects
Physical Implementation
Playmat Requirements
Grid Markings:
Clear coordinate labels (A1-C8)
Lane numbers (1-8) clearly visible at top AND bottom
Row letters (A, B, C) clearly visible on both sides
Subtle grid lines for tile boundaries
Zone divider (vertical line between Lanes 4-5)
Sector labels (S1-S4) for strategic reference
Off-Board Zones:
VOID area (bottom left)
SCRAPYARD area (bottom center-left)
DECK area (bottom center-right)
DICE & COUNTERS area (bottom right)
Optional duplicate zones at top for player convenience
Recommended Materials:
Neoprene rubber (rolls up easily)
24" × 36" size (larger for off-board areas)
High-contrast printing for grid visibility
Water-resistant coating
Professional branding elements
Quality of Life:
Drink holder circle to prevent spills
Clear visual separation between battlefield and off-board areas
Easy-to-read fonts at standard viewing distance
Card Positioning
Orientation Matters:
Links must face adjacent cards for connection
Card rotation can indicate status (if using tap/exhaust mechanics)
Clear placement within tile boundaries
Respect Zone/Sector boundaries for visual clarity
Physical Aids
Tokens:
Damage counters (for Commander life tracking)
Link indicator tokens (show active connections)
Resource pool trackers (colored by type)
Condition markers (status effects)
Zone control markers (to track dominance)
Reference Cards:
Adjacency diagram (face-only rule)
Range/Width quick reference
Movement value guide
Link connection rules
Zone & Sector map
Digital Implementation Notes
Grid State Tracking
Required Data Structure:
tile_state = {
"coordinate": "B4",
"occupied_by": "card_id_12345",
"owner": "player_1",
"card_type": "unit",
"row": "B",
"lane": 4,
"zone": 1, # Z1 (lanes 1-4)
"sector": 1, # S1 (Z1 + Rows A-B)
"face_adjacent_to": ["A4", "B3", "B5", "C4"],
"linked_to": ["B3", "B5"], # Active links only
}Zone & Sector Calculation
def get_zone(lane: int) -> int:
"""
Determine which zone a lane belongs to.
Lanes 1-4 = Zone 1
Lanes 5-8 = Zone 2
"""
return 1 if lane <= 4 else 2
def get_sector(row: str, lane: int) -> int:
"""
Determine which sector a tile belongs to.
S1: Z1 + Rows A-B
S2: Z2 + Rows A-B
S3: Z1 + Row C
S4: Z2 + Row C
"""
zone = get_zone(lane)
if row in ['A', 'B']:
return 1 if zone == 1 else 2
else: # Row C
return 3 if zone == 1 else 4
def get_tiles_in_zone(zone: int) -> list[str]:
"""
Get all tiles in a specific zone.
"""
lanes = range(1, 5) if zone == 1 else range(5, 9)
tiles = []
for row in ['A', 'B', 'C']:
for lane in lanes:
tiles.append(f"{row}{lane}")
return tiles
def get_tiles_in_sector(sector: int) -> list[str]:
"""
Get all tiles in a specific sector.
"""
if sector == 1: # Z1 + A-B
lanes, rows = range(1, 5), ['A', 'B']
elif sector == 2: # Z2 + A-B
lanes, rows = range(5, 9), ['A', 'B']
elif sector == 3: # Z1 + C
lanes, rows = range(1, 5), ['C']
else: # sector == 4, Z2 + C
lanes, rows = range(5, 9), ['C']
tiles = []
for row in rows:
for lane in lanes:
tiles.append(f"{row}{lane}")
return tilesAdjacency Calculation
def get_face_adjacent_tiles(tile: str) -> list[str]:
"""
Returns list of face-adjacent tiles (no diagonals).
Input: "B4"
Output: ["A4", "B3", "B5", "C4"]
"""
row, lane = tile[0], int(tile[1])
adjacent = []
# Up (previous row)
if row != 'A':
adjacent.append(f"{chr(ord(row)-1)}{lane}")
# Down (next row)
if row != 'C':
adjacent.append(f"{chr(ord(row)+1)}{lane}")
# Left (previous lane)
if lane > 1:
adjacent.append(f"{row}{lane-1}")
# Right (next lane)
if lane < 8:
adjacent.append(f"{row}{lane+1}")
return adjacentMovement Validation
def can_move_to(from_tile: str, to_tile: str, movement_value: int) -> bool:
"""
Check if unit can move from one tile to another.
Supports diagonal movement.
movement_value: 0 (immobile), 1, or 2
"""
if movement_value == 0:
return False
from_row, from_lane = from_tile[0], int(from_tile[1])
to_row, to_lane = to_tile[0], int(to_tile[1])
# Calculate distance (Chebyshev distance for 8-directional)
row_diff = abs(ord(to_row) - ord(from_row))
lane_diff = abs(to_lane - from_lane)
distance = max(row_diff, lane_diff)
return distance <= movement_valueLink Validation
def can_link(tile_a: str, tile_b: str) -> bool:
"""
Check if two tiles can be linked.
Links require face-adjacency (no diagonals).
"""
adjacent_tiles = get_face_adjacent_tiles(tile_a)
return tile_b in adjacent_tilesZone Control Tracking
def count_tiles_in_zone(player_id: str, zone: int, board_state: dict) -> int:
"""
Count how many tiles a player controls in a specific zone.
Useful for zone dominance effects.
"""
zone_tiles = get_tiles_in_zone(zone)
count = 0
for tile in zone_tiles:
if tile in board_state:
if board_state[tile].get("owner") == player_id:
count += 1
return count
def has_zone_dominance(player_id: str, zone: int, board_state: dict, threshold: int = 6) -> bool:
"""
Check if a player has zone dominance (controls threshold+ tiles in zone).
Default threshold is 6 out of 12 tiles (50%+ control).
"""
return count_tiles_in_zone(player_id, zone, board_state) >= thresholdDesign Philosophy
Why 8×3?
Not 7×3 (too narrow):
Insufficient lane variety
Limited tactical options
Cramped battlefield
Zones would be unbalanced (3.5 lanes each)
Not 10×3 (too wide):
Excessive empty space
Analysis paralysis
Slower gameplay
Zones would be too large (5 lanes each)
8×3 is optimal:
8 lanes provide variety
24 tiles = manageable complexity
Fast strategic reads
Clear tactical zones
Fits standard playmat sizes
Perfect for 2-zone split (4 lanes each)
Why Zones & Sectors?
Zones provide:
Strategic territory control objectives
Simplified targeting for area effects
Left/right battlefield awareness
Mid-level complexity between single-tile and full-board
Sectors provide:
Granular regional control
Front/back + left/right tactical planning
Keyword design space (Sector dominance, Sector lock, etc.)
Clear strategic zones for deck archetypes
Balance:
Not overwhelming (only 2 Zones, 4 Sectors)
Intuitive spatial division
Natural extension of existing lane/row system
Optional complexity (base game can ignore them, expansions leverage them)
Why Face-Adjacent Only?
Diagonal adjacency creates:
Confusing Link paths
Ambiguous "next to" meaning
Harder physical tracking
Visual clutter
Face-adjacent ensures:
Crystal-clear adjacency
Unambiguous connections
Easy physical tracking
Intuitive spatial relationships
Clean network topology
Why 8-Directional Movement?
Movement can be diagonal, but Links cannot:
Movement: Tactical flexibility (8 directions)
Links: Strategic clarity (4 directions only)
This separation creates depth without confusion
Units navigate freely, but networks require planning
Why Off-Board Areas?
Physical playmat needs:
Clear separation between battlefield and card zones
Organized game state (not cluttered on grid)
Professional tournament-ready layout
Intuitive game flow (draw from DECK, discard to SCRAPYARD, exile to VOID)
Digital advantages:
Matches physical layout for seamless transition
Reduces UI confusion
Establishes consistent mental model
Enables future mechanics (Salvage from SCRAPYARD, etc.)
Common Mistakes
Mistake 1: Diagonal Linking
❌ WRONG:
"My Resource at B4 is linked to my Unit at A5"
(Diagonal does NOT create links)
✓ RIGHT:
"My Resource at B4 is linked to my Unit at B5"
(Face-adjacent creates valid link)Mistake 2: Assuming Modules Move with Units
❌ WRONG:
"I move my Unit from B3 to B5, and its Module moves with it"
✓ RIGHT:
"I move my Unit from B3 to B5. The Module stays at B3.
The link breaks because they're no longer adjacent."Mistake 3: Range Confusion
❌ WRONG:
"My Range A+B attack hits the enemy Commander at C4"
(C is not in A+B range)
✓ RIGHT:
"My Range A+B attack can hit enemies at A4 or B4"
(Only Rows A and B are valid targets)Mistake 4: Zone Confusion
❌ WRONG:
"My 'Zone 1 Buff' affects my Unit at B5"
(B5 is in Zone 2, not Zone 1)
✓ RIGHT:
"My 'Zone 1 Buff' affects my Unit at B3"
(B3 is in Zone 1 = Lanes 1-4)Mistake 5: Sector Misidentification
❌ WRONG:
"My Unit at C5 is in Sector 2"
(C5 is in Sector 4, not Sector 2)
✓ RIGHT:
"My Unit at C5 is in Sector 4"
(Sector 4 = Zone 2 + Row C)Mistake 6: First Turn Overload
❌ WRONG:
"On turn 1, I deploy 3 Resources and 2 Units"
✓ RIGHT:
"On turn 1, I can only place 2 cards total"
(First turn special rule limits to 2 cards)Mistake 7: Off-Board Confusion
❌ WRONG:
"I place my destroyed Unit in the VOID"
(VOID is for permanent exile, not regular destruction)
✓ RIGHT:
"I place my destroyed Unit in the SCRAPYARD"
(SCRAPYARD is the discard pile, VOID is for exile effects)Glossary
Tile - Single space on Grid (e.g., A5, B3, C7) Row - Horizontal line (A, B, or C) Lane - Vertical column (1-8) Zone - Horizontal battlefield division (Z1 = Lanes 1-4, Z2 = Lanes 5-8) Sector - Combined Zone + Row region (S1, S2, S3, S4) Adjacent - Face-touching tiles only (up, down, left, right) Face-Adjacent - Same as Adjacent (clarifying term) Diagonal - NOT adjacent for linking purposes Link - Connector for Resource/Module networks (face-adjacent only) Range - Which rows an effect can reach Width - Which lanes an effect can reach Deployment Zone - Your starting half of the board (your 3 rows) Shared Battlefield - The entire 8×3 grid where all combat occurs Module Anchor - Module left behind when unit moves, becomes strategic placement point VOID - Permanent exile zone (off-board) SCRAPYARD - Discard pile (off-board) DECK - Draw pile (off-board) Zone Dominance - Controlling majority of tiles in a zone Sector Lock - Effect preventing targeting between specific sectors
Quick Reference
Coordinate System
Format: Row + Lane (e.g., A1, B5, C8)
Total Tiles: 24 (8 Lanes × 3 Rows)
Row Labels: A, B, C
Lane Labels: 1-8
Zones & Sectors
Zone 1 (Z1): Lanes 1-4 (12 tiles)
Zone 2 (Z2): Lanes 5-8 (12 tiles)
Sector 1 (S1): Z1 + Rows A-B (8 tiles: A1-A4, B1-B4)
Sector 2 (S2): Z2 + Rows A-B (8 tiles: A5-A8, B5-B8)
Sector 3 (S3): Z1 + Row C (4 tiles: C1-C4)
Sector 4 (S4): Z2 + Row C (4 tiles: C5-C8)
Adjacency
Face-touching only: Up, Down, Left, Right
Corner tiles: 2 adjacent
Edge tiles: 3 adjacent
Interior tiles: 4 adjacent
Diagonal: NOT adjacent for linking
Cross-Zone: Adjacent tiles CAN be in different zones
Movement
Values: 0 (Immobile), 1 (Standard), 2 (Fast)
Directions: 8 total (orthogonal + diagonal)
Module Rule: Modules stay when units move
Zone Change: Moving can change your Zone/Sector
Links
Max per card: 4 (one per face)
Connection: Face-adjacent only (no diagonals)
Range: Adjacent tiles only
Break condition: Cards move out of range
Can link: Units ↔ Modules, Units ↔ Resources, Modules ↔ Resources
Cross-Zone: Links CAN span zone boundaries
Deployment
First Turn: 2 cards only
Ongoing: Normal placement rules
Starting Zone: Your half of the board (your 3 rows)
Movement Freedom: Can move anywhere on 8×3 grid
Off-Board Areas
VOID: Permanent exile (cannot return)
SCRAPYARD: Discard pile (may be retrieved)
DECK: Draw pile
DICE & COUNTERS: Token storage
Version History
v3.0 - October 27, 2025
Added Zones (Z1, Z2) for strategic territory division
Added Sectors (S1-S4) for granular tactical planning
Added Off-Board Areas (VOID, SCRAPYARD, DECK, DICE & COUNTERS)
Updated targeting system to include Zone and Sector targeting
Added zone dominance and sector control mechanics
Updated digital implementation with zone/sector calculation functions
Added playmat quality-of-life features (drink holder, professional layout)
Updated all examples to incorporate zone/sector awareness
Added zone control strategy section
Expanded tactical positioning with zone-based effects
v2.0 - October 18, 2025 (SUPERSEDED)
Complete alignment with Gameplay Basics v2.4
Removed "StarCore" references (game name TBD)
Clarified shared battlefield model (not split board)
Removed Ports system (Links only)
Added movement values (0/1/2)
Clarified 8-directional movement (but face-only linking)
Added Module anchoring mechanics
Added first turn 2-card limit
Updated all examples for consistency
Removed Regions/Zones (re-added in v3.0)
Added detailed link breaking examples
Updated digital implementation code
v1.4 - October 13, 2025 (SUPERSEDED)
Previous version with Ports system
Used "StarCore" game name
Had Regions/Zones system (different from v3.0)
Document Status: ✅ Updated with professional playmat design (v3.0) Next Review: After playtesting zone/sector mechanics Compatibility: Fully backward compatible - zones/sectors are optional advanced features
"Position isn't just important. Position is everything." "Control the zones. Dominate the sectors. Win the battle."
Last updated
