A fun and interactive Snood-style bubble shooter puzzle game built with Phaser 3, TypeScript, and Capacitor for iOS.
- 🎮 Classic bubble shooter gameplay with hexagonal grid
- 🎨 Colorful, engaging graphics
- 🎵 Sound effects and background music
- 📱 Optimized for iOS devices (iPhone SE to iPad Pro)
- ⚡ Smooth 60 FPS performance
- 💾 High score persistence
- 🎯 Multiple difficulty levels
- ✨ Special power-up bubbles (bombs, wildcards)
- Game Engine: Phaser 3
- Language: TypeScript
- Build Tool: Vite
- Mobile Framework: Capacitor
- Testing: Jest
- Target Platform: iOS 13.0+
- Node.js 18+ (LTS)
- Xcode 15+ (for iOS development)
- macOS (required for iOS development)
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build# Initialize iOS platform (first time only)
npx cap add ios
# Sync web assets to iOS
npm run ios:sync
# Open Xcode
npm run ios:open
# Run on iOS simulator/device
npm run ios:run# Run tests
npm test
# Run tests in watch mode
npm test:watch
# Generate coverage report
npm test:coverage# Lint code
npm run lint
# Fix linting issues
npm run lint:fix
# Format code with Prettier
npm run formatsnoodJS/
├── src/
│ ├── main.ts # Entry point
│ ├── scenes/ # Phaser scenes
│ ├── entities/ # Game objects (Bubble, Grid, etc.)
│ ├── systems/ # Game systems (Physics, Collision, etc.)
│ ├── utils/ # Helper functions
│ ├── config/ # Configuration files
│ └── assets/ # Game assets (images, audio, fonts)
├── tests/ # Test suites
├── ios/ # iOS native project (generated)
└── dist/ # Build output
- Launch: Aim and shoot bubbles from the bottom launcher
- Match: Connect 3+ bubbles of the same color
- Clear: Matched bubbles pop and disappear
- Cascade: Orphaned bubbles (not connected to top) fall
- Score: Earn points for matches, combos, and cascades
- Danger: Cluster descends periodically; game over if it reaches bottom
- Wildcard: Matches with any color
- Bomb: Clears all nearby bubbles
- 60 FPS gameplay
- <100ms touch input latency
- <50MB memory usage
- <5% frame drops during cascades
UNLICENSED - For personal use only
Built for family enjoyment 🎮