Thorium Gap Manual
A short reference for weapons, pickups, difficulty, combo, and respawn rules.
Goal
Survive each stage, score as much as possible, and defeat the boss at the end of every level.
Story
Oh, you want a story too? Not enough to just blast away? Allright, allright...
The year is 7062, two millenia after the discovery of how to turn ordinary matter into antimatter. This has solved humanity's energy problem and allowed easy interstellar travel, but the process requires a rare catalyst that can only be harvested from black hole mergers. It was your job to find and collect Catalyst from one of these rare and dangerous events. You were successful! The two kilograms of Catalyst you collected is enough to sustain humanity for 400 years.
But agents of the Thorium Consortium stole it and escaped into The Gap. This unstable region of space is dominated by twelve clans, and the Thorium Consortium has enlisted their assistance to stop you from reclaiming what they stole. Fight your way through The Gap, defeat the mothership of the Thorium Consortium, reclaim the Catalyst and... you know... save humanity and stuff.
Core Flow
- Destroy enemies to score points and make pickups drop.
- Collect weapon wrenches to upgrade or switch weapons.
- Collect shields, bombs, rapid-fire, magnet, and score pickups as they appear.
- Each level ends with a boss battle.
Controls
- Drag or hold the pointer on the playfield to fly. Holding the pointer also fires.
- With mouse controls, holding the right mouse button lets the ship follow the pointer without firing.
WASDor arrow keys move the ship.Z,CTRL, orENTERfires the current weapon while playing.B,X, orSPACElaunches a bomb while playing.- Double-clicking or double-tapping the playfield also launches a bomb while playing.
PorESCpauses.Mmutes sound.Rrestarts.Oopens settings.
Gamepad
- Gamepad support is included.
- Either stick can move the ship.
Aor the right trigger fires.Bor the left trigger launches a bomb.StartorSelectopens settings.- Rumble is supported when the browser and controller expose vibration features.
Settings
Effects Volumechanges sound effect loudness.Score Volumechanges music loudness.Combat Difficultyselects Easy, Normal, or Hard.Graphical effectsselects Low, Medium, or High visual quality.Ship always follows mousemakes the ship track mouse movement without holding right button.- When
Ship always follows mouseis enabled, pressing the right mouse button triggers a bomb during play. - When
Ship always follows mouseis enabled, gamepad input and gamepad rumble support are disabled.
Shield And Health
- Shields are shown as a faint bubble around the ship.
- Each shield point blocks one hit and is then consumed.
- If you have no shields, hits damage the ship directly.
- Ship damage is repaired slowly over time if you avoid taking new hits.
- Ship body damage is shown visually as sparks on the hull.
Weapons
- The game has five weapons. Each weapon has five tiers:
I,II,III,IIII, andV. - Wrench drop chance scales with your currently equipped weapon tier: lower current tier means more weapon-upgrade drops.
- Picking up a wrench for your current weapon upgrades that weapon by one tier, up to
V. - Picking up a wrench for a different weapon switches to that weapon and uses its last earned tier - it doesn't get upgraded to the next.
- If your current weapon is already at
Vand you pick up the same weapon again, the overflow upgrade randomly tries another weapon to upgrade. - This overflow upgrade cannot increase a weapon above Tier
III- instead the overflow becomes score instead. - Your current weapon always loses a tier when a ship is lost. The replacement ship then switches to your strongest remaining weapon type.
- Your current weapon loses one tier when a boss is killed, but it will not reduce it below Tier
III. - Weapon overheats after fireing for a few seconds. This is indicated by a bar in the hud and penalized with a very small reduction in fire rate.
Fire rate tables below show the base rate from weaponDelay(), before Rapid Fire, Overdrive, and heat penalties.
Dart
Color: cyan. Style: fast forward shots.
| Tier | Projectiles | Damage per projectile | Total damage | Fire rate | DPS |
|---|---|---|---|---|---|
| I | 1 | 1 | 1 | 6.25/s | 6.25 |
| II | 2 | 1.5 | 3 | 6.76/s | 20.27 |
| III | 4 | 2 | 8 | 7.35/s | 58.82 |
| IIII | 6 | 2.5 | 15 | 8.06/s | 120.97 |
| V | 7 | 3 | 21 | 8.93/s | 187.50 |
Twin
Color: green. Style: paired forward fire.
| Tier | Projectiles | Damage per projectile | Total damage | Fire rate | DPS |
|---|---|---|---|---|---|
| I | 2 | 1 | 2 | 5.88/s | 11.76 |
| II | 3 | 1.5 | 4.5 | 6.33/s | 28.48 |
| III | 5 | 2 | 10 | 6.85/s | 68.49 |
| IIII | 7 | 2.5 | 17.5 | 7.46/s | 130.60 |
| V | 8 | 3 | 24 | 8.20/s | 196.72 |
Fan
Color: yellow. Style: spreads shots wide but is difficult to concentrate.
| Tier | Projectiles | Damage per projectile | Total damage | Fire rate | DPS |
|---|---|---|---|---|---|
| I | 3 | 1 | 3 | 5.88/s | 17.65 |
| II | 4 | 1.5 | 6 | 6.33/s | 37.97 |
| III | 5 | 2 | 10 | 6.85/s | 68.49 |
| IIII | 7 | 2.5 | 17.5 | 7.46/s | 130.60 |
| V | 8 | 3 | 24 | 8.20/s | 196.72 |
Rocket
Color: blue. Style: homing rockets.
| Tier | Projectiles | Damage per projectile | Total damage | Fire rate | DPS |
|---|---|---|---|---|---|
| I | 2 | 0.5 | 1.0 | 4.00/s | 4.00 |
| II | 3 | 0.75 | 2.25 | 4.20/s | 9.45 |
| III | 4 | 1.0 | 4.0 | 4.42/s | 17.70 |
| IIII | 5 | 1.25 | 6.25 | 4.67/s | 29.21 |
| V | 6 | 1.5 | 9.0 | 4.95/s | 44.55 |
Beam
Color: red. Style: long narrow shots that pierce through enemies, with each tier adding one more beam.
| Tier | Projectiles | Damage per projectile | Total damage | Fire rate | DPS |
|---|---|---|---|---|---|
| I | 2 | 1 | 2 | 4.35/s | 8.70 |
| II | 3 | 1.5 | 4.5 | 4.59/s | 20.64 |
| III | 4 | 2 | 8 | 4.85/s | 38.83 |
| IIII | 5 | 2.5 | 12.5 | 5.15/s | 64.43 |
| V | 6 | 3 | 18 | 5.49/s | 98.90 |
Weapon Upgrades
Difficulty
- Easy: 5 lives, reduced enemy health, reduced enemy speed, smaller enemy waves, slower enemy bullets, reduced boss health, reduced contact damage, and full player damage.
- Normal: 3 lives, standard enemy and boss stats, medium enemy wave size, and player damage multiplied by
0.5. - Hard: 2 lives, tougher enemies, faster enemies, larger enemy waves, faster enemy bullets, tougher bosses, higher contact pressure, and player damage multiplied by
0.25.
Combo And Overdrive
- While Overdrive is inactive, the combo counter increases every time you destroy an enemy.
- The combo timer lasts about
1.2seconds, so you must keep destroying enemies quickly to keep the chain alive. - If you stop killing enemies for too long, the combo resets to
0. - At combo
3and above, the game briefly shows aCombo +Nhint after each kill. - At combo
10, Overdrive triggers and the combo counter is cleared. - Overdrive lasts about
7seconds. During Overdrive, enemy kills do not build combo. - Overdrive doubles score gain, makes the current weapon act one tier higher for damage, increases movement speed, and lowers shot delay.
Other Pickups
Rapid Fire: lasts about8seconds and temporarily lowers shot delay.Shield: adds a shield point, up to three. Each shield point protects from a single hit and is then consumed. Extra shield pickups become score.Bomb: adds a bomb, up to four. Extra bomb pickups become score.Star: grants about4seconds of invulnerability, restores shields to3, fully repairs the ship, and clears weapon heat. It is intentionally rare.Magnet: lasts about12seconds and pulls nearby pickups toward the player.Score: grants bonus points. The bonus can be increased by combo and Overdrive score multipliers.
License and Credits
This game is provided free-of-charge for anyone to play and enjoy. There are no ads, pay-to-win or subscriptions anywhere.
The game code and graphical assets are released under the BSD 3-Clause License. See the BSD-3 license text for the full terms. You are welcome to copy, modify, and redistribute the code and graphical assets, provided the license terms and attribution are preserved.
The soundtrack is licensed separately and is included by permission only.
Game design and programming by CJF (frovik.se). Soundtrack design by TBD. (Copyright 2026)