18 de junio de 2007
Chocolate Castle fue uno de los juegos elegidos en el grupo escogido por la revista Game Tunnel en mayo pasado, quedando de primero entre las calificaciones. Chocolate Castle es un juego de puzzles con una mecánica bien particular: existen 4 seres en una habitación, y cada uno come un tipo distinto de chocolate (desde el más oscuro hasta el blanco). Dentro de esta misma habitación están los bloques de chocolate, y uno arrastra tanto a los seres como a los bloques, de tal manera que la habitación quede limpia de chocolate. Ahora, cuando uno arrastra un ser hasta un bloque de chocolate, él se come ese y todos los que lo rodean y luego desaparece y, por otra parte, cuando uno pega un bloque de chocolate a otro de su mismo tipo, no hay manera de separarlos después.
¿Podrás reorganizar el chocolate para que cada uno pueda comer todo?
Quizás sea mucho texto para este blog, pero lo cierto es que las reglas son muy intuitivas y se entienden desde el primer puzzle. El demo incluye los 4 primeros niveles de cada dificultad, y sí requiere un buen esfuerzo mental organizar las cosas para que los benditos animalejos coman todo el chocolate, aún en el nivel fácil. Lamentablemente, es muy poco para disfrutar el juego en su totalidad, por lo que la recomendación es comprarlo si te gustan los puzzles, pues de verdad el nivel de reto que ofrece es muy bueno. El juego cuesta 19.95$ y se puede comprar desde su página oficial. Disponible tanto para Mac como para Windows.
15 de junio de 2007
18 palestinos muertos y 40 heridos por fuego de tanque israelí

Aunque la noticia es completamente ficticia, esta foto y todas las fotos y vídeos que componen este juego son reales, sacadas de fuentes de noticias. Ernest Adams, de quien ya habíamos escrito anteriormente, revisó y recomendó Peacemaker en un artículo de Gamasutra donde describe muy bien el mecanismo del juego para otros diseñadores, tratando el tema de los juegos asimétricos.
PeaceMaker es un juego fundamentalmente asimétrico: escoger el papel de Presidente Palestino te obliga a tomar decisiones distintas a las que tomarías al encarnar al Primer Ministro Israelí, aunque el objetivo es el mismo para ambos bandos: felicidad y prosperidad para sus respectivos pueblos. Cuando juegas para un bando, debes tomar tus decisiones no sólo en función de tu pueblo y el contrario, sino también de los extremistas, la comunidad internacional y la comunidad árabe.

Ya la cosa suena a un gran reto. La partida se divide en una cantidad de turnos, y en cada turno se debe tomar una acción en base a las ocurrencias mostradas en el mapa que ocupa la gran parte de la pantalla. Estas acciones pueden ser de naturaleza militar, política, de negociación, o de mejoramiento de la calidad de vida de tus ciudadanos. Cada acción al final del turno afectará la opinión que cada grupo tenga de ti, dependiendo de cómo interprete esa acción. La condición para ganar el juego es poder apuntar la mayor cantidad de puntos en Percepción Nacional (calculado en base a cómo te perciben tu pueblo el del contrario) y la Percepción Mundial (en base a la comunidad árabe, la ONU y Estados Unidos).
El mecanismo del juego es el resultado de una tesis del Carnegie-Mellon, por lo que puedo suponer que es una idea que lleva bastante tiempo madurándose. El juego viene como una demo que incluye tutorial y un juego por 3 turnos (es decir, casi nada), y el juego completo por 19.95 USD. Pueden bajar el demo a través de la página de ImpactGames, la desarrolladora. Es bastante pesado, eso sí. Pero de verdad el juego tiene apariencia de estar bien balanceado. Disponible para Windows y para Mac.
15 de junio de 2007
Para que vean cómo somos los seres humanos de prejuiciosos. Vean cómo los marcianos de Space Invaders tienen marcianitos que van a la escuela y la universidad, para luego ser reclutados para luchar en una guerra estúpida. ;-) Relájense y disfruten.
Update: He aquí la dirección del video. Al parecer el plugin de Youtube para WordPress tiene problemas con la dirección de este video en específico (Convierte los dos guiones – en uno solo -). Cuando lo resuelva volveré a poner el video.
Vía Microsiervos.
13 de junio de 2007

La revisión 2 de CuteGodChigüire ya toma la forma de un programa interactivo. Posee un selector que sigue al mouse. Con dicho selector, puedo levantar bloques de terreno haciendo click sobre uno y depositándolos haciendo click sobre otro lugar. Esto es, básicamente, el mecanismo principal del juego. Quedaría comenzar a implementar las cosas que lo hacen un juego, como la detección de patrones, las personas que pasean, el movimiento de scroll para tener un mundo más grande.
Implementación del cursor
El trabajo principal en esta revisión fue implementar el selector que sigue al mouse. Para esto se implementaron 3 métodos en la clase World: setSelector, getMouseIntersect, y getIntersectRectangle. El primer método no hace más que establecer la posición del selector en las coordenadas del arreglo del terreno. El segundo método es el más poderoso: dada la posición del mouse con respecto al mapa retorna las coordenadas de arreglo del terreno correspondiente. Recordemos que la ventana principal tiene una superficie (representada por la clase WorldScrollView) y es en esta superficie donde se dibuja el mapa con un desplazamiento dado para hacer el scroll. Esto nos obliga a hacer dos cambios de sistemas de coordenadas para poder llegar al sistema que utiliza getMouseIntersect.
La detección del espacio bajo el cursor se realiza detectando la columna sobre la que está parado el selector (con una simple división). Luego se toma esa misma columna y para cada espacio en esa columna se toma el rectángulo que abarca todos los bloques de terreno de ese espacio con la función getIntersectRectangle. Finalmente se establece cual rectángulo está más cerca del cursor y se retornan las coordenadas de su espacio correspondiente. Se establecieron también los casos para cuando el mouse está fuera de la zona del mapa.
Acción de la mano
Luego de hacer esa parte, que dió bastante trabajo para lo poco escrito, procedí a aprender cómo funciona el modelo de eventos de Pygame, y es realmente sencillo. Una cola recoge los eventos que van lanzando los dispositivos como el mouse, el teclado o el joystick (si lo activas), y uno debe escribir un código que pase por esa cola para ir procesando cada evento. Sólo quedaba hacer una función en World que quite el bloque de terreno que esté bajo el selector y guardarlo en éste, y que deposite el bloque si el selector ya tiene uno tomado.
Conclusión
A partir de ahora queda hacer la detección de patrones para tener el mecanismo básico de juego. Sin embargo, quisiera apartar un tiempo para investigar dos cosas. La primera de ellas es trabajar con Surfarray, una clase de Pygame. Esta clase me permite acceder a los pixeles de una imagen, con lo que puedo hacer cosas muy poderosas, como modificar colores, niveles, saturación, brillo, contraste a través de técnicas totalmente conocidas. Específicamente, Surfarray devuelve los pixeles como matrices, el tipo de datos perfecto para hacer multiplicaciones de matrices, que es el fundamento de todos los cambios que les mencioné anteriormente. Escribiré más sobre eso en la próxima revisión.
La segunda de las cosas que quiero investigar es sobre las interpolaciones. En Actionscript existe una clase muy útil llamada Tween. Esta clase me permite modificar propiedades de un objeto en el tiempo con transiciones de todo tipo (suaves, lineales, fuertes, etc.). Esto permite hacer movimientos suaves de un objeto, o hacer fades con muy poco código. Creo que esto es algo que se puede implementar en Python muy fácilmente, y estoy trabajando en ello.
Mientras tanto, los dejo con el código fuente descargable en Python de esta revisión. Prometo buscar para próximas revisiones la manera de lanzar también un ejecutable para Windows.
Archivos
13 de junio de 2007
Ernest Adams es un diseñador de juegos desde hace mucho tiempo. Básicamente, si jugaste juegos de Bullfrog, entonces has jugado un juego diseñado por este señor. En este artículo de Gamasutra, titulado Why Action Games Suck (And What To Do About It) (Por qué los juegos de acción apestan, y qué hacer con ello), forma parte de la excelente columna Designer’s Notebook de su autoría, y habla de cómo partes de los juegos de acción aparecen en géneros que no deberían aparecer, y por su naturaleza atentan contra la usabilidad de un juego. Esto hace a un juego artificialmente difícil, con la consecuente frustración del jugador, y el posterior abandono del juego. Finaliza con el análisis del diseño de un juego para cuadraplégicos que realizó para un concurso.
Les recomiendo tanto ese artículo como la página de Ernest Adams, Designer’s Notebook. Contiene muchísima información útil para el diseño de juegos, y es parada obligada si quieres aprender sobre esta disciplina.