Cómo Oxobox Games creó un tablero basado en datos para impulsar la estrategia de seis jugadores de Sente.

¿Qué ocurre cuando se combina la profundidad estratégica del ajedrez y del Go con la posibilidad de que hasta seis jugadores muevan sus piezas exactamente al mismo tiempo? Esa es la premisa detrás de Sentido , un juego de estrategia con tablero hexagonal de la empresa argentina Oxobox Games, desarrollado con Unity. Los jugadores dejan caer fichas sobre un tablero hexagonal para construir redes de energía, disparar láseres y buscar los núcleos de energía de los oponentes, todo ello mientras los demás jugadores en la mesa hacen lo mismo simultáneamente.
Hablamos con Fernando Picate, director del juego y programador principal (y uno de los cofundadores del estudio), y con Joaquín Frere, productor y jefe de relaciones públicas, sobre cómo resolver los movimientos de seis jugadores a la vez, cómo crear un editor de tableros lo suficientemente sencillo como para que su propio diseñador de juegos nunca tuviera que abrir Unity, y cómo convertir un proyecto apasionante de décadas en un juego publicado.
De un hobby de juegos de mesa a más de una década en Unity.
Sente es el primer juego de Oxobox; el estudio también trabaja en la postproducción de cine y televisión, proporcionando subtitulado, doblaje y control de calidad para la industria del entretenimiento. Sin embargo, Sente es anterior al estudio por completo. La idea original surgió de bocetos y prototipos en papel con los que el equipo, cuyos miembros son amigos fuera del trabajo, empezó a experimentar en la década de 1990, basándose en una idea del diseñador de videojuegos Javier Mrad. Los primeros intentos jugables se desarrollaron en Flash como un juego para dos jugadores, con una breve incursión en el lienzo HTML5 antes de que finalmente se decantaran por Unity.
“Me sentí como en casa con Unity enseguida, aunque no estoy seguro de por qué; ni siquiera recuerdo qué era lo que tenía Flash que me resultaba similar”, dice Fernando. “En aquel momento, Unity también era compatible con JavaScript, lo que resultaba mucho más sencillo que lanzarse directamente a C++ para algo como Unreal Engine. Una vez que JavaScript y Boo quedaron obsoletos, nos pasamos definitivamente a C#, y todavía hoy me encanta trabajar con Unity .
Ese salto a Unity (que comenzó en la versión 4.0 LTS, como recuerda Fernando) fue también cuando Sente pasó de un prototipo en 2D al tablero totalmente en 3D que los jugadores ven hoy en día. Desde entonces, el equipo ha seguido mejorando el sistema y ahora desarrolla Sente en Unity 6.

Diseñar un juego de mesa donde nadie tenga que esperar su turno.
El tablero de Sente está construido en torno a núcleos de energía —internamente, el código todavía los denomina "reyes"—, piezas centrales que irradian energía a las células que las rodean. En su turno, los jugadores pueden mover su núcleo o dejar caer una ficha sobre una celda energizada. Las fichas tienen dos caras: una cara metálica que protege contra los láseres y conduce la energía a las fichas vecinas, y una cara vulnerable que dispara un láser una vez cargada. Si encadenas suficientes fichas, puedes arrebatarle el núcleo a un oponente desde cualquier punto del tablero; si pierdes el rastro de tu propia red, te sucederá lo mismo. Destruye las fichas correctas e incluso puedes fusionar dos piezas conectadas en un núcleo de energía completamente nuevo, jugando de repente con dos "reyes" en lugar de uno, como si tuvieras dos reinas en un tablero de ajedrez.
El inconveniente: con hasta seis jugadores, resolver los movimientos uno a uno hacía que las partidas fueran insoportablemente lentas. Así pues, Oxobox reconstruyó Sente en torno a giros simultáneos.

“Cuando comienza un turno, hay un cronómetro y cada jugador elige su movimiento”, explica Fernando. “Una vez que todos hayan decidido, o se acabe el tiempo, el turno se resuelve de una sola vez.” Eso significa que un jugador puede apuntar a lo que parece un tiro seguro al núcleo de un oponente, solo para ver cómo falla porque ese oponente movió un escudo a su lugar en ese mismo instante.
Evitar que las partidas de seis jugadores se paralizaran requirió años de ajustes. “Gran parte de nuestras pruebas se centraron en asegurarnos de que las placas no se atascaran”, dice Joaquín. “Cuando todos han reforzado sus defensas, puede parecer que no pasa nada, pero siempre hay un incentivo para actuar.” Finalmente, alguien crea suficientes posibilidades como para que los demás no puedan seguirlas todas, y es entonces cuando se produce una coincidencia. Entre jugadores de alto nivel, esos partidos pueden durar más de una hora; de lo contrario, duran diez o quince minutos.

Un modelo de datos, docenas de herramientas
En Sente , cada tablero, independientemente de su tamaño o de las piezas que contenga, se almacena como el mismo modelo lógico subyacente, completamente desacoplado de cómo se representa en pantalla.
“Cada placa se almacena como un modelo lógico, separado de lo que realmente se ve”, dice Fernando. “Esos mismos datos son la base de todo: nuestra herramienta de tablero en el editor, la aleatorización del tablero durante el juego y las plantillas que incluimos con el juego. Podemos remodelar un tablero cualquier número de veces por segundo sin tocar directamente ningún objeto de la escena.
Esa única fuente de información fidedigna es lo que permite a Oxobox ofrecer tableros hexagonales desde el tamaño 4 hasta el tamaño 10 (donde "tamaño" se refiere al número de celdas que recubren cada borde del tablero): lo suficientemente pequeños como para que las combinaciones rápidas sean ágiles, y lo suficientemente grandes como para admitir los rompecabezas individuales más elaborados del estudio, todo ello sin necesidad de mantener sistemas separados para cada uno. También sirve de base para el Board Template Manager personalizado de Oxobox, una herramienta de edición integrada directamente en Unity que permite a Fernando pintar tableros a mano (núcleos, fichas, obstáculos y agujeros) con herramientas de pincel y simetría, y luego guardar el resultado como una plantilla reutilizable.

El editor de tableros que no necesitaba Unity para nada.
Este mismo modelo de datos resolvió un problema mucho más específico: ¿cómo se le permite a una persona sin conocimientos de programación diseñar acertijos para la campaña de un solo jugador?
El diseñador de puzles de Sente , Javier Mrad, la misma persona cuya idea original dio origen a todo el proyecto, nunca ha instalado Unity. “Ni una sola vez, por más que lo pedí”, dice Fernando riendo. “Eso fue precisamente lo que me obligó a crear un editor de tableros adecuado dentro del juego.” Cada tablero se puede exportar como una cadena codificada, de modo que Javier puede diseñar un tablero o un rompecabezas completo en su propia hoja de cálculo, enviarme la cadena y yo la importo directamente al juego.
Oxobox planea ofrecer a los jugadores esa misma mecánica para compartir, de modo que eventualmente también podrán crear, exportar e intercambiar sus propios tableros.

Creación de un guion para una campaña de un solo jugador con Timeline.
La campaña para un jugador de Sente , en la que los jugadores se disfrazan de robot para colarse en un bar y desafiar a sus clientes habituales, está construida casi en su totalidad sobre el paquete Timeline de Unity. Cada nivel, o “rama”, es una secuencia de la línea de tiempo que entrelaza diálogos, movimientos de cámara y cambios de escenario.
Para que esto funcionara, Oxobox creó varias pistas de línea de tiempo personalizadas: una para mover a los personajes de diálogo y establecer sus expresiones, otra para mover la cámara a lo largo de splines personalizadas para secuencias cinematográficas y otra que transforma un tablero de un estado a otro a mitad de la línea de tiempo, animando el cambio en lugar de realizar un corte. La ramificación se gestiona mediante señales y marcadores de la línea de tiempo, que permiten que la campaña avance al ganar o retroceda a un punto de reintento cuando un jugador comete un error.

“Usamos Timeline constantemente y nunca he tenido ningún problema real con él”, dice Fernando. “El tutorial es probablemente nuestra secuencia más compleja: tiene diálogos, cambios de tablero y movimientos de cámara superpuestos, pero incluso la final del torneo, que utiliza trayectorias spline personalizadas para la cámara y los personajes, se ejecuta en el mismo sistema.”
Esas mismas pistas de diálogo también sirven como sistema de localización de Oxobox. “Ya contábamos con mucha experiencia en localización gracias a nuestra trayectoria en subtitulado y doblaje”, afirma Fernando. “Hemos integrado nuestro propio gestor de localización directamente en nuestros fragmentos de diálogo, de modo que podemos editar las traducciones de una línea en el momento en que la estamos escribiendo. En este momento estamos realizando la localización al japonés, chino, coreano y algunos idiomas más, todo a través de TextMesh Pro.

¿Qué le depara el futuro a Oxobox Games?
Oxobox se ha asociado con la editora Curveball Games, y Sente ya está disponible para PC a través de Steam. El equipo tiene como objetivo obtener la verificación de Steam Deck y explorar las plataformas de consola en el futuro.
Para un proyecto que lleva gestándose desde la década de 1990, Sente es un recordatorio de que un equipo pequeño e ingenioso puede apoyarse en las herramientas del Editor de Unity para construir algo mucho más grande que su número de miembros, desde un tablero que se remodela docenas de veces por segundo, hasta un diseñador de rompecabezas que nunca ha abierto el Editor de Unity .
Sente está disponible en Steam, y puedes encontrar más historias de desarrolladores de Unity en el Unity y el centro de recursos de Unity.
