Modelo III: Puzzles de bloques
Hoy traigo otro modelo de juego adecuado para programadores ya que sus exigencias artísticas son menores. Además, para ir variando y por probar algo diferente a ver si así atraigo un poco más de colaboración, al final vendrán algunas preguntillas en plan deberes ;) (Si no sabes de que va esto ve AQUÍ)
Definición: Para centrarme en un tipo de juego, dentro de la enorme variedad de juegos de puzzle existente, hablaré de aquellos en plan bloques, como el tetris, el columns y demás variantes.
Jugabilidad: Nos encontramos ante otro modelo de juego de vida prácticamente infinita. Creo que si contáramos el número de horas jugadas en total y la variedad de público a la que ha llegado, dividido por los recursos y el tiempo de desarrollo, sin duda el tetris se llevaría la palma.
Estos juegos tienen dos trucos:
* Nunca paran, con lo que si no quieres perder tu puntuación tienes que continuar la partida hasta el final.
* Cada vez son más difíciles/rápidos, lo que hace que el reto siga en pie y cada vez tengas menos tiempo para pensar en que deberías estar haciendo otra cosa más provechosa :P
La dificultad en el Tetris constaba simplemente en la velocidad del juego. Si el juego tiene una mecánica de colores o formas, como el columns, podemos aumentar la dificultad aumentando el número de colores o figuras disponibles, con lo que será más difícil ir juntando muchas del mismo tipo.
Dificultades técnicas: Como dije al principio este es un tipo de juego que no requerirá de un gran talento artístico. Una imagen para cada tipo de pieza o incluso simplemente cuadrados de colores y un panel informativo con los datos que todos esperamos de un tetris (puntuación, nivel, pieza siguiente) Son toda la labor gráfica.
En cuanto a programación se me ocurre que este tipo de juegos se pueden controlar con una matriz que represente el estado de cada casilla y operaciones sobre ella. Por ejemplo, para el tetris podríamos tener una matriz de 1s y 0s (1 - casilla ocupada, 0 - desocupada) y que la pieza que entra se escriba por ejemplo con 2s, cada X ms comprobamos (dependiendo del nivel) si debajo de todos los dos hay un cero u otro dos, en cuyo caso bajamos la pieza una fila, en caso contrario no bajamos la fila y cambiamos los 2s por 1s y intentamos poner la siguiente pieza. Antes de sacar la pieza siguiente, comprobamos la matriz de estado por filas, si alguna fila está completa la ponemos a 0 y copiamos la fila superior, operación que repetiremos hasta que la fila superior no tenga ningún 1 o sea la última. Mientras, el movimiento de la pieza se haría de forma asíncrona mediante listeners o señales de teclado. Para comprobar si el jugador ha perdido comprobamos si alguna de las piezas de 2 quedó en la última fila.
Este es un ejemplo, debe haber otros muchos, muchos mejores y alguno peor. Aquí viene la primera pregunta de la entrega: ¿Se os ocurre otra implementación? ¿Habéis hecho un tetris por vosotros mismos y lo hicisteis de otra forma? Contadlo en los comentarios, tanto yo como los que lean este artículo lo agradecerán ;)
En cuanto a los juegos tipo columns, podríamos utilizar el mismo sistema con un número para cada tipo o color de pieza. A la hora de comprobar tendríamos que comprobar más combinaciones, ya que habría que comprobar por cada una de las tres piezas, si enlazan en horizontal, vertical o diagonal con suficientes piezas de su mismo tipo y así recursivamente para eliminar todo el posible encadenamiento…
Extras y conclusión: Hay un juego de este tipo que no puedo dejar de mencionar. Siempre he pensado que el tetris era toda una proeza ya que con la mecánica más simple consigue llegar a todo el mundo y enganchar muchísimo, y que no había juego en su campo que le hiciera sombra. Hasta que llegó el Zuma. A los que no lo conozcáis: ¡Cuidado! ¡Puede ser terriblemente adictivo! El Zuma me parece uno de los pocos juegos de esta categoría que ha sido capaz de innovar y de hacerle sombra al todopoderoso Tetris. Y ahora vienen otras preguntillas. Para los jugones, para tratar de hacerlos pensar un poco y para los developers que nos cuenten posibles implementaciones y nos instruyan con su saber ;)
¿Qué otros juegos de este estilo has jugado que te parezcan innovadores, originales o terriblemente adictivos? Yo he puesto de ejemplo el Zuma, pero puede que haya muchos más por ahí escondidos… ¿Sois capaces de pensar en otra mecánica de eliminar cuadritos-bolitas e ir sumando? ¿Hasta donde está el tetris enraizado en nuestro subsconciente? (;P) Y por último y en relación a la implementación: yo he puesto un ejemplo para los juegos de tipo matriz de bloques, pero ¿Cómo implementaríais un Zuma? ¿Cómo hacer que las bolas sigan la linea y se separen o se junten a distintas velocidades? Es como un poquito de física… ¿Se os ocurre una solución limpia y fácil? No me parece un problema trivial.
Como siempre os dejo un par de links:
Tetris en la wiki, historia y detalles de diseño y modo de juego.
Zuma - Si te gustan este tipo de juegos tienes que jugarlo.
ACTUALIZADO: En el foro de Stratos alguien aportó un link muy interesante:
Tetris AI sobre cómo implementar IAs para tetris, muy recomendado ;)





Bueno, a mi siempre me suelen gustar tus comentarios, este es largo como todos, pero ameno de leer, excepto eso de la matriz…con tu perdón me lo he saltado :P
No sé contestar a tus “deberes”, pero te diré que el tetis es muy adictivo, es la caña, y cuando acabas siempre quieres empezar de nuevo para ganarte a ti mismo :)
Espero que más gente diga juegos y eso, porque así aprenderé a clasificar estas cosas, que en este mundo estoy muy verde, pero así hay manera de aprender..
Un saludo
Comment by princess — 17 June, 2007 @ 23:59
Bueno, otro juego que llevó un poco más allá la mecánica del Tetris fue el Meteos, bastante más rápido que el Tetris y muy adictivo. Guardo un grato recuerdo también del Baku Baku Animal, por su mecánica, sus combos y su estética.
Un saludo.
Comment by Auron — 18 June, 2007 @ 10:17
Hola Auron, gracias por comentar. Yo jugué a la demo del baku baku en la Saturn y era divertido aunque un poco infantil los dibujitos, pero tenía muy buena pinta. El Meteos no lo conozco, buscaré por ahí… ;)
Comment by Juanmi — 18 June, 2007 @ 17:02
El Meteos, metí la pata al poner el enlace, puedes encontrar información en la Wikipedia (http://en.wikipedia.org/wiki/Meteos). Es uno de los mejores juegos de Nintendo DS; si tienes oportunidad, pruébalo.
Un saludo.
Comment by Auron — 19 June, 2007 @ 11:24
Ah! si, ese mola, lo he visto, pero no lo he jugado aun a ver si The_ibith me lo deja ver ;P…
Comment by Juanmi — 19 June, 2007 @ 17:00
el meteos como dice Auron está muy bien, por que con el lapiz le da mucha vidilla.
Yo creo que el tetris se implemente con matriz, como tu has hecho (vamos, yo solo sabría hacerlo así).
Hay otros juegos de ese estilo (yo los llamo pop-cap-game-flash, por una de la compañía) y te recomiendo shopmanía y choozle que están geniales, sobre todo el primero. La gracia de estos juegos es que “son tan monos” que ya tienen el 49% hecho :P
1Saludo
Comment by The_IBITH — 22 June, 2007 @ 12:44