Color Sudoku Play
Variante visual del Sudoku donde los números se reemplazan por 9 colores. Misma lógica, experiencia completamente nueva. Diseño glassmorphism, duelos 1v1, sistema social, offline-first con event sourcing. Publicada en ambas tiendas.
6,020
Puzzles
6
Dificultades
9
Colores
17+
Tablas en BD
11
Pantallas
v1.0.3
Versión actual
Características principales
Gameplay con Colores
Tablero de Colores
Los números del 1 al 9 se reemplazan por 9 colores distintos. Misma lógica del Sudoku clásico: cada fila, columna y caja 3×3 sin repetir.
Modos Clásico y Purista
Clásico con vidas, feedback de errores y pistas. Purista sin ayudas para jugadores avanzados.
Sistema de Notas
Mini círculos de color en cada celda para marcar candidatos posibles. Esencial para dificultades altas.
Accesibilidad
Diseñado para público amplio incluyendo personas con dislexia numérica y niños. Paleta para daltónicos preparada.
Social y Duelos
Duelos 1v1 en Tiempo Real
Mismo puzzle para ambos jugadores. Apuestas de 0, 10, 25, 50 o 100 monedas. Ganador recibe el doble. Supabase Realtime para detección de resultados.
Sistema de Amigos
Códigos de 6 caracteres, búsqueda por username, solicitudes (enviar, aceptar, rechazar, bloquear), leaderboard entre amigos.
Progresión y Engagement
Niveles y XP
XP base + bonificaciones (sin pistas, sin errores, daily). Niveles progresivos con economía de monedas.
Desafíos Diarios/Semanales
Puzzle diario igual para todos, retos semanales con objetivos progresivos y recompensas de XP + monedas.
Streaks con Shields
Rachas diarias con bonus crecientes y protección mediante streak shields.
Monetización
AdMob Integrado
Banners en Home, interstitiales cada 3 partidas (mín 60s), rewarded para pistas (90s cooldown) y monedas (+50, máx 10/día).
Suscripción Premium
$0.99/mes o $9.99/año: sin ads, beneficios adicionales. Integrado via react-native-iap v14.
Diseño Glassmorphism
Estética Diferenciada
Gradientes multicapa, superficies translúcidas con efecto glass, bordes semi-transparentes, círculos flotantes con blur.
Paleta Cyan/Coral
Identidad visual propia completamente distinta a Sudoku Play. Resultado del rediseño para superar Apple Guideline 4.3(a).
Stack Tecnológico
Frontend / Mobile
React Native 0.81.5
New Architecture habilitada
Expo SDK 54
Build, distribución y OTA updates
React 19.1 + TypeScript 5.9
UI con tipado estático
Zustand 5
8 stores: game, user, auth, theme, premium, challenge, duel, friend
React Navigation 7
Stack navigation
Backend
Supabase
Auth, DB, Realtime, Edge Functions, RLS
Edge Functions (Deno)
validate-completion, sync-events
Supabase Realtime
postgres_changes para duelos en tiempo real
PostgreSQL
Schemas global + color_sudoku, 17+ tablas
Servicios Externos
Google AdMob
Banner, interstitial, rewarded
Firebase Crashlytics
Crash reporting en producción
Apple Sign In + Google OAuth
Autenticación nativa
EAS Build + Update
Cloud builds y OTA deployments
Almacenamiento Local
AsyncStorage
Cola de eventos offline, preferencias
expo-secure-store
Device ID, tokens cifrados
expo-sqlite
Puzzles y caché local
Librerías principales
Decisiones de Arquitectura
Event Sourcing para Sync
Acciones como eventos inmutables con UUID. Cola local en AsyncStorage, envío en lotes. Servidor procesa idempotentemente y devuelve estado canónico. 9 tipos de eventos soportados.
Offline-First
Puzzles en SQLite, partidas en AsyncStorage, cola de eventos local. Debounce 5s, intervalo mín 30s entre syncs, máx 3 reintentos con delays progresivos (5s, 15s, 60s).
Multi-Schema Compartido
Mismo Supabase que Sudoku Play. Schema global para usuarios/amistades, color_sudoku para datos de juego. Vistas públicas con prefijo color_ como capa de abstracción.
Anti-Cheat Dual
Cliente calcula para feedback inmediato, servidor recalcula todo. Análisis de historial de movimientos, detección de tiempos imposibles, scoring de sospecha y shadow bans.
Zustand por Dominio
8 stores separados (game, user, auth, theme, premium, challenge, duel, friend). Renders selectivos y separación de concerns clara.
Realtime para Duelos
Supabase Realtime (postgres_changes) detecta cuando el oponente completa. Sincronización automática de monedas al completar, declinar o expirar.
Firma HMAC de Requests
Cada sync firmado con timestamp, nonce y deviceId. Servidor valida firma antes de procesar, previniendo manipulación en tránsito.
Desafíos Técnicos Resueltos
Rechazo de Apple (Guideline 4.3a)
Problema: Apple rechazó la app por ser demasiado similar a Sudoku Play. Cambiar números por colores no fue suficiente diferenciación.
Solución: Rediseño completo con sistema glassmorphism: gradientes multicapa, superficies translúcidas, círculos flotantes, paleta cyan/coral.
→ App aprobada en App Store. El glassmorphism se convirtió en la identidad visual.
Sincronización Offline Robusta
Problema: Garantizar cero pérdida de datos sin conexión, incluyendo completados, compras y duelos.
Solución: Event Sourcing con cola persistente, UUIDs para idempotencia, reconciliación de estado, sync inteligente con nivel de batería.
→ Cero pérdida de datos reportada en producción.
Crashes Background en Android (Samsung)
Problema: Background fetch causa crashes críticos por restricciones agresivas de batería Samsung.
Solución: Detección platform-specific: deshabilita background fetch en Android, sync oportunista al abrir/completar/cambiar pantalla.
→ Eliminación completa de crashes, sin impacto perceptible.
Economía de Duelos Consistente
Problema: Garantizar manejo correcto de monedas en victoria, derrota, empate, rechazo, expiración, abandono.
Solución: Lógica server-side en funciones SQL transaccionales. Monedas atómicas. Cliente solo sincroniza saldo resultante.
→ Cero inconsistencias de saldo. Todos los edge cases cubiertos.
Base de Datos Compartida Multi-App
Problema: Dos apps compartiendo usuarios/amistades pero con datos de juego completamente separados.
Solución: Arquitectura multi-schema: global + schemas dedicados, naming con prefijos, vistas públicas como abstracción, RLS por schema.
→ Un jugador puede ser amigo en ambas apps con una sola cuenta, datos independientes.
Estado del Proyecto
Completado y en Producción
- Gameplay completo con modos Clásico y Purista
- Sistema de 9 colores con paleta diferenciada
- Interfaz glassmorphism completa
- Duelos 1v1 con apuestas y Realtime
- Sistema de amigos con friend codes
- Sincronización offline con event sourcing
- Anti-cheat con validación server-side
- Monetización AdMob + suscripción premium
- Autenticación Google + Apple + invitado
- Desafíos diarios/semanales
- Internacionalización ES/EN
- Onboarding interactivo de 6 slides
- 9 migraciones SQL profesionales
- Publicada en App Store y Google Play
Pendiente
- Suscripciones IAP en ambas tiendas
- Supabase Realtime para duelos
Logros Destacados
Publicada en App Store y Google Play — superó rechazo de Apple y rediseño completo
Arquitectura Offline-First con Event Sourcing — cero pérdida de datos en producción
Anti-Cheat server-side con análisis de movimientos, tiempos imposibles y shadow bans
Duelos 1v1 con Supabase Realtime, apuestas de monedas y resolución de todos los edge cases
Infraestructura Multi-App compartida con Sudoku Play — mismos usuarios, datos separados
Rediseño glassmorphism que logró diferenciación visual para Apple Guideline 4.3(a)
6,020 puzzles con 6 niveles de dificultad
9 migraciones SQL profesionales con schemas, funciones, triggers, RLS y auditoría
Información adicional
Idiomas
Español + Inglés
Modos
Clásico + Purista
Temas
Dark + Light (2 más planificados)
Puzzles
6,020 únicos
Paleta de Colores del Sudoku
Rojo coral
Turquesa
Azul cielo
Verde menta
Amarillo suave
Violeta
Naranja
Verde agua
Dorado
Schema global
Usuarios y amistades compartidas con Sudoku Play. Un jugador usa una sola cuenta para ambas apps.
Schema color_sudoku
17+ tablas: catálogo, completaciones, estadísticas, duelos, eventos, desafíos. Vistas públicas con prefijo color_.