Mobile Game — Color-Match with Evolution

Color Match Drop

Puyo Puyo-style puzzle with original mechanics: falling block pairs, 4+ matching are eliminated, but 5+ evolve to higher tiers with special abilities. 5 dynamic biomes that modify mechanics, generative musical audio, 7 game modes, and Prophecy Preview.

Under review — App Storev1.0.0 — iOS + Android
T0
T1
T2
T3
T4

7

Game modes

5

Dynamic biomes

5

Evolution tiers

5

Power-ups

60+

TS files

v1.0.0

Version

Features

Key Features

Core — Color Evolution

Evolution System

4 matching blocks = elimination. 5+ blocks = evolution to higher tier with special abilities. Evolved blocks can keep evolving up to Tier 4 Golden.

Individual Gravity + Chains

Each block falls individually. After each elimination the board is re-scanned, generating natural chains with multipliers up to ×8.

Prophecy Preview

Hold to simulate the complete drop (including chains) without mutating state. Shows ghost of results and estimated points.

Generative Audio

Each color has a musical note (C4-D5). Matches sound like chords. Chains rise in octave. Each biome has an ambient pad.

Dynamic Biomes

Ocean

Reduces fall speed -20%. More time to think.

Volcano

Burns random blocks every 30s. Constant pressure.

Forest

Biases generation towards green +15%. Facilitates single-color chains.

Space + Crystal

Space inverts gravity momentarily every 45s. Crystal freezes random blocks (10% chance).

Game Modes

Classic Color

Increasing speed, biomes changing every 5 levels. Game over when reaching the top.

Evolution Race

Create a Golden block (Tier 4) as fast as possible. Speed leaderboard.

Cascade Challenge

Only the max chain of the game counts. Chain leaderboard.

Daily + Duels + Timed + Zen

Daily seed with global ranking, async duels with bets, 3 timer variants, Zen without game over (premium).

Power-ups & Progression

5 Power-ups

Color Bomb (clears a color), Evolve (upgrades tier), Gravity Flip (inverts gravity), Shuffle (rearranges), Freeze Frame (pauses falling).

Rhythm Bonus

3+ consecutive drops with chain activate ×1.3 multiplier with visual pulse. Incentivizes fast and strategic play.

Social & Monetization

Cross-App Friends

Shared list with Block Drop Play via global schema. Friend codes, search, weekly ranking.

AdMob + Premium

Banner/interstitial/rewarded. Premium $0.99/mo: no ads, ×2 coins, Zen, discounts, exclusive themes.

Technologies

Tech Stack

Frontend / Mobile

React Native 0.81.5

Cross-platform iOS + Android

Expo SDK 54

Build, deploy, OTA updates

TypeScript 5.9 (strict)

60+ typed files

Zustand 5

7 modular stores

Reanimated 4

Chain animations at 60fps

Backend

Supabase (shared)

Auth, DB, Realtime, RLS

PostgreSQL

Schema colormatch, 8 tables, cm_* views, 15+ RPCs

Deterministic PRNG

Seeds for Daily + Duels

Services

Google AdMob + ATT

Ads with App Tracking Transparency

react-native-iap

Premium subscriptions

Firebase Crashlytics

Crash reporting

EAS Build + Update + Submit

Complete CI/CD

Engines

matchEngine.ts

Flood fill, evolution, abilities, chains

prophecyEngine.ts

Simulation without mutating state

biomeEngine.ts

Parameterized modifiers per biome

Libraries

react-native-reanimatedreact-native-gesture-handlerreact-native-google-mobile-adsreact-native-iap@supabase/supabase-jsi18nextreact-i18nextexpo-tracking-transparencyexpo-secure-storeexpo-avexpo-cryptoexpo-linear-gradientexpo-apple-authenticationexpo-auth-sessionexpo-updates
Engineering

Technical Challenges

App Store Rejection for ATT

Problem: Apple couldn't find the ATT dialog during review. expo-tracking-transparency was implemented correctly.

Solution: Identified that the reviewer's iPad had "Allow Apps to Request to Track" disabled globally. Formal response to Apple explaining the scenario.

→ Resolved without code changes or additional builds. Protocol documented for future apps.

Flood Fill + Evolution + Chained Abilities

Problem: Full chain: BFS → categorize (4 vs 5+) → evolve → abilities (which trigger new eliminations) → gravity → re-detect.

Solution: Chain rounds loop with separate pure functions. 300ms animated pauses between rounds for visibility.

→ 6+ round chains with ×8 multiplier. Each component individually testable.

Prophecy Engine (Immutable Simulation)

Problem: Simulate complete hard drop including the entire resulting chain without modifying actual game state.

Solution: prophecyEngine.ts clones board, runs simulation with same matchEngine functions, returns results without side effects.

→ Elegant assist mode that improves accessibility without breaking competitive gameplay.

Biomes with Real Gameplay Impact

Problem: Biomes couldn't be just cosmetic — they needed to modify mechanics without breaking balance or introducing bugs.

Solution: biomeEngine.ts with parameterized modifiers applied at specific game loop points, decoupled from the match engine.

→ Each biome requires real strategic adaptation. Multiplied replayability.

Duel Coin Sync

Problem: Coins desynchronized between frontend and DB when creating/accepting duels with bets.

Solution: DB as source of truth. Dual update: DB authoritative + duelStore updates userStore locally post-operation.

→ Coins always reflect real state without re-fetch.

Status

Project Status

Completed

  • Match engine: flood fill, evolution, abilities, chains
  • 7 game modes with dynamic biomes
  • Full evolution: 5 tiers with abilities
  • Prophecy Engine: simulation without mutating state
  • Generative audio with musical notes per color
  • Backend: schema colormatch, cm_* views, RLS
  • AdMob with ATT + IAP subscriptions
  • Auth Google + Apple, Crashlytics, i18n ES/EN
  • iOS + Android builds submitted to stores

Pending

  • Final Apple App Store approval
  • Android promotion to production
  • Post-launch optimization based on metrics
  • Potential new biomes and modes
Results

Key Achievements

Original game mechanic: color evolution (5+ = evolve, not just eliminate) — unique in the market

Robust match engine: flood fill + evolution + abilities + chains as testable pure functions

Biomes with real gameplay: gravity, destruction, generation, inversion, crystallization

Generative audio: musical chords based on eliminated colors, octaves per chain

7 game modes from v1.0 including Evolution Race and Cascade Challenge (unique)

Multi-app infrastructure: shared Supabase with isolated schemas and global social layer

Offline-first with smart local/remote merge

~30% code reused from Block Drop Play, architecture designed for N games

App Store rejection resolved for ATT without new code — effective communication with Apple

Details

Additional Information

Evolution Tiers

T0

Basic

No ability

T1

Line

Clears full row

T2

Explosion

Clears 3×3 area

T3

Conversion

Converts adjacent color

T4

Golden

Clears an entire color

Board

6×14 + 4 hidden

Pieces

Pairs → Trios → Tetras

Languages

Spanish + English

Ecosystem

Shares backend with Block Drop Play

5 Biomes with Real Modifiers

Ocean

Gravity -20%

Volcano

Burns blocks every 30s

Forest

Green bias +15%

Space

Gravity inversion every 45s

Crystal

Freezes blocks 10%

Musical Audio System

Each color has an assigned note: Blue=C4, Green=E4, Red=G4, Yellow=B4, Pink=D5. Matches produce chords from the eliminated colors. Chains progressively rise in octave. Each biome has a background ambient pad that changes the sound atmosphere.