This game needs a keyboard — it may not work well on a touch-only device.

Controls

WASD or arrows to move. Hold Space or left-click to fire. Shift for shield. E for Nova. P/Esc to pause. M to mute. 1/2/3 to pick an upgrade.

Orbital Invaders: six waves with a changing loadout

Orbital Invaders is a Space Invaders remake built solo with AI assistance from ChatGPT. The browser game keeps an enemy formation above a player-controlled ship, but adds hull health, destructible cover and choices between waves. HTML, CSS and Three.js provide the interface and 3D scene, with Kenney Space Kit models representing the ships.

A campaign with two boss encounters

Campaign has six waves, including a boss on the third and sixth. Regular formations accelerate as enemies are removed, and diving ships start appearing from wave two. After a cleared wave that is not the campaign finale, choose one of three offered upgrades. Options can improve firing rate, add angled shots, increase damage, repair hull or improve the shield system. Endless continues beyond the campaign's endpoint.

The three selectable ships have different starting statistics. Vanguard is the balanced option, Wraith trades hull for speed and a shorter firing interval, and Atlas has more hull and stronger individual shots at a slower pace. Three barricades intercept enemy bullets, while player shots pass over them. Surviving cover blocks recover some durability between waves.

Defensive abilities and pickups

The phase shield gives 2.5 seconds of protection, with an initial twelve-second recharge. Nova clears enemy projectiles and damages the fleet, including bosses. Green repair pickups restore one hull segment, rapid-fire pickups last eight seconds, and energy pickups restore 30 percent of the Nova meter. These temporary pickups are separate from upgrades that last for the current run.

Move with WASD or arrows and hold Space to fire. Shift activates the shield, E uses Nova, and P or Esc pauses. Mouse dragging steers horizontally while holding the left button fires. On touchscreens, drag to steer and hold FIRE with another finger; separate buttons activate Shield and Nova.

Keeping shots and visuals aligned

One technical problem is detecting a fast projectile between frames. The simulation keeps each bullet's previous vertical position and checks the segment it travelled against targets and cover. Rendering stays in a separate scene module. Three.js 0.180.0 uses GLTFLoader for models and an EffectComposer pipeline with RenderPass, UnrealBloomPass and OutputPass. Best score, ship choice and audio preference save locally. The game is part of the free Solo Game Devs collection, with a standalone HTML download planned.