Skip to content

About

A modern, Windows-friendly desktop reimagining of the classic arcade game Breakout, built with HTML5 Canvas, TypeScript, and Electron.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

galactic_breakout_readme.md

Galactic Breakout (v3.0.0)

A modern, Windows-friendly desktop reimagining of the classic arcade game Breakout, built with HTML5 Canvas, TypeScript, and Electron.

Overview

This project elevates the traditional brick-breaking formula with an escalating 15-level campaign, intense multi-phase FSM boss encounters, a physics-driven combo system, and immersive arcade juice. Packaged as a native Windows desktop application via electron-builder, it features a locked 800x600 arcade-style resolution, custom iconography, a robust local file-based data persistence system, and dynamic audio-visual feedback.

Key Features in v3.0.0

  • Persistent High Scores & Boss Progression: Implemented a lightweight, zero-dependency Node.js file storage system (game_data.json) via Electron IPC. The app tracks top pilot high scores and records lifetime boss kill counts securely without requiring native C++ database bindings.
  • 15-Level Campaign & FSM Boss Fights: Progressive difficulty scaling, culminating in challenging Finite State Machine (FSM) boss encounters featuring 4 distinct attack patterns (Radial Bursts, Shield Minions, Orbital Strikes, and Gravity Orbs) across dual phases.
  • Dynamic Visuals & Arcade Juice: Features a continuous parallax starfield, neon ball motion trails, impact-driven Screen Shake, juiced-up Scaling Score Popups with dynamic combo color coding, and bright Wave-Clear Screen Flashes.
  • Physics & Combo System: Angle-based ball deflection, hit-stop mechanics on impact, and score multipliers for consecutive brick destructions.
  • Power-Up Arsenal:
    • 🟦 Wide: Expands paddle width.
    • 🟩 Multi: Spawns additional active balls.
    • 🟪 Slow: Temporarily reduces ball velocity.
    • 🟥 Laser: Equips the paddle with dual-firing lasers to melt through bricks and bosses.
    • 🟨 Magnetic: Catches and holds the ball on the paddle for tactical relaunching.
    • 💗 Extra Life: Grants a 1-Up.
  • Audio & Options Customization: Fully integrated Options Menu allowing pilots to toggle SFX audio on or off dynamically with instant feedback.
  • Native Windows Integration: Built-in IPC communication bridge between the Electron main process and the game engine, packaged cleanly for standalone execution.

Tech Stack

  • Core Engine: TypeScript, HTML5 Canvas API (No external game engines)
  • Build Tooling: Vite
  • Desktop Environment: Electron, Node.js fs IPC storage module

Controls

  • A / D or Left / Right Arrows: Move Paddle
  • Mouse: Move Paddle (Alternative)
  • Space / Enter / Left Click: Launch Ball / Start Game / Next Level / Confirm
  • W / S / Up / Down Arrows: Navigate Menus / Options
  • Escape: Pause Game
  • M: Toggle Audio Mute

Installation & Development

To run this project locally, modify the source code, or compile your own Windows installer, you will need Node.js installed.

  1. Clone the repository:

    git clone https://github.com/yourusername/breakout-game.git
    cd breakout-game
  2. Install dependencies:

    npm install
  3. Run Web Version (Vite):

    npm run dev
  4. Run Desktop App (Electron):

    npm run app:dev
  5. Compile Windows Installer (.exe):

    npm run app:build

    The compiled installer will be generated inside the /release directory.

About

A modern, Windows-friendly desktop reimagining of the classic arcade game Breakout, built with HTML5 Canvas, TypeScript, and Electron.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages