Fleet

A 3D-Printable Strategy Game for 2 Players

Two rival capital ships have locked onto each other in deep space. To win, you must deploy a modular fleet, build dynamic 3D defenses, and be the first to breach and board the enemy's Command Core.

1. Components

Each player commands a fleet of exactly 24 physical Hex Tiles. You are strictly limited to the tiles in your inventory.

Dual-Sided Tiles: The tiles are dual-sided. The top face shows a specific unit class, while the underside features a universal Shield symbol. Players keep their unplayed tiles in front of them to form their available reserve.

Only two things in this game are not ships: the Shipyard and the Shield. Everything else — Command Core, Frigate, Destroyer, Repulsor — is a ship, and the Core counts as one for nearly every purpose in these rules.

This one line does a lot of work. It is why a Destroyer can only ever hit a Shipyard or a Shield: a Destroyer cannot destroy a ship. It is also why your Core can anchor a Shield spawn, which is what makes the standard opening possible. And note that a ship laid face-down is a Shield while it lies there — so it can be destroyed, and returns to your reserve as whatever class is printed on it.

2. The Golden Rules

The Win Condition

You win the game if you start your turn with one of your ships sitting directly on top of the enemy's Command Core.

Strategic Note: Regardless of who currently controls the top of the stack, any enemy ship sitting directly on the Core triggers this win condition. If an enemy lands on your Core, jumping on top of them does not save you! You must push them off or destroy the foundation.

Stack Ownership & Suppression

Physical elevation matters. If tiles are stacked, the player whose color is on the top of the stack controls the stack. You can never move or affect an entire stack. Only the active top tile can be moved, take actions, or be targeted by enemy actions. All tiles beneath the top tile are completely locked and suppressed; their abilities cannot be used, and they cannot be targeted by actions until they are uncovered.

Connection is an inert ability. Suppression silences a tile; it does not unplug it. A buried tile still conducts, and remains part of the Command Network for every purpose of tracing a path home. It simply cannot act or be acted upon while something sits on it.

(This applies to the Command Core as well: a suppressed Core cannot take actions, but it always continues to passively function as the structural network hub for its fleet).

Adjacency (The Z-Axis Rule)

For any action requiring a tile to be "adjacent" to a target (such as pushing, destroying, or spawning), the target must be physically touching the active piece AND must be no more than 1 elevation level higher or lower.

The Command Network & The Severed Limb

Every unit you control (including mobile ships, Shipyards, and Shields) must be able to trace a physical power/communication path of adjacent tiles (friendly or enemy) back to your Command Core. Your fleet relies on contiguous, edge-to-edge hex formations.

Movement Can Never Open a Gap. Everything on the table — your tiles and your opponent's together — forms one unbroken mass, and no move may ever break it, not even for a single step of a multi-space move. If a step would strand any tile from its own Core, or would part the two fleets from one another, that step is simply illegal and cannot be made. Check every space along the way, not just the destination.

A gap is a severance, and severance is a combat result. Only destroying a tile can open one. You cannot walk away from your opponent, however much you would like to.

However, if a combat action results in a cluster of units being disconnected from their Command Core, those units "lose power." Either attacker can cause this: a Destroyer breaking a load-bearing structure, or a Repulsor shoving or crushing a load-bearing ship out of position. All of your units trapped in the enemy's disconnected group are immediately returned to your reserve, and all enemy units trapped in your disconnected group are returned to theirs.

The rule is absolute, and it cascades. No connection to your Command Core means destroyed, full stop. Resolve it by asking, once the dust settles, which of your tiles can still trace a path home — every tile that cannot is returned to the reserve, including tiles that only lost their connection because an earlier link in the chain was removed a moment ago. Keep asking until nothing else falls off.

If a tile is ever pulled out from under a stack, everything above it drops down to close the gap. This is deep space and there is no fall damage, so the tiles land unharmed at their new, lower elevation.

(In practice a Repulsor severs a fleet less often than it looks like it should. Because the Repulsor immediately advances into the space its target vacated, it usually plugs the very hole it just made. Cutting a fleet with a Repulsor takes deliberate setup.)

The Sacrificial Breacher: A Destroyer may use its action to destroy a target that splits the Fleet, even if doing so severs its own connection to the Core. The Destroyer's action fully resolves, and then the severed Destroyer is instantly destroyed and returned to the reserve.
Destruction Is Not Elimination: Every tile returned to the reserve can be spawned again later — you never permanently lose material, only position and tempo. This inverts the usual instinct about losses. A ship pinned under an enemy tile is in many ways worse off than a destroyed one: it is suppressed, unable to act, and still occupying a space, while a destroyed ship is back in your hand ready to redeploy. Severing your own limb on purpose is therefore a real tactic. A Destroyer may target friendly structures, so you can point one at your own Shield to cut a stranded or locked-up cluster loose and recover those tiles into your reserve.
Cutting Yourself Loose As An Attack: Remember that the enemy's units have to trace a path home too — and enemy ships that have pushed deep into your position are often routed home through your own tiles. Cut the tile they are leaning on and they lose power along with anything of yours on the far side.

The trade is decided by whose fleet is tighter. If your Core is under siege and your own network is compact behind you, one Destroyer action aimed at your own Shield can strand three or four enemy ships while costing you a single tile — clearing the pressure off your Core and sending their fleet back to their reserve in one stroke. The looser and further-extended their formation, the more brutal this is.

The bill comes due immediately: you have just opened a gap, so the fleeing-battle clock starts. You have bought safety with a countdown, and you must re-establish contact before it runs out.

Disabled

If you begin your turn with no legal action available to you at all, your fleet is disabled and you lose. If instead you take your first action and then find nothing legal remaining for your second, your turn simply ends — you acted, so you are not disabled.

There is one way to meet this early, and it is worth knowing before it happens to you. Your Command Core is a ship, but a suppressed ship can do nothing at all — including spawn a Shipyard. So if an enemy ship boards a Core that is still your only unit on the table, you have no legal action left and the game ends there and then, rather than a turn later. The outcome is the same either way, since a fleet with nothing legal to play could not have pushed the boarder off; but it ends abruptly, and it is the reason to spawn a Shipyard on your first turn. One Shipyard, or any second unit on the table, is enough to keep you playing. Beyond that opening trap the rule is hard to trigger deliberately — it takes a Core walled in behind stacks it cannot climb, with every other unit face-down as an immovable Shield. The rule exists so the situation has an answer, and so that stalling can never be a strategy: if you have a legal action, you must use it.

The Draw Condition (Fleeing Battle)

Combat will sometimes split the two fleets apart — a Destroyer takes out the tile that was holding them together, and suddenly there is open table between the masses. When that happens, the clock is there to make you close it again. A battle where the two sides have drifted out of contact is not a battle, and the game will not wait politely while you rebuild.

If Player 1's network and Player 2's network become completely physically separated — no chain of tiles of any colour connects the two masses — a countdown begins at the start of the very next turn. Each player then takes two full turns. If the networks have still not touched by the end of that fourth turn, the game immediately ends in a Draw. Reconnecting is cheap and the clock is short: extend a chain outward, and play carries on.

Contact clears the clock. If the two networks touch again at any point during the countdown, it is cancelled outright. Should the fleets separate again later, a fresh four-turn countdown begins from scratch.

You cannot flee on foot. Because movement may never open a gap, no amount of walking will break contact — a retreating fleet only drags the enemy along behind it. Breaking away is a combat act: you point a Destroyer at your own tile, the one holding the two fleets together, and cut yourself loose, paying a tile for the gap.

Which means a losing player can, if they are determined, use the clock as an escape hatch: sever yourself free and stay away for four turns. A drawn battle costs you the win, but it denies your opponent theirs. It is rarely worth attempting — you spend a tile to open the gap, while your pursuer need only extend a chain outward to close it and spends nothing. Closing is far cheaper than running, so this is realistically only available against an opponent whose own fleet has already scattered.

3. Setup

  1. The Reserve: Players place their remaining unplayed tiles in front of them to form their available reserve.
  2. Lock the Cores: Player 1 places their Command Core in the center of the table. Player 2 snaps their Command Core directly against it so they are touching.
  3. Deploy: Player 1 takes the first turn.
Opening Play — Get Off the Wall: The two Cores begin locked together, which is the worst position either of them will ever occupy. A Shipyard must be spawned adjacent to your Core, on Level 0, touching only friendly tiles — and with the enemy Core nose to nose, it poisons three of your six neighbouring spaces, leaving you just three places to build. The standard opening is therefore to spend your first turn or two buying distance: drop a Shield, then walk your Core away from theirs. Each step away frees another building space, and only the Command Core can spawn a Shipyard, so where your Core stands decides where your entire fleet can be built.

Mind where you put that Shield. Since movement can never open a gap, you can only step away if something is left behind holding the two fleets together. Place the Shield on one of the two spaces that touch both Cores and it becomes that link, freeing your Core to walk. Drop it on the far side instead — directly away from the enemy — and you will find your Core has nowhere legal to go at all.

4. Turn Structure & Actions

On your turn, you have 2 Actions. You may perform any combination of the following, including taking the same action twice or activating the same ship twice:

5. The Fleet Roster

Unit Move Action / Special Rule
Command Core
1 Mobile. Unpushable. Cannot climb. Action: Spawn Shipyard. Your headquarters walks: the Core moves 1 space laterally like any other ship, and in the opening it usually should. It can never gain elevation — it may only step onto empty ground. Since nothing can ever be placed beneath a tile and the Core cannot be pushed, this keeps your Core on the table for the entire game; it is never part of a stack and can never sit on top of anything. It is the only unit that can spawn a Shipyard, so its position dictates where your fleet can be built. Can never be played face-down as a Shield. Cannot have friendly ships stacked on it. The win condition: opponent must start a turn with a ship directly on top of it.
Shipyard
0 Structure (Immovable). Unpushable. Must be spawned on Level 0 adjacent to the Command Core, touching only friendly tiles. (Max 3 per player). Disabling: A Shipyard is locked and disabled if a ship is parked on top of it, OR if it is completely surrounded on all sides so no empty spaces remain to spawn new ships.
The Shield
(Face-Down)
0 Structure (Immovable). Unpushable. A Dedicated Shield tile, or any standard ship played face-down. Cannot be pushed. Crushes enemy ships pushed horizontally into it. Shields can be spawned on top of friendly Shields.
Frigate
2 The Flanker. Speed is its entire ability. 2 Move makes the Frigate the only unit in the fleet that can cross two spaces in a single action, letting it reposition, race for a Core, or climb two levels while everything else manages one. It carries no special movement rule of its own — it climbs and drops exactly like every other ship, just twice as much per action.
Destroyer
1 The Breacher. Action: Destroy an adjacent tile that is not a ship — which is to say a Shield or a Shipyard, friend or foe. The destroyed tile is returned directly to its owner's reserve. You cannot destroy a target if it has another tile stacked on top of it.
Repulsor
1 The Displacer. Action: Push an adjacent enemy ship exactly 1 space. (Repulsors cannot target Unpushable units: Shields, Shipyards, or Cores). A push only targets the active top tile of a stack.

6. Combat & Displacement

Combat relies on physical forced movement and the Z-axis. When a Repulsor uses its action to shove an enemy ship, the Repulsor immediately moves into the target's exact vacated XYZ space. The fate of the pushed enemy depends on what is behind them:

Direction: A push is always directly away from the Repulsor—along the straight line running from the Repulsor, through the target, into the space beyond. You never choose the direction; the geometry of where you attack from decides it.

The Gravity Drop (Empty Space)

If pushed off a stack into an empty vertical space, the pushed ship falls straight down as many levels as needed until it lands safely on the ground (Level 0) or on top of a lower tile. Because the Repulsor takes the vacated space before the fall, the Repulsor maintains the high ground.

There is no fall damage. This is deep space, not a gravity well. A ship dropped one level and a ship dropped five levels both land intact and fully functional, and may act normally on their owner's next turn. Height is a positional advantage, never a weapon by itself.

The Crush (The "Coin Dozer" Rule)

You cannot force an enemy ship to move upwards. A Crush happens whenever a pushed ship hits a physical backboard.

If the pushed ship is shoved horizontally backwards into an occupied space at its exact same elevation, OR into a stack that is higher than its current elevation, it cannot be pushed up. It slams into the side of the blocking tile and is crushed. The crushed ship is destroyed and returned directly to its owner's reserve.

The Repulsor still advances. A Crush does not cancel the shove. The Repulsor moves into the space its target occupied exactly as it would on any other push—destroying the target and taking its ground are one motion, not two. This is what makes a Crush the strongest play in the game: you remove an enemy ship and gain its position for a single action.

Reading the space behind: "Occupied at the same elevation" means a tile sitting in the exact space the target would move into—not merely something underneath it. A tile one level lower behind the target is not a backboard; it is a floor. The target simply steps across onto it and survives. See 7.6.
The Command Core Auto-Eject: A Command Core fundamentally rejects friendly ships. If a friendly ship ever ends up on its own Command Core—either by being forced backward by an enemy push, OR by a Repulsor moving into the vacated space after pushing an enemy off the Core—the Core immediately performs a "free push." The owner moves the friendly ship to any free adjacent space at or below the ship's current level, since a push can never force a ship upward. (Note: If a Repulsor lands on the Core after an attack, the space it just attacked from will always be a valid free space it can bounce back to). If there are absolutely no free spaces available for ejecting the ship, it is crushed against the Core and destroyed.

7. Visual Examples

The rules above are precise but abstract. These worked examples show the four situations that decide most games. Diagrams marked plan view look down at the table; diagrams marked elevation look at the table edge-on, so you can read the Z-axis directly.

Your fleet
Opponent
Inert foundation (buried tile)
Empty space

7.1 Adjacency: The Six Neighbours (plan view)

A hex grid has no diagonals. Every tile touches exactly six others, edge to edge. If two tiles do not share a full edge, no action can pass between them.

This Repulsor can push a ship standing in any of the six spaces. The two spaces sit one ring further out: they are visually close and may even look like they are "next to" the Repulsor across a corner, but they share no edge with it, so they are unreachable. The same six-space test governs spawning, destroying, and pushing.

7.2 Adjacency: The Z-Axis (elevation)

Touching is not enough. The target must also be no more than one level higher or lower than the active piece. In all four panels below, the green Destroyer stands at Level 1; only the purple target's elevation changes.

1 LEVEL BELOW ADJACENT SAME LEVEL ADJACENT 1 LEVEL ABOVE ADJACENT 2 LEVELS ABOVE OUT OF REACH

The Destroyer's column physically touches the target column in all four cases, but in the fourth the purple Shield sits two levels up, so it cannot be destroyed, pushed, or spawned next to. Note that this cuts both ways: the tile at Level 3 also cannot reach down to the Destroyer. Build two levels of separation and you have a wall neither side can act across.

7.3 The Severed Limb (plan view)

Every unit must trace a path of adjacent tiles back to its own Command Core. When a combat action breaks that path, everything cut off loses power immediately.

BEFORE AFTER DESTROYER BREAKS THIS LINK → RESERVE LINK DESTROYED

The green Shield is load-bearing: it is the only tile joining the Frigate and Repulsor to the Command Core. The purple Destroyer is adjacent to it, so it spends an action and returns that Shield to green's reserve. The Frigate and Repulsor are now touching nothing but each other — they lose power and go back to the reserve too, three tiles removed for one action. Had any enemy units been stranded inside that same cluster, they would have returned to their owner's reserve at the same moment. Note this only applies to combat actions: ordinary movement may never break the chain, not even for a single step.

7.4 The Push & The Gravity Drop (elevation)

A Repulsor shoves an adjacent enemy ship exactly one space and then occupies the space its target just left. If nothing is behind the target, it falls.

BEFORE AFTER PUSH falls to Level 0

The purple Frigate is pushed off its perch into open air and drops as far as it needs to — here one level, but it would fall five just the same, landing unharmed. The important detail is the order of events: the Repulsor takes the vacated Level 1 space before the Frigate falls, so the attacker ends the action holding the high ground while the defender is on the floor. Note also that the grey foundation tile under the Frigate stays exactly where it was; only the active top tile of a stack ever moves.

7.5 The Crush (elevation)

You can never force a ship upwards. If the space behind the target is blocked at the same elevation or higher, the target has nowhere to go and is destroyed.

BEFORE AFTER PUSH backboard at the same elevation CRUSHED → RESERVE

The Frigate slams into the side of the Shield and is destroyed, returning to its owner's reserve. The Repulsor still advances into the space the Frigate vacated. Compare this with 7.4: the identical push is harmless when the space behind is open and lethal when it is walled. A Shield is therefore worth as much as an anvil as it is as a barricade — a wall one level higher than your enemy's ships crushes anything shoved into it, and since Shields are Unpushable, they cannot be shifted out of the way first.

7.6 What Is Behind the Target? (elevation)

A push always involves three columns: the Repulsor that swings, the ship being struck, and whatever is waiting behind it. Hold the first two identical, change only the third, and the same attack produces three completely different results.

NOTHING BEHIND — A CLIFF FALLS TO LEVEL 0 — UNHARMED A TILE ONE LEVEL LOWER STEPS ACROSS — SAFE A TILE AT THE SAME LEVEL CRUSHED AGAINST THE ANVIL

A Crush is a hammer-and-anvil kill and it needs both halves present: the Repulsor supplies the hammer, and something must supply the anvil. In the first panel there is no anvil at all—the Frigate is shoved off a cliff edge and drops harmlessly to the table. In the second the tile behind is one level down, which makes it a floor rather than a wall: the Frigate steps across onto it, ends the push at the elevation it started, and survives. Only in the third panel does a tile actually fill the space at the target's own level, trapping it between the blow and the backboard. Look at the third column before you commit the action—it, not the target, decides what your push does.

7.7 Movement: Climbing and Dropping (elevation)

Movement is asymmetric on purpose. Going up is rationed one level at a time; going down is free at any depth. Both examples below use a Frigate, which has 2 Move.

CLIMBING UP DROPPING DOWN 1 2 2 spaces spent to gain 2 levels 1 1 space spent to lose 3 levels

Climbing costs one lateral space per level, so this Frigate spends its entire 2 Move to reach Level 2 and arrives with nothing left. Dropping ignores depth entirely: the same Frigate can leave Level 3, land on the table, and still have a second space of movement in hand. A Repulsor or Destroyer, with 1 Move, can make that same descent but can only ever climb a single level per turn. Towers are therefore cheap to leave and expensive to take — and remember that the whole time, every step must keep the moving ship connected to your Command Core.