Cómo se juega

El recorrido empieza en el checkpoint 1. Desde ahí solo puedes moverte a una casilla ortogonalmente adyacente. Debes pasar por 2, 3, 4 y siguientes en orden, no puedes repetir casillas y algunas aristas pueden estar bloqueadas por paredes. La solución termina cuando el camino ocupa toda la cuadrícula y alcanza el último checkpoint.

La dificultad no viene de muchas reglas, sino de las consecuencias. Entrar demasiado pronto en una esquina puede aislar una zona; cerrar un corredor puede dejar una celda sin salida; alcanzar un checkpoint por el lado equivocado puede hacer imposible cubrir el resto.

Jugar ahoraAbrir Waypoint en PuzzleHub.
Tres condiciones, una sola ruta
100%de las celdas visitadas
1→Ncheckpoints en orden
0celdas repetidas

Relación con Zip

La referencia funcional más visible para esta familia es Zip de LinkedIn. Su documentación oficial describe un camino único que llena cada celda, conecta números secuencialmente y respeta paredes.

En PuzzleHub Android el identificador interno sigue siendo ZIP, pero el nombre público es Waypoint. Conservamos la mecánica general sin copiar branding, textos, arte ni datos de puzzles de LinkedIn.

Una referencia puede ayudarnos a definir la mecánica sin convertirse en la identidad del producto.

Cuatro tamaños y cuatro dificultades

Waypoint cumple el estándar completo: 5×7, 6×8, 7×10 y 8×11, disponibles en Fácil, Normal, Difícil y Experto. Tamaño y dificultad se eligen por separado.

El tamaño cambia el espacio de búsqueda. La dificultad modifica densidad de checkpoints y cuánto se abre el tablero retirando paredes que inicialmente separan alternativas.

Cómo construimos un puzzle

El generador empieza encontrando un camino Hamiltoniano: una ruta que visita todas las celdas exactamente una vez. Esa ruta es la solución secreta. Después seleccionamos posiciones y las convertimos en checkpoints numerados.

Generar al revés
SoluciónCrear primero un camino Hamiltoniano completo.
PistasElegir checkpoints y cerrar conexiones alternativas.
AbrirRetirar paredes solo mientras la solución siga siendo única.

Empezar cerrado y quitar información

En un primer estado, conexiones que no pertenecen a la solución pueden actuar como paredes. Eso garantiza el camino, pero sería demasiado obvio. El generador intenta retirar paredes y llama al solver tras cada cambio.

Solo conserva una apertura cuando el puzzle sigue teniendo una única solución. Esta estrategia convierte la dificultad en un proceso de quitar restricciones de forma controlada.

Generación inversaPrimero sabemos cómo se resuelve; después escondemos suficiente información para convertir esa ruta en un puzzle.

El solver como árbitro

El solver usa backtracking con podas agresivas para funcionar en navegador. Comprueba orden de checkpoints, conectividad de celdas restantes y callejones de grado. También detiene la búsqueda cuando supera un presupuesto de nodos.

Un candidato solo se publica cuando encuentra exactamente una solución y no alcanza el límite. El selfTest() repite la comprobación sobre las combinaciones expuestas.

Podar pronto significa detectar:
  • un checkpoint alcanzado fuera de orden;
  • una celda libre que ya no puede conectarse;
  • dos componentes separados sin forma de reunirse;
  • un callejón que obligaría a terminar antes de tiempo;
  • una búsqueda que supera el presupuesto razonable.

Qué heredamos de Android y qué reescribimos

Android nos dio una especificación madura: caminos Hamiltonianos, checkpoints, paredes, solver de unicidad y dificultad independiente del tamaño. Para web usamos esa arquitectura como guía funcional, pero el motor JavaScript es independiente y está adaptado al navegador.

La migración reveló además un hueco de catálogo. Al auditar el enum canónico vimos que Waypoint y Math Crossword faltaban en la web. Desde entonces la paridad forma parte del contrato del proyecto.

Consejos para resolver

Antes de dibujar una ruta larga, localiza celdas con pocas salidas. Esquinas, corredores y zonas junto a paredes suelen forzar el sentido. Piensa también en conectividad: si un movimiento separa las celdas libres en dos componentes y solo puedes entrar en uno, has creado una imposibilidad.

Los checkpoints no son solo destinos. Dividen el camino en segmentos ordenados y limitan desde qué lado puede llegar una ruta sin impedir los números posteriores.

La UI debe hacer visible el camino sin tapar el tablero

En pantallas táctiles necesitamos un trazo suficientemente ancho, feedback claro y checkpoints legibles. A medida que el tablero crece, el espacio de juego vuelve a ser crítico.

Waypoint es un buen ejemplo de por qué ampliar el ancho de las pantallas de juego mejora directamente la mecánica.

Juegos parecidos

Prueba Numberlink, Hidato, Train Tracks o Masyu. Todos convierten conectividad y orden espacial en restricciones.

Fuente funcional

LinkedIn Help — reglas de Zip