Mobile Game — Color-Match con Evolución

Color Match Drop

Puzzle tipo Puyo Puyo con mecánicas originales: pares de bloques que caen, 4+ iguales se eliminan, pero 5+ evolucionan a tiers superiores con habilidades especiales. 5 biomas dinámicos que modifican la mecánica, audio generativo musical, 7 modos de juego y Prophecy Preview.

En revisión — App Storev1.0.0 — iOS + Android
T0
T1
T2
T3
T4

7

Modos de juego

5

Biomas dinámicos

5

Tiers de evolución

5

Power-ups

60+

Archivos TS

v1.0.0

Versión

Funcionalidades

Características principales

Core — Evolución de Colores

Sistema de Evolución

4 bloques iguales = eliminación. 5+ bloques = evolución a tier superior con habilidades especiales. Evolucionados pueden seguir evolucionando hasta Tier 4 Dorado.

Gravedad Individual + Chains

Cada bloque cae individualmente. Tras cada eliminación se re-escanea el tablero, generando cadenas naturales con multiplicadores hasta ×8.

Prophecy Preview

Mantener presionado simula el drop completo (incluyendo cadenas) sin mutar estado. Muestra ghost de resultados y puntos estimados.

Audio Generativo

Cada color tiene una nota musical (C4-D5). Los matches suenan como acordes. Las cadenas suben de octava. Cada bioma tiene pad ambiental.

Biomas Dinámicos

Océano

Reduce velocidad de caída -20%. Más tiempo para pensar.

Volcán

Quema bloques aleatorios cada 30s. Presión constante.

Bosque

Sesga generación hacia verde +15%. Facilita cadenas de un color.

Espacio + Cristal

Espacio invierte gravedad momentáneamente cada 45s. Cristal congela bloques al azar (10% chance).

Modos de Juego

Classic Color

Velocidad creciente, biomas cambiantes cada 5 niveles. Game over al tocar el tope.

Evolution Race

Crear un bloque Dorado (Tier 4) lo más rápido posible. Leaderboard de velocidad.

Cascade Challenge

Solo cuenta el max chain de la partida. Leaderboard de cadenas.

Daily + Duels + Timed + Zen

Seed diario con ranking global, duelos asincrónicos con apuestas, 3 variantes de timer, Zen sin game over (premium).

Power-ups y Progresión

5 Power-ups

Color Bomb (elimina un color), Evolve (sube tier), Gravity Flip (invierte gravedad), Shuffle (reordena), Freeze Frame (pausa caída).

Rhythm Bonus

3+ drops consecutivos con chain activan multiplicador ×1.3 con pulso visual. Incentiva juego rápido y estratégico.

Social y Monetización

Amigos Cross-App

Lista compartida con Block Drop Play via schema global. Friend codes, búsqueda, ranking semanal.

AdMob + Premium

Banner/interstitial/rewarded. Premium $0.99/mes: sin ads, ×2 coins, Zen, descuentos, temas exclusivos.

Tecnologías

Stack Tecnológico

Frontend / Mobile

React Native 0.81.5

Cross-platform iOS + Android

Expo SDK 54

Build, deploy, OTA updates

TypeScript 5.9 (estricto)

60+ archivos tipados

Zustand 5

7 stores modulares

Reanimated 4

Animaciones de chains a 60fps

Backend

Supabase (compartido)

Auth, DB, Realtime, RLS

PostgreSQL

Schema colormatch, 8 tablas, vistas cm_*, 15+ RPCs

PRNG Determinístico

Seeds para Daily + Duelos

Servicios

Google AdMob + ATT

Ads with App Tracking Transparency

react-native-iap

Suscripciones premium

Firebase Crashlytics

Crash reporting

EAS Build + Update + Submit

CI/CD completo

Engines

matchEngine.ts

Flood fill, evolución, habilidades, chains

prophecyEngine.ts

Simulación sin mutar estado

biomeEngine.ts

Modificadores parametrizados por bioma

Librerías

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
Ingeniería

Desafíos Técnicos

Rechazo App Store por ATT

Problema: Apple no encontraba el diálogo ATT durante review. expo-tracking-transparency estaba implementado correctamente.

Solución: Identificado que el iPad del reviewer tenía "Allow Apps to Request to Track" desactivado globalmente. Respuesta formal a Apple explicando el escenario.

→ Resuelto sin cambios de código ni builds adicionales. Protocolo documentado para futuras apps.

Flood Fill + Evolución + Habilidades en Cadena

Problema: Chain completa: BFS → categorizar (4 vs 5+) → evolucionar → habilidades (que triggean nuevas eliminaciones) → gravedad → re-detectar.

Solución: Loop de chain rounds con funciones puras separadas. Pausas animadas 300ms entre rondas para visibilidad.

→ Chains de 6+ rondas con ×8 multiplicador. Cada componente testeable individualmente.

Prophecy Engine (Simulación Sin Mutar)

Problema: Simular hard drop completo incluyendo toda la cadena resultante sin modificar estado real del juego.

Solución: prophecyEngine.ts clona board, ejecuta simulación con mismas funciones del matchEngine, retorna resultados sin side effects.

→ Assist mode elegante que mejora accesibilidad sin romper gameplay competitivo.

Biomas con Gameplay Real

Problema: Biomas no podían ser solo cosméticos — necesitaban modificar mecánicas sin romper balance ni introducir bugs.

Solución: biomeEngine.ts con modificadores parametrizados aplicados en puntos específicos del game loop, desacoplados del match engine.

→ Cada bioma requiere adaptación estratégica real. Rejugabilidad multiplicada.

Sincronización de Coins en Duelos

Problema: Coins se desincronizaban entre frontend y DB al crear/aceptar duelos con apuestas.

Solución: DB como source of truth. Actualización dual: DB authoritative + duelStore actualiza userStore localmente post-operación.

→ Coins siempre reflejan estado real sin re-fetch.

Estado

Estado del Proyecto

Completado

  • Match engine: flood fill, evolución, habilidades, chains
  • 7 modos de juego con biomas dinámicos
  • Evolución completa: 5 tiers con habilidades
  • Prophecy Engine: simulación sin mutar estado
  • Audio generativo con notas musicales por color
  • Backend: schema colormatch, vistas cm_*, RLS
  • AdMob con ATT + IAP suscripciones
  • Auth Google + Apple, Crashlytics, i18n ES/EN
  • Builds iOS + Android enviados a tiendas

Pendiente

  • Aprobación final de Apple App Store
  • Promoción de Android a producción
  • Optimización post-launch basada en métricas
  • Posibles nuevos biomas y modos
Resultados

Logros Destacados

Mecánica de juego original: evolución de colores (5+ = evolucionar, no solo eliminar) — único en el mercado

Match engine robusto: flood fill + evolución + habilidades + chains como funciones puras testeables

Biomas con gameplay real: gravedad, destrucción, generación, inversión, cristalización

Audio generativo: acordes musicales basados en colores eliminados, octavas por cadena

7 modos de juego desde v1.0 incluyendo Evolution Race y Cascade Challenge (únicos)

Multi-app infrastructure: Supabase compartido con schemas aislados y capa social global

Offline-first con merge inteligente local/remoto

~30% código reutilizado de Block Drop Play, arquitectura diseñada para N juegos

Resolución de rechazo App Store por ATT sin código nuevo — comunicación efectiva con Apple

Detalles

Información adicional

Tiers de Evolución

T0

Básico

Sin habilidad

T1

Línea

Limpia fila completa

T2

Explosión

Elimina área 3×3

T3

Conversión

Convierte color adyacente

T4

Dorado

Elimina un color entero

Tablero

6×14 + 4 ocultas

Piezas

Pares → Tríos → Tetras

Idiomas

Español + Inglés

Ecosistema

Comparte backend con Block Drop Play

5 Biomas con Modificadores Reales

Océano

Gravedad -20%

Volcán

Quema bloques cada 30s

Bosque

Sesgo verde +15%

Espacio

Inversión gravedad cada 45s

Cristal

Congela bloques 10%

Sistema de Audio Musical

Cada color tiene una nota asignada: Azul=C4, Verde=E4, Rojo=G4, Amarillo=B4, Rosa=D5. Los matches producen acordes de los colores eliminados. Las cadenas suben de octava progresivamente. Cada bioma tiene un pad ambiental de fondo que cambia la atmósfera sonora.