Score{{ hudValue('score', 0) }}
Lives{{ hudValue('lives', 3) }}
Wave{{ hudValue('wave', 1) }}
Invaders{{ hudValue('invadersRemaining', 32) }}
Accuracy{{ hudValue('accuracy', 0) }}%
Threat{{ hudValue('threat', 'Low') }}
{{ playTextState }}

{{ feedbackText }}

Fixed-screen defense games turn limited space into a timing problem. A formation moves as one body, reverses at the side boundary, and descends closer to the defense line. Every missed opportunity leaves the same remaining targets in a more dangerous position.

Firing continuously is not always the safest response. Only a few shots can be in flight at once, and an inaccurate stream can occupy those slots while a better target passes overhead. Deliberate shots improve both the chance of clearing the formation and the usefulness of the accuracy result.

  • Position matters because the cannon needs room to dodge enemy fire and line up a clear column.
  • Target row matters because higher invaders carry more points.
  • Formation depth matters because a low formation can end the run even when lives remain.
  • Shot timing matters because the cannon has a short cooldown and at most three player shots can remain active.

Score, accuracy, wave, and threat describe different parts of the run. Score rewards valuable hits, accuracy describes shot conversion, wave shows survival through complete formations, and threat reports how close the current pressure is to becoming critical. None of those measures alone proves the best defensive play.

A seeded enemy-fire pattern makes deliberate practice possible. The same challenge, seed, and action trace reproduce the same outcome, while a new seed changes the firing choices. Human input timing still matters, so simply reusing the seed does not guarantee the same score.

The result is a personal entertainment record. Local bests are not an official leaderboard and have no prize or cash value.

How to Use This Tool:

Set the pressure level first, then protect firing lanes instead of judging the run by score alone.

  1. Choose Easy, Normal, or Hard. The challenge changes cannon speed, formation movement, enemy firing frequency, and enemy bullet speed.
  2. Enter a Run seed when you want repeatable enemy-fire choices, then start the run.
  3. Move with Left and Right or A and D, and fire with Space. Pointer position aims the cannon and a pointer press fires; touch controls provide the same move, stop, fire, and pause actions.
  4. Use Threat to protect the defense line while watching Invaders, Wave, and Accuracy. At the terminal summary, compare the selected challenge best before choosing a same-seed replay or a new pattern.

Interpreting Results:

Accuracy is the percentage of fired shots that destroyed an invader, rounded to a whole percent. It does not reward dodging, target value, or wave survival. A careful low-volume run can show high accuracy without reaching a high score.

Threat is an immediate pressure cue. Medium or High can come from enemy bullets, a low formation, or both. Once the formation reaches the defense line, the run ends even if the cannon still has lives.

Overall best can mix challenge levels. Use the selected challenge best for a closer comparison, then check wave reached, invaders cleared, accuracy, final threat, and lives left. Both best records belong to the current browser and can be removed with site data.

Technical Details:

Every wave begins with 32 invaders arranged in four rows of eight. The formation advances horizontally in fixed 40 millisecond ticks, drops 13 playfield units when it reaches a side boundary, and reverses direction. Later waves begin slightly lower and shorten the enemy-fire interval by two ticks per wave until the 10-tick minimum is reached.

Formula Core

Rows are numbered from zero at the top. Destroying an invader awards 40 points in the top row, then 30, 20, or 10 points in the rows below. Accuracy uses hit-producing shots divided by all shots fired and is rounded to the nearest whole percent.

Phit=(4−r)×10 A=round(NhitsNshots×100)

Here r is the zero-based invader row. When no shots have been fired, accuracy is 0% rather than an undefined value.

Rule Core

Space defense difficulty values
ChallengeCannon stepFormation stepEnemy-fire intervalEnemy bullet step
Easy80.5538 ticks6
Normal100.7528 ticks7
Hard121.0020 ticks8
Threat classification rules
ThreatRule while the run is active
HighAt least 3 enemy bullets are active, or the formation has less than 100 units of runway.
MediumAt least 1 enemy bullet is active, or the formation has less than 180 units of runway.
LowNo higher rule applies.

A player shot can be fired only after the five-tick cooldown and while fewer than three player shots are active. An enemy hit removes one of the three starting lives and clears all bullets. A wave advances only after every invader is destroyed; a line breach or the loss of the final life ends the run.

Enemy shooters are selected from the lowest remaining invader in each occupied column using the explicit seed. Replaying the same seed is exact only when setup and action timing also remain the same.