Volver a proyectos
⚠ No disponible actualmenteUnity 2D

Slide Rush

Juego de puzzle deslizante donde reconstruyes imágenes moviendo piezas en una cuadrícula dinámica de 3×3 hasta 10×10.

UnityC#Android SDKMobile Game

Gameplay

Sobre el proyecto

Slide Rush es un juego de lógica basado en el clásico puzzle deslizante. El jugador debe reorganizar piezas de una imagen dentro de una cuadrícula que varía desde 3×3 hasta 10×10, utilizando un sistema de movimiento con un espacio vacío.

El objetivo es reconstruir la imagen original en el menor número de movimientos posible, aumentando progresivamente la dificultad al incrementar el tamaño de la cuadrícula.

Fue desarrollado como proyecto personal con foco en lógica de juego, diseño de mecánicas y desarrollo mobile con Unity.

Características

Cuadrícula dinámica

Desde 3×3 hasta 10×10 — la dificultad crece con el tamaño.

Mezcla válida garantizada

El algoritmo solo genera estados que tienen solución.

Contador de movimientos

El jugador ve cuántos movimientos llevó reconstruir la imagen.

Múltiples imágenes

Varias imágenes jugables integradas al sistema de puzzle.

Movimiento con espacio vacío

Mecánica clásica: solo las piezas adyacentes al hueco pueden moverse.

Optimizado para móvil

UI simple, touch-friendly, pensada para pantallas pequeñas.

Capturas de pantalla

Desliza para ver todas las pantallas.

Haz clic en cualquier imagen para ampliarla

Implementación técnica

Lógica de matriz 2D

El tablero se representa como un array bidimensional de enteros. Cada número corresponde a una pieza; el 0 es el espacio vacío.

Validación de movimientos

Solo se permiten intercambios entre la pieza seleccionada y el espacio vacío cuando son adyacentes (N/S/E/O), evitando estados inválidos.

Shuffling resoluble

Se usa Fisher-Yates aplicado mediante movimientos legales (no random swap) para garantizar que cualquier estado generado sea resoluble.

Detección de victoria

Tras cada movimiento se compara el estado actual con el estado objetivo (1→N, 0 al final). Si coinciden, se dispara el flujo de victoria.

Grid escalable

El tamaño N se pasa como parámetro al inicializar el puzzle. Unity recalcula el tamaño visual de cada pieza automáticamente según N.

Reto principal

Puzzles irresolubles

El mayor reto fue garantizar que cada estado generado por el shuffler fuera resoluble. Un random swap directo produce ~50% de estados imposibles. La solución fue aplicar Fisher-Yates únicamente a través de movimientos legales, partiendo siempre del estado resuelto — esto garantiza que cualquier estado alcanzado sea resoluble por construcción.

Resultado: 100% de puzzles jugables sin necesidad de algoritmos de verificación de paridad.

Lo que aprendí

  • Diseño de mecánicas basadas en lógica y estructuras de datos
  • Manejo de matrices 2D para representar estados de juego
  • Desarrollo de sistemas de dificultad escalable
  • Optimización de UI para dispositivos móviles con Unity
  • Importancia del testing de edge cases en lógica de puzzles

Si lo rehago…

  • Animaciones fluidas al deslizar piezas (tweening con DOTween)
  • Sistema de niveles con progresión guardada localmente
  • Modo contrarreloj con tabla de clasificación
  • Soporte para imágenes del carrete del usuario
  • Efectos de partículas al completar el puzzle
⚠️

Estado del proyecto

Este proyecto ya no está disponible públicamente y el código fuente no es accesible actualmente. Fue desarrollado como proyecto personal enfocado en lógica de juego y diseño de mecánicas.