Neon Galax is a fast, vibrant, Galaga-style 2D shooter built with HTML5 Canvas and vanilla JavaScript. Pilot a neon star-fighter, blast swarming formations, dodge dive attacks, and chain power-ups for big scores.
- Neon aesthetic with glowing ships, particles, and starfield
- Classic formation movement plus randomized dive attacks
- Power-ups: Rapid (faster fire), Spread (triple shot), Shield (invulnerability)
- Scoring with floating +points popups; score/level/lives HUD
- Start/pause overlays plus Pause/Resume button
- Responsive, high-DPI canvas; runs in any modern browser
- Move: Arrow Left/Right or A/D; Arrow Up/Down or W/S (vertical)
- Shoot: Space
- Start: Enter, Space, arrow keys, or click Start/canvas
- Pause/Resume: P or Esc or Enter; or click the Pause/Resume button
- Open
index.htmlin a modern desktop or mobile browser. - Press Enter/Space or click the Start button (or anywhere on the canvas).
- Clear waves to advance levels; collect power-ups to survive dives.
No build tools or dependencies required.
index.html— Canvas, HUD/overlay markup, includes CSS/JSstyle.css— Vibrant neon theme and layoutgame.js— Game loop, input, entities, behaviors, and renderingIMPLEMENTATION_SUMMARY.md— Design/architecture notes and the original prompt
- A single high-DPI
<canvas>renders everything; UI sits in HTML. requestAnimationFramedrives updates (movement, AI, collisions) and rendering.- Enemies hold a base formation position and apply sinusoidal sway/bob; some break off into dive states with simple serpentine motion and occasional shots.
- Collisions use AABB checks; explosions are particle systems with decay; screen shake adds punch.
- Scoring updates the HUD instantly; floating text animates at kill/pickup positions.
- Difficulty: tweak
diveCooldownand enemy HP/values inspawnWave(). - Visuals: adjust neon colors and glow in
style.cssor line widths ingame.js. - Power-ups: extend in
spawnPower()anddrawPowerup(). - Movement bounds: adjust the vertical clamp (
minY/maxY) inupdate().
- Audio bleeps use Web Audio API and may require a user gesture (pressing Enter/Start) before playing sounds.
- If the HUD doesn’t appear above the canvas, ensure your browser isn’t caching old CSS (hard-refresh).
- Can’t start: Click the canvas once to focus, then press Enter or Space.
- No sound: Your browser may block audio until first interaction; press Enter or click.
- Input lag: Close other heavy tabs; this is a CPU-bound canvas game.
This project is provided as-is for educational and demonstration purposes.