Cómo hacer un juego de combinar tres con IA (match-3)
Cómo hacer un juego de combinar tres con IA (match-3)
Un match-3 se pide describiendo el tablero, el intercambio de fichas vecinas, la combinación de tres iguales y la caída que rellena los huecos. Zugo lo genera como juego 2D de navegador, lo arranca en un entorno aislado antes de entregarlo y lo publica en tu-slug.zugo.run. Construir cuesta 6 créditos y editar, 3.
Parece un género sencillo porque la regla se explica en una frase, pero por debajo hay cuatro comportamientos encadenados (intercambio, detección, caída y relleno) que fallan de formas muy concretas si no los nombras.
¿Qué es un match-3 y qué parte es la difícil?
Es un tablero lleno de fichas de colores donde intercambias dos vecinas para alinear tres o más iguales. Las alineadas desaparecen, las de arriba caen a ocupar su sitio y entran fichas nuevas por arriba. Ese ciclo es todo el juego.
La parte difícil no es la detección, que sale casi siempre bien. Es la cadena posterior: cuando la caída forma sin querer una nueva combinación y esta debe resolverse también, en cascada, sin que el jugador toque nada.
La segunda parte difícil es el estado muerto. Un tablero puede quedar sin ningún intercambio válido posible, y si el juego no lo detecta, el jugador se queda mirando una pantalla que ya no responde a nada. Los límites generales de lo que sale de un prompt están en ¿puede la IA crear un juego?.
¿Qué trae la primera construcción?
Un tablero cuadrado con fichas de varios colores, selección con clic o toque, intercambio entre casillas adyacentes, eliminación de las alineaciones de tres o más, caída por gravedad, relleno desde arriba y un marcador que sube.
Lo que suele faltar es el rechazo del intercambio inútil. En un match-3 correcto, mover dos fichas que no forman ninguna combinación debe deshacerse solo, con una animación breve que diga "eso no vale". Si no se pide, es fácil que el tablero permita cualquier movimiento y el juego pierda sus reglas.
Tampoco viene garantizado el arranque limpio. Un tablero generado al azar puede aparecer ya con tres iguales alineadas, que se resuelven solas antes del primer movimiento y regalan puntos que nadie ha ganado.
¿Qué reglas del tablero hay que dictar?
Las cuatro del ciclo, más las dos de control. El color y la forma de las fichas se cambian después en una edición barata; la lógica no.
| Regla | Formulación floja | Formulación útil |
|---|---|---|
| Tablero | "una cuadrícula" | "tablero de 8 por 8 con seis colores de ficha" |
| Intercambio | "mover fichas" | "solo entre casillas contiguas, en horizontal o vertical" |
| Movimiento inválido | no se dice | "si el cambio no forma tres iguales, las fichas vuelven a su sitio" |
| Cascada | no se dice | "si al caer se forman nuevas alineaciones, se resuelven en cadena" |
| Arranque | no se dice | "el tablero inicial no contiene ninguna alineación ya hecha" |
| Sin jugadas | no se dice | "si no queda ningún movimiento posible, el tablero se rebaraja" |
| Límite | no se dice | "la partida dura veinte movimientos" |
La fila de la cascada es la que da la sensación de recompensa. Sin ella, cada jugada vale exactamente tres fichas y el juego se vuelve monótono en dos minutos.
La del rebarajado es la que evita el bloqueo total. Cuesta una línea en el prompt y ahorra la peor experiencia posible, que es un juego aparentemente colgado.
¿Por qué el tablero se queda sin jugadas?
Porque el relleno es aleatorio y nada garantiza que las fichas nuevas dejen alguna combinación disponible. Cuanto menos colores uses, menos probable es; con seis o más colores ocurre con bastante frecuencia.
Hay dos formas de resolverlo y conviene elegir a propósito. La primera es rebarajar el tablero entero cuando no queda jugada, avisando al jugador de lo que ha pasado. Es honesta y sencilla de pedir.
La segunda es más elegante: que el relleno compruebe que sigue existiendo al menos un movimiento válido y, si no, repita. Se explica en una frase y evita el sobresalto visual del rebarajado.
En cualquier caso, pide también una pista opcional después de unos segundos sin actuar: una ficha que parpadea señalando una jugada posible. Es la corrección que más agradece quien juega sin experiencia previa. Cómo formular estos cambios está en cómo editar después de generar.
¿Cómo se hace que combinar fichas resulte satisfactorio?
Con tiempos de animación y con premios crecientes. Es la diferencia entre un tablero que resuelve operaciones y un juego que apetece.
El primer ajuste es la velocidad de la caída. Si las fichas caen instantáneamente, el ojo no ve la cadena y la cascada se pierde; si caen demasiado despacio, cada jugada se hace lenta. El punto bueno se encuentra probando, no calculando.
El segundo es el premio por combinaciones largas. Alinear cuatro o cinco debe dar bastante más que alinear tres, y conviene decirlo con números en el prompt para que la diferencia se note.
El tercero son las fichas especiales, que es donde este género gana profundidad: alinear cuatro crea una ficha que limpia una fila entera al usarse. Pídelo como una edición aparte, cuando el ciclo base ya funcione, porque añade casos límite nuevos.
¿Cómo se añaden objetivos y niveles?
Por capas, nunca en el primer prompt. La estructura habitual es un objetivo por nivel ("reúne veinte fichas azules en veinticinco movimientos") y una pantalla intermedia entre uno y otro.
Cada nivel nuevo con reglas propias es una edición, así que un juego de diez niveles distintos no es un proyecto de una tarde. Es más eficiente pedir que los niveles se definan en una lista de configuración y que solo cambien los números de cada uno.
Si prefieres partir de algo ya montado, entre las 25 plantillas disponibles hay 5 de juegos, y una de ellas es precisamente de este género: la plantilla de combinar fichas sirve como punto de partida y se edita igual que cualquier proyecto generado.
¿Cuánto cuesta en créditos un match-3 jugable?
La construcción es lo barato. Lo que suma es la lista de casos límite propios del género, que se corrigen de uno en uno.
| Acción | Créditos |
|---|---|
| Construir el juego | 6 |
| Una edición | 3 |
| Construcción en modo Hi-Fi | 12 |
| Edición en modo Hi-Fi | 6 |
Un match-3 decente suele salir con una construcción y unas seis ediciones: movimiento inválido, cascada, arranque limpio, sin jugadas, animaciones y fichas especiales. Veinticuatro créditos aproximadamente. Pro cuesta $25 al mes con 200 créditos, que equivalen a unas 33 construcciones o 66 ediciones; Business, $99 al mes con 800 créditos.
El plan Free trae 5 créditos, menos de lo que cuesta una sola construcción, así que es para explorar la herramienta y no para acabar un juego con seis correcciones.
¿Qué queda fuera de este formato?
Los juegos son 2D y de navegador. Un match-3 vive perfectamente ahí, pero no vas a obtener una aplicación de tienda con notificaciones ni compras integradas, que es el modelo con el que estos juegos suelen monetizarse.
Un sistema de vidas que se recargan con el tiempo, progreso guardado entre dispositivos y clasificaciones entre amigos requiere cuentas y base de datos, es decir conectar Supabase. Se puede hacer, pero deja de ser un juego suelto y pasa a ser un producto que mantienes.
Y la parte incómoda: el diseño de niveles no se genera bien. La herramienta implementará las reglas que le des, aunque el nivel resultante sea trivial o imposible. Esa sensibilidad sigue siendo humana, y para un producto complejo Zugo no sustituye a un equipo de desarrollo, aunque el código sea tuyo y se exporte a GitHub.
¿Qué escribir en el primer prompt?
Seis frases: tamaño del tablero, número de colores, cómo se intercambian las fichas, qué pasa si el cambio no vale, qué ocurre en cascada y cuándo termina la partida. Nada de fichas especiales todavía.
Juega diez movimientos en cuanto lo tengas y fíjate solo en dos cosas: si el intercambio inútil se deshace y si las cascadas se ven. Esas dos son las primeras ediciones. Puedes montarlo en Zugo.