# Cosmic Bounce - A tribute to Arkanoid and Space Invaders

**URL:** <https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903>\
**Category:** Showcase\
**Created:** [December 30, 2025, 6:59pm UTC](https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903 "2025-12-30T18:59:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mortyeriksen](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mortyeriksen/32/65879_2.png) [@mortyeriksen](https://discourse.threejs.org/u/mortyeriksen)\
**Post date:** [December 30, 2025, 6:59pm UTC](https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903/1 "2025-12-30T18:59:30Z")

</div>

This game is a tribute to Arkanoid and Space Invaders created by Taito Corporation.

THE VOID HAS AWAKENED  
THE GEOMETRIC ARMADA RETURNS  
ONE SHIP STANDS READY  
DEFEND THE CORE SECTOR

YouTube video showing in-game action: [https://youtu.be/ExsImSRaeAo](https://youtu.be/ExsImSRaeAo)

Play for free: [https://cosmicbounce.netlify.app/](https://cosmicbounce.netlify.app/)

Send me a screenshot of your highscore 🙂

Overview

Cosmic Bounce is a retro-futuristic, 3D arcade game that blends the mechanics of Arkanoid/Breakout with the encroaching enemy pressure of Space Invaders. It is built using Three.js for 3D rendering and features a comprehensive custom audio engine.

Visual Style & Atmosphere

\* The game relies heavily on a “Synthwave” or “Cyberpunk” aesthetic.

\* CRT Simulation: The game features a toggleable CRT overlay (crt-overlay) that adds scanlines, screen curvature (vignette), and chromatic aberration to mimic an old arcade monitor.

\* Lighting: It utilizes high-contrast neon lighting with “UnrealBloomPass” post-processing to make objects glow. It features dynamic spotlights (Cyan and Magenta) that sweep across the playfield.

\* Shaders: The floor grid uses a custom shader that creates physical “shockwave” ripples when enemies are destroyed.

\* Intro Sequence: It mimics a retro computer boot-up sequence, complete with a “Twilight Zone Software” loader screen and a flying logo.

Gameplay Mechanics

\* Objective: Pilot a “V-Wing Interceptor” paddle to bounce a ball into the “Geometric Armada.” The goal is to clear 20 levels (Sectors).

\* Orbit Decay: Unlike standard Breakout games, the enemies slowly descend toward the player. If they reach the bottom, the game ends immediately (“Invasion Complete”).

\* Controls: Mouse movement steers the paddle. Clicking shoots the ball or fires lasers (if equipped).

\* Health: The player has 3 lives. Losing a ball costs a life.

\* Stun Mechanic: Enemies shoot projectiles. If the paddle is hit, the player is “Stunned” (controls jammed) for a short duration.

Content Breakdown

1. Power-Ups

Destroying enemies has a chance to drop supply canisters:  
\* Multi (Green): Splits the ball into three.  
\* Wide (Blue): Extends the paddle width.  
\* Laser (Red): Equips twin cannons to shoot enemies directly.  
\* Sticky (Magenta): The ball sticks to the paddle for precise aiming.  
\* Life (Yellow): Grants an extra life.

1. Enemies & Bosses

\* Standard Enemies: Geometric 3D shapes (Torus Knots, Cones, Spheres) arranged in procedural patterns.

\* Bosses: Every 4th level features a Boss fight. Bosses have health bars and specialized meshes (Saucer, Twinpod, Pyramid, Cube, Dreadnought). When a boss reaches 50% health, it becomes “Enraged,” turning red and moving faster.

Technical Highlights

Custom Audio Engine

This is the most technically complex part of the code. The game includes a Module (MOD) Player written entirely in JavaScript within the file.

\* ProTracker Support: It manually parses binary .mod files (specifically arkanoid.mod), handling sample data, period tables, vibrato, and tone portamento effects math manually.

\* Radio Knob UI: A UI element allows the player to switch between the Tracker Music (MOD), a WAV file, or Silence.

\* Synthesized SFX: Sound effects are generated in real-time using the Web Audio API oscillators (sawtooth, square waves), meaning no external MP3/WAV files are required for sound effects.

Level Generation

The game contains a procedural generation function generateLevelPattern that creates 20 unique layouts using mathematical patterns (e.g., alternating rows, pyramids, invader shapes) rather than storing static level maps.

User Experience

\* Mobile Detection: The game detects mobile devices and displays a “System Alert” warning suggesting the user play on a desktop for the best experience.

\* High Score: It uses localStorage to save the player’s high score persistently.

 ![Screenshot 2025-12-30 at 16.15.21](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/a/5/a5bcaf0a29275b213ee7fc795b3274c8e3357734.jpeg)

 ![Screenshot 2025-12-30 at 16.16.08](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/2/d/2d17d9796e515423cd8527e1dbf3e43cde1dbecf.jpeg)

 ![Screenshot 2025-12-30 at 16.15.47](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/1/0/103c02f9e67d88f27a6cf62a68dc160db2904048.jpeg)

---

<div class="post-metadata">

**Author:** ![manthrax](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/manthrax/32/2596_2.png) [@manthrax](https://discourse.threejs.org/u/manthrax)\
**Post date:** [December 30, 2025, 10:45pm UTC](https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903/2 "2025-12-30T22:45:46Z")

</div>

Verrry nice. Great vibes.

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/7/d/7d2eee4bd6f36ba9d431378e5acef014dc6841fd.jpeg)

---

<div class="post-metadata">

**Author:** ![mortyeriksen](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mortyeriksen/32/65879_2.png) [@mortyeriksen](https://discourse.threejs.org/u/mortyeriksen)\
**Post date:** [December 31, 2025, 1:52pm UTC](https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903/3 "2025-12-31T13:52:41Z")

</div>

Thanks Michael 👌

Happy new year 🎇

---

<div class="post-metadata">

**Author:** ![mortyeriksen](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mortyeriksen/32/65879_2.png) [@mortyeriksen](https://discourse.threejs.org/u/mortyeriksen)\
**Post date:** [December 31, 2025, 2:02pm UTC](https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903/4 "2025-12-31T14:02:34Z")

</div>

Updates:

- Mobile support implemented. Play field scrolling in portrait mode and ball slows down on mobile. Mobile alert removed.
- Star field improved with Sphere mesh.
- Hyperdrive experience between levels greatly improved with camera effect, more glow and stretched stars.

Happy new year! 🎇

---

<div class="post-metadata">

**Author:** ![Tibi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/tibi/32/61300_2.png) [@Tibi](https://discourse.threejs.org/u/Tibi)\
**Post date:** [December 31, 2025, 3:51pm UTC](https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903/5 "2025-12-31T15:51:26Z")

</div>

Really cool!

---

<div class="post-metadata">

**Author:** ![mortyeriksen](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mortyeriksen/32/65879_2.png) [@mortyeriksen](https://discourse.threejs.org/u/mortyeriksen)\
**Post date:** [January 1, 2026, 1:53am UTC](https://discourse.threejs.org/t/cosmic-bounce-a-tribute-to-arkanoid-and-space-invaders/88903/6 "2026-01-01T01:53:35Z")

</div>

Thank you Tibi 👍
