tomcoolpxl/sugar-splat

No description

0 stars0 forksUpdated Dec 28, 2025
npx skills add tomcoolpxl/sugar-splat

README

Sugar Splash

A polished match-3 puzzle game built with Phaser 3.

Quick Start

https://tomcoolpxl.github.io/sugar-splat/

Features

Core Gameplay

  • 8x8 match-3 board with 6 candy types
  • Swap adjacent candies to create matches of 3+
  • Chain reactions (cascades) with combo multipliers
  • Move-limited levels with varied objectives
  • 40 levels with progressive difficulty across 8 worlds

Special Candies

Match PatternCreatesEffect
4 in a rowLine ClearerClears entire row or column
5 in a rowColor BombClears all candies of one color
T or L shapeBombClears 3x3 area

Special Combos

ComboEffect
Line + LineCross clear (row + column)
Bomb + BombLarge 5x5 explosion
Bomb + Line3 rows or 3 columns cleared
Color Bomb + AnyAll of that color become specials

Blockers

TypeBehavior
Jelly (Single)Clears when match occurs on cell
Jelly (Double)Requires 2 matches to clear
Locked TileUnlocks when adjacent match occurs
Ice (1-2 layers)Frozen candy can't swap; match it to break ice
Chains (1-2 layers)Chained candy can't swap but can match through
StonePermanent obstacle; candies fall around it
HoneySpreads each turn! Match on honey to clear it
Licorice WallsBlocks swaps between cells (not matches)
ChocolateSpreads to adjacent cells; match next to it to clear
Crate (1-3 layers)Wooden box around candy; match to break layers
Bomb TimerCountdown bomb; must clear before it explodes!
Conveyor BeltMoves candies in direction each turn
PortalTeleports candies between paired locations

Objectives

  • Score targets
  • Clear all jelly
  • Collect specific candy colors
  • Drop ingredients to bottom row

Powerups

Earn powerups by completing levels with stars:

  • Hammer - Clear single candy
  • Bomb - 3x3 explosion
  • Row/Col - Clear cross pattern
  • Color Blast - Clear all of one color

Polish

  • Procedural audio (WebAudio synth music & SFX)
  • C64-style chiptune music for menus
  • Particle effects for matches and specials
  • Color bomb laser beam effect (beams to all targets)
  • Score counter animation (counts up smoothly)
  • Bonus round converts remaining moves to points
  • Hint system with pulsing rings on both swap candies
  • Animated menu screens with floating candies
  • Star ratings (1-3 based on moves remaining)
  • Local save (localStorage)

Project Structure

sugar-splash/
├── index.html
├── src/
│   ├── main.js                 # Phaser configuration
│   ├── Config.js               # Centralized game config
│   ├── data/
│   │   └── LevelData.js        # Level definitions (40 levels)
│   ├── scenes/
│   │   ├── BootScene.js        # Asset generation
│   │   ├── MenuScene.js        # Title screen
│   │   ├── LevelSelectScene.js # Level grid
│   │   └── GameScene.js        # Main gameplay orchestration
│   ├── objects/
│   │   ├── Board.js            # Grid logic, input handling
│   │   └── Candy.js            # Individual candy sprites
│   ├── systems/
│   │   ├── ActionProcessor.js  # Cascade/match processing
│   │   ├── MatchLogic.js       # Match detection algorithms
│   │   ├── SoundManager.js     # WebAudio procedural audio
│   │   ├── C64Sequencer.js     # C64-style chiptune music
│   │   ├── PowerupManager.js   # Powerup UI & activation
│   │   ├── DialogManager.js    # Win/lose/pause dialogs
│   │   ├── BonusRoundManager.js# End-of-level bonus round
│   │   ├── HintManager.js      # Idle hint system
│   │   └── ParticleManager.js  # Particle effects
│   └── ui/
│       └── HUDManager.js       # Score, moves, progress bar
└── docs/
    ├── roadmap.md              # Current status & future plans
    └── code_review.md          # Technical architecture notes

Controls

  • Click/tap a candy to select it
  • Click/tap an adjacent candy to swap
  • Swipe on mobile for quick swaps
  • Invalid swaps animate and revert

Technical Notes

  • Phaser 3.80.1 (CDN)
  • No build tools required
  • Assets generated procedurally (Graphics API)
  • Audio generated with WebAudio API
  • Responsive scaling (mobile-first 720x1280)
  • Touch-friendly with swipe support

Publisher

tomcoolpxltomcoolpxl

Statistics

Stars0
Forks0
Open Issues0
CreatedDec 26, 2025