Draft · owner: David Lewis · TypeScript + Phaser 4

A classic base-builder, compressed to twenty minutes

Two corporate mining factions fight over a crystal-rich alien world. Harvest, build, tech up through structures, destroy the enemy. Single-player against a scripted AI.

20Minute matches
6Units
6Structures
1Resource

Design pillars

what to optimise for

When two options are otherwise even, these break the tie.

Legible

You can always tell what is happening and why you lost. No hidden math.

Complete, not deep

Every classic RTS system is present and each one is shallow. Breadth over depth.

No dead time

Something worth doing at every moment. An idle harvester is a design bug, not a player error.

Comeback possible

Losing your HQ is bad, not fatal. A twenty minute match should not end at minute nine.

Winning and losing

no draws

You win

Every enemy structure is destroyed. Not an HQ kill — a lucky early rush should not decide a twenty minute game.

You lose

Every structure you own is destroyed, or you surrender. Surrender is available at any time and concedes immediately.

Economy

one resource, one soft constraint

Crystal is the only harvested resource. Ore outcrops are scenery — a second resource would double the harvester logic and the player's decision load for very little in return.

FILLS UP UNLOADS RETURNS EMPTY · NEAREST DROP-OFF Crystal nodefinite, depletes Harvesterunarmed Refinery or CCadds to the pool
Power is a soft constraint. Solar Arrays generate it and structures consume it. Run a deficit and production and build speed slow in proportion — they never shut off. A player who is behind should feel the drag, not be locked out of the recovery that would fix it.

Units

6 of 12 available designs

Infantry come from the Barracks, vehicles from the Factory. Art for all six is already in the pack — see the sprite manifest for what else is sitting in reserve.

NameBuilt atRole
RiflemanRiflemanBarracksCheap line infantry. Strong against infantry, weak against armour.
Rocket TrooperRocket TrooperBarracksAnti-vehicle. Slow, fragile, hits hard.
Scout BuggyScout BuggyFactoryFast, wide vision, negligible damage. Exists to fight the fog.
HarvesterHarvesterCommand CentreUnarmed. The engine of everything else.
TankTankFactoryMain battle unit and the backbone of any real push.
ArtilleryArtilleryFactoryOutranges turrets. Helpless at close quarters.

The counter cycle

BEATS BEATS BEATS Riflemaninfantry Tankarmour Rocket Trooperanti-vehicle
Not yet balanced. This fixes the shape of the relationships, not the numbers. Costs, health, damage and build times are an open item.

Structures

buildings are the tech tree

There is no separate research system. What you can build is decided entirely by what you have already built, which keeps the whole tech path readable from the build panel on the first screen.

NameRequiresRole
Command CentreCommand CentreBuilds harvesters, accepts crystal, and is where the match starts.
Solar ArraySolar ArrayGenerates power.
RefineryRefineryForward crystal drop-off. Unlocks the Factory.
BarracksBarracksInfantry production. Unlocks the Turret.
Vehicle FactoryVehicle FactoryRefineryVehicle production.
Gun TurretGun TurretBarracksStatic defence.

Dependency graph

Command Centrestarts the matchSolar ArraypowerRefinerycrystal drop-offBarracksinfantry Vehicle Factoryrequires RefineryGun Turretrequires Barracks

What the art dictates

2 design consequences

The sprite pack is fixed, and two of its properties reach past rendering into the design itself. Full inventory and the verification behind these is in the sprite manifest.

Facing carries no information

Units are drawn side-on, not top-down, so they cannot rotate — they only flip left or right. A player therefore cannot tell what a unit is aimed at by looking at it. Selection rings, target lines and muzzle flashes have to carry that load, and combat readability depends on them.

Both bases are the same grey

Structures ship in one colourway, tinted per team at render time. Tinting is weaker than the units' baked-in team colour, so structure ownership must never be the only cue — the minimap and selection state have to reinforce it.

Fog of war

three states

Vision comes from units and structures. The Scout Buggy exists specifically to make fog a system you play with rather than around.

UnexploredBlack. You know nothing about this ground.
ExploredTerrain and last-seen structures, dimmed. Units are not shown — what you remember may be long out of date.
VisibleFully lit and live.

Controls

mouse-led
InputAction
Left-clickSelect a unit or structure.
Left-dragBox-select multiple units.
Right-clickContextual: move to ground, attack an enemy, harvest a node, enter a drop-off.
Edge scroll / WASDPan the camera.
Build panelClick a structure, then click to place it. Invalid placement shows red.
EscCancel the current order or placement.

Starting a fresh game

the first two minutes

No menu labyrinth. One screen — map, faction colour, AI difficulty, Start — and then the camera opens on a base that is already built and waiting.

Command Centre Harvester · idle 2 × Rifleman Crystal field · 5s away Fog

The first decision is immediate and obvious. The Harvester is idle and there is crystal on screen. Right-click the field, it starts its loop, income begins. The game has taught you its core verb without a single tutorial pop-up.

Within thirty seconds you are queuing a second Harvester and placing a Solar Array. The crystal counter climbs. Everything you cannot yet afford sits greyed in the build panel — so the shape of the whole tech path is legible from the first screen, without anyone explaining it.

Within ninety seconds you want to know where the enemy is. Your two Riflemen are the only scouts you have, and sending them leaves your base undefended. That tension — economy against information against safety — is the entire game, and it should bite before minute two.

The map is small enough to feel knowable. The enemy is perhaps thirty seconds' drive away, and you do not know in which direction. That single unknown is what makes the opening a decision rather than a routine.

How a match unfolds

~20 minutes
0–4 min
Opening
Harvesters, Solar, Refinery. Pure economy. First scout goes out.
4–10 min
Contact
Barracks, first skirmishes, turrets on the likely approach. The map starts opening up.
10–16 min
Escalation
Factory online. Tanks. A second crystal field. Real pushes.
16–20+ min
Resolution
Artillery cracks defences. Structures fall. One side runs out.

The AI opponent

scripted, not clever

Difficulty is a set of numbers, not a smarter brain. This is deliberate: a predictable opponent is one the player can learn to beat, which is the point.

BehaviourDetail
Build orderA fixed sequence per difficulty, mirroring a competent human opening.
Attack wavesTimed. Gathers a set number of units, then attacks the nearest known player structure.
DefenceRebuilds destroyed structures and garrisons turrets.
Difficulty knobsWave timing, army size, build speed, and whether it cheats on vision.
HonestyEasy and Normal see through fog no more than the player does. Hard may — and the UI says so.

Not in v1

deliberately
Networked multiplayerCampaign or storyA second faction rosterAir unitsUnit veterancyTerrain heightDestructible terrainSound beyond basic SFXSaving a match in progressMap editor

Still open

5 items
01

Map size in tiles, and how many crystal fields.Drives match length more than any other single number.

02

Unit cap — a hard limit, or bounded by economy alone?Affects whether late game is a brawl or a grind.

03

Player faction colour.Settled: chosen at setup, from three of the four colourways. The fourth is not team-coloured, so it stays scenery.

04

Unit and structure numbers.A first pass now exists in src/sim/data/ — enough to make the counter cycle true. No balance pass yet.

05

The game has no name.This page is filed under a working title.