1 puntos por GN⁺ 2026-01-07 | 1 comentarios | Compartir por WhatsApp
  • Un juego de rompecabezas para encerrar un caballo con un número limitado de muros, cuyo objetivo es crear el cercado más grande posible
  • El jugador hace clic en las casillas de pasto para colocar muros, y el caballo no puede moverse en diagonal ni sobre el agua
  • Si incluyes cherries dentro del cercado, obtienes puntos extra, y cuanto más grande sea el cercado, mayor será la puntuación
  • Incluye editor de niveles, tabla de posiciones, rompecabezas diarios y exploración de niveles creados por usuarios
  • Aunque empezó como una idea simple, evolucionó hacia un juego del tipo problema de optimización al estilo Leetcode/Advent of Code

Resumen del juego

  • enclose.horse es un juego de rompecabezas en el que debes encerrar un caballo usando una cantidad limitada de muros
    • El objetivo es rodear con una cerca el área más grande posible
    • La puntuación se determina según el tamaño del cercado y la cantidad de cherries incluidas
  • La forma de jugar consiste en hacer clic en las casillas de pasto para levantar muros
    • El caballo no puede moverse en diagonal ni sobre el agua
    • Si incluyes cherries dentro del cercado, obtienes +3 puntos
    • Solo se puede enviar una solución una vez

Interfaz y funciones del juego

  • La información del nivel muestra tamaño (12x14), presupuesto de muros (12), cantidad de partidas jugadas (4455) e ID del nivel (ZtiI9g), entre otros datos
  • En el menú de configuración se pueden ajustar el nombre, las líneas de la cuadrícula, el tema y opciones avanzadas
  • Tu nombre se guarda en la tabla de posiciones, donde puedes comparar tu puntuación con la de otros jugadores
  • A través del editor de niveles puedes crear y compartir tus propios rompecabezas
  • En la página “Browse” puedes explorar niveles creados por otros usuarios y votar después de jugarlos

Historial de actualizaciones

  • 29 de diciembre de 2025: lanzamiento inicial, se añadieron el editor de niveles y la tabla de posiciones
  • 30 de diciembre: se incorporaron los rompecabezas diarios (Daily puzzles) y la función de rompecabezas anteriores (Past Puzzles)
  • 31 de diciembre: se añadió la pestaña de actualizaciones
  • 1 de enero de 2026: se añadió un Solver al editor de niveles, además de la exploración y votación de niveles creados por usuarios
  • 2 de enero: se añadió una función para rastrear el área máxima durante la partida
  • 3 de enero: se añadió el elemento cherries
  • 4 de enero: se corrigieron errores relacionados con cherries y se mejoraron los filtros de búsqueda

Contexto de desarrollo

  • El desarrollador concibió este juego inicialmente como un problema de optimización al estilo Leetcode o Advent of Code
  • Después de probarlo personalmente, concluyó que valía la pena convertirlo en un juego de rompecabezas más pulido
  • El juego fue creado por Shivers y se publicó a través del sitio oficial y su cuenta de X (Twitter)

Otros elementos

  • La función “Horse Tip” advierte al enviar una solución si todavía quedan muros disponibles
    • Incluye la opción “No volver a mostrar”
  • A través de la función de reporte de errores se pueden denunciar niveles inapropiados o imposibles
  • Incluye algunos elementos humorísticos, como “Name Five of Cherries”

1 comentarios

 
GN⁺ 2026-01-07
Comentarios de Hacker News
  • Fue un juego muy entretenido. Si el desarrollador está recopilando bien los datos, creo que podría agrupar 100 niveles por dificultad y lanzarlo en Steam.
    Eso sí, la animación de la puerta subiendo rompe la lógica visual 2D y resulta confusa.
    Me gustaría que en el futuro agregaran nuevas mecánicas de juego. Por ejemplo:

    • Comida: el caballo se mueve hacia la comida en cada turno. Estaría bien usar un montón de heno o terrones de azúcar como señuelos
    • Punto objetivo: un rompecabezas donde guías al caballo con cercas para que entre en una casilla específica
    • Inundación: el agua sube desde los bordes, y hay que encerrar al caballo al mismo tiempo que se bloquea el agua
    • Alguien comentó que este tipo de recopilación de datos le incomoda. Creo que también hacen falta juegos para disfrutar de forma pura, sin vigilancia
    • Este juego tiene potencial como minijuego por turnos. Sería interesante colocar muros para desviar la ruta del caballo mientras avanza hacia la salida, e intentar hacer que recorra la mayor cantidad posible de casillas con un número limitado de muros
    • Coincido con la opinión de que el efecto de la puerta moviéndose hacia arriba no encaja con la estética general. Aun así, es un gran juego
    • Yo interpreté esa animación como si fuera una vista tipo RPG cenital. No me confundió visualmente, pero en móvil fue incómodo porque era fácil tocar la casilla equivocada
    • Creo que mientras más simple sea el juego, mejor. Si sabes programar, también podría ser un buen proyecto de aprendizaje para hacer por tu cuenta en unos cuantos fines de semana
  • Encontré a mano la solución óptima del rompecabezas del día 8, y estuvo bastante divertido.
    Lo abordé empezando con una solución mínima y expandiéndola paso a paso, manteniendo una solución válida cada vez que recolocaba un muro.
    Al final encontré la puntuación óptima en 15 minutos

    • Hubo quien dijo que este enfoque se parece a la forma de pensar de TDD (desarrollo guiado por pruebas)
    • Yo también usé el mismo algoritmo. El enfoque top-down no me funcionó, pero fue muy divertido
  • Sería divertido cambiar las cerezas por baterías y renombrar el juego como Correct Horse Battery Stable

    • O cambiar las cerezas por pastelitos o snacks PBJ y llamarlo Collect Horse Buttery Stable, que también se oye tierno
    • También salió la idea de usar grapas (staples) en lugar de muros
    • Otra sugerencia fue cambiar las cerezas por cubos de azúcar y llamarlo My Lovely Horse
    • Este chiste hace referencia a xkcd 936
  • El juego me gustó mucho. Pero fue una lástima que al pulsar “Show optimal” no pudiera comparar mi solución con esa.
    Los muros ocupan una casilla y media y eso confunde, además de que tienen un diseño como de cerca para dinosaurios, así que sería mejor cambiarlo por una cerca para caballos

    • Estaría bien que “Show optimal” fuera un botón de alternancia para poder ir cambiando entre mi solución y la óptima. También coincido en que en móvil es difícil tocar porque los muros se enciman
    • Hace falta un botón para cambiar rápido. Yo encontré cómo volver a mi solución usando el menú de fechas pasadas
    • Viendo que el caballo habla de demonios al hacer clic, quizá haya algo más escondido
  • En lugar de N/A, el puntaje inicial podría decir N/EIGH para que encaje con la temática de caballos

    • Me recordó a una historieta sobre un parlamento de caballos (neigh) que vi hace tiempo
    • Me impresiona la creatividad necesaria para ocurrírsete eso
  • Hice mi propio buscador de soluciones

    1. Toma una captura de pantalla de la cuadrícula
    2. Súbela a enclosure-horse-solution.onrender.com
    3. Revisa la cantidad de muros y haz clic en Solve
      Como es la versión gratuita, a veces se cae, pero le agregué caché.
      Se puede ejecutar localmente desde el repositorio de GitHub
    • En el editor de niveles puedes crear mapas personalizados y ver la solución óptima. Si reproduces los mapas oficiales, también puedes comprobar la intención del desarrollador
    • También hubo quien preguntó si el caché se hace en memoria o en disco. Algo como Redis podría ser más estable
    • El servidor se cae seguido, así que si no sale resultado, recomiendan ejecutarlo en local
  • Ojalá hubiera una función para comparar mi solución y la solución óptima al mismo tiempo

    • Yo también tomé dos capturas de pantalla para compararlas
    • Una vista lado a lado (diff) sería perfecta
  • Me intriga cómo encontrar la solución óptima de este problema con un algoritmo. En Factorio intenté resolver algo parecido, pero no encontré una solución rápida

    • En el sitio dicen que usan Answer Set Programming (ASP) y el motor Clingo. Este tipo de problema de maximización en cuadrículas probablemente sea NP-hard. Los solucionadores SAT/SMT no son eficientes para calcular flood-fill
    • También hubo quien opinó que un enfoque de programación por restricciones sería adecuado. Se toman las posiciones de los muros como variables, y las casillas a las que puede llegar el caballo como restricciones
    • Al ver este problema, una persona pensó en varios enfoques de optimización, como graph cut, SAT/SMT, ACSP, entre otros
    • También hay una discusión relacionada en CS StackExchange
    • Alguien opinó que, si se considera un problema NP-hard, podría derivarse de Sparsest Cut. Propuso buscar el corte mínimo e ir ajustando la capacidad en una exploración iterativa
  • Cada vez que veo el dominio horse, me dan ganas de correr traceroute bad.horse y sonreír

    • Hubo quien respondió que ese chiste es realmente hermoso
  • Parece que el reto diario se publica a horas distintas según la zona horaria. Un amigo ya ve el día 9, pero yo solo veo el día 8.
    Estaría bien que hubiera un mismo momento de publicación global para que sea más fácil competir con amigos