Skip to content

iD01tLab/GEM

Repository files navigation

GemBlast NOVA

A Cosmic Match-3 Puzzle Adventure
iD01t Productions © 2025 · Guillaume Lessard · El'Nox Rah


🎮 Gameplay Mechanics

Core Objective

Match 3 or more crystals of the same color by swapping adjacent gems. Complete level goals within the move limit to progress through 100+ levels across 5 cosmic world zones.

Controls

  • Desktop: Click and drag to swap adjacent crystals
  • Mobile: Touch and swipe to swap
  • Keyboard: Arrow keys to navigate (coming soon)
  • Power-ups: Click power-up button, then click target crystal

Crystal Types

Symbol Name Special Effect
Cyan Basic crystal
Magenta Basic crystal
Yellow Basic crystal
Green Basic crystal
Azure Basic crystal
Violet Basic crystal
Amber Basic crystal

Special Crystals (Created by matching 4+)

  • H-BEAM (⚡ horizontal): Clears entire row - created by matching 4 in a row
  • V-BEAM (⚡ vertical): Clears entire column - created by matching 4 in a column
  • NOVA (💥): Clears 5×5 area - created by matching 5 in a row/column
  • STAR (✨): Clears cross pattern - created by matching 5 in L/T shape
  • QUASAR (🌌): Clears all crystals of one color - created by matching 5+ in + shape
  • SINGULARITY (⚫): Game-winning special - rare combination

Obstacles

  • Frost ❄️: Requires 2 adjacent matches to thaw
  • Void ⬛: Permanent blocker - cannot be destroyed
  • Nebula 🌌: Bursts when any neighbor is matched, creating chain reactions
  • Corruption ☣️: Spreads if not cleared quickly (advanced levels)

Power-Ups

Icon Name Cost Effect
LASER ×3 150◈ Annihilate any full row or column
💥 NOVA ×3 200◈ Detonate 5×5 shockwave anywhere
🌀 VOID ×2 250◈ Erase ALL crystals of one color
🔮 PRISM ×2 280◈ Upgrade all crystals of one color to STARs
TIME+ ×2 180◈ Next move costs zero moves
🔋 +10 MOVES 200◈ Add 10 moves to current level
REVIVE 300◈ Continue from game over with +5 moves

🏆 Scoring & Stars

Star Ratings

  • 1★: Reach base score goal
  • 2★★: Reach 1.5× base score
  • 3★★★: Reach 2.0× base score (perfect clear)

Score Multipliers

  • Base match: 10 points per crystal
  • Cascade bonus: 2× multiplier per chain level
  • Special crystal bonus: +50 points
  • Zenith mode: Enhanced scoring when meter is full

🌌 World Zones

  1. ◉ NEBULA CORE (Levels 1-10) - Tutorial zone with basic mechanics
  2. ▣ VOID SECTOR (Levels 11-20) - Introduces void obstacles
  3. ◆ QUASAR BELT (Levels 21-35) - Complex layouts, nebula clusters
  4. ◈ DARK MATTER (Levels 36-50) - Mixed obstacle challenges
  5. ✦ SINGULARITY (Levels 51-100) - Expert-level puzzles

🛠 Development Setup

Requirements

  • Modern web browser (Chrome, Firefox, Edge, Safari)
  • No build step required - runs directly in browser

Running Locally

# Clone repository
cd /workspace

# Open in browser
# Option 1: Double-click index.html
# Option 2: Use a local server
npx serve .

# Option 3: Python simple server
python -m http.server 8000

File Structure

/workspace
├── index.html      # Main HTML file
├── style.css       # All styles and animations
├── levels.js       # Game configuration & level definitions
├── game.js         # Core game engine and logic
├── Menu.mp3        # Background music
└── logo.png        # Game logo

Configuration

All tunable parameters are in levels.js under the CONFIG object:

  • Grid dimensions (COLS, ROWS)
  • Crystal colors and symbols
  • Particle system limits
  • Scoring values
  • Power-up costs
  • Audio frequencies

🎯 Achievements System

20 achievements to unlock:

  • First Blast, Chain Reaction, Unstoppable, NOVA STORM
  • Spark Born, Quasar Born, Power Master
  • Stargazer, Nova Pilot, Galactic Lord, Singularity
  • Flawless, Void Purge, Daily Devotion
  • Crystal Hoarder, Spectrum, Pure Mind
  • First Purchase, Demolisher, Tidal Wave, Master of the Cosmos

♿ Accessibility Features

  • Colorblind-friendly: Each crystal has unique shape AND color
  • Scalable UI: Responsive design for all screen sizes
  • Toggle options: Sound, particles, vibration, scanlines
  • Volume control: Adjustable audio levels
  • Touch-optimized: Full mobile support

💾 Save System

Game automatically saves to browser localStorage:

  • Progress (unlocked levels, stars)
  • Crystals currency
  • Achievements unlocked
  • Statistics
  • Settings preferences
  • Power-up inventory

Save data key: gbNova2

To reset all progress: Settings → RESET ALL DATA


📊 Statistics Tracked

  • Total matches made
  • Cascades triggered
  • Longest chain reaction
  • Levels cleared
  • Crystals earned
  • Total moves used
  • Specials created
  • Power-ups used
  • Nebulae popped
  • Frost tiles thawed

🎵 Audio Features

Procedurally generated sound effects using Web Audio API:

  • Match sounds scale with cascade depth
  • Special crystal creation fanfare
  • Power-up activation cues
  • Level complete jingle
  • Optional background music (Menu.mp3)

🧪 Testing

Manual Testing Checklist

  • Match 3 crystals (basic functionality)
  • Create special crystals (4+ matches)
  • Trigger cascades
  • Use power-ups
  • Complete level goals
  • Fail level (game over screen)
  • Revive mechanic
  • Shop purchases
  • Save/load persistence
  • Settings toggles
  • Mobile touch controls

Known Limitations

  • Keyboard navigation planned for future update
  • Daily challenge requires date tracking
  • Some visual effects may vary by browser

📝 Version History

v2.0 (Current)

  • Centralized configuration system
  • Expanded to 100 levels
  • New achievement system
  • Enhanced particle effects
  • Improved save validation

v1.0

  • Initial release with 20 levels
  • Basic match-3 mechanics
  • Shop system
  • Save/load functionality

📄 License

© 2025 iD01t Productions. All rights reserved.
Original design by Guillaume Lessard & El'Nox Rah


🔗 Links

  • itch.io page (coming soon)
  • Contact: [developer contact info]

"Match crystals. Clear signals. Reach the Singularity."

About

GEM Beta

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors