martes, 19 de diciembre de 2006

El ritmo

Una de las cosas que he comprobado a la hora de ir montando el juego (experimento, más bien) es la importancia del ritmo: la necesidad de marcar la velocidad a la que pasan los eventos.

En los videjouegos clásicos el ritmo suele ser rápido para evitar que las partidas se alarguen en exceso, aunque cada juego tiene su propio ritmo; en el Tetris, por ejemplo, va muy ligado a la dificultad creciente del juego: al principio las piezas caen lentamente, dejando tiempo para colocarlas adecuadamente, pero en poco tiempo el ritmo se acelera hasta volverse frenético. En los niveles más avanzados apenas vemos las piezas caer.



El ritmo es, por tanto, uno de los factores con el que se manipula el grado de dificultad: al ir avanzando niveles se puede ir reduciendo el intérvalo para colocar la ficha, aumentando el ritmo y la dificultad, ya que el jugador dispone de menos tiempo para buscar la mejor jugada y se puede equivocar más fácilmente.

Hay que compaginar la velocidad del juego a la velocidad de percepción del jugador; si por ejemplo, cuando desaparecen las fichas del tablero al juntar dos estrellas no inserto una pausa y la siguiente pieza aparece inmediatamente, la experiencia se resiente, porque no vemos (no recibimos) una gratificación por el éxito de la acción. Igual pasa cuando cambiamos de nivel, el usuario espera que le demos un respiro.

El ritmo se debe acompañar de sensaciones que lo potencien: musica y efectos visuales. La música, sobre todo, debe funcionar como un metrónomo de lo que pasa en el juego, puede ser relajante o excitante, pero siempre en sintonía con lo que está pasando.

Dentro de Adobe Flash tenemos dos maneras principales para marcar y controlar el ritmo: la velocidad de fotogramas y los intérvalos.

  • Con la velocidad de fotogramas (FPS) especificamos la velocidad de redibujo de el juego, por lo que de cara a las animaciones debemos tener en cuenta este factor; por ejemplo, yo utilizo eventos onEnterFrame para crear animaciones al vuelo en Actionscript, si la velocidad de la película es 12 FPS, este evento se producirá doce veces por segundo.

  • Los intérvalos (setInterval) se encargan de ejecutar una función cada cierto tiempo. Yo los utilizo para espaciar eventos y ajustar a la velocidad de percepción del jugador: aparición de una nueva ficha, colocación, redondeamiento, bonus, etc.


El objetivo es conseguir un ritmo de juego lo suficientemente rápido para capturar totalmente la atención del jugador pero sin agobiarlo con una dificultad excesiva.

viernes, 8 de diciembre de 2006

Proyecto 0.3



Concepto del juego (80%)

Montada (a nivel de código) una estructura de niveles con variables independientes (colores, dificultad, fondo, etc).

Realización (60%)

Corregido el "flood fill", ahora funciona correctamente.

Añadido el control con el ratón, ahora el cursor se puede manejar indistintamente con las flechas o con el ratón. Eso facilita el control con una PSP (aunque, por ahora, funciona muy lento para ser jugable).

Modificado el aspecto visual, ahora las uniones entre las piezas se ven más claras porque se redondean las esquinas; para ello he dividido cada pieza en cuatro clips (uno por esquina) con diferentes estados en función de las casillas circundantes.

Fondo con imagen (para la ocasión he puesto un motivo navideño :)

Modificada la animación que mostraba el tiempo restante para colocar la pieza; en vez de un zoom de la siguiente pieza hay una pequeña animación en las líneas interiores del cursor.

Música: muy preliminar, pero tenía curiosidad por ver como quedaba; descarga una lista de reproducción desde ccMixter y pone las urls de los mp3 en una matriz para reproducirlos.

Advertencia: los colores y la mayor parte de la presentación del juego es provisional y cambiará cuando toda la mecánica del juego esté bien definida.

domingo, 3 de diciembre de 2006

Arkanoid

Flyer del juegoAunque he escogido Arkanoid como ejemplo más conocido, el concepto original del genero "rompeladrillos" se remonta al Breakout de Atari, a principios de los 70, que a su vez era una evolución del primer videojuego de la historia, el Pong. Manejamos una "pala" (una barra deslizante) en la zona inferior de la pantalla, se desliza sobre el eje horizontal, y tenemos el objetivo de romper unos "ladrillos" utilizando la pala para hacer rebotar una bola, siempre impidiendo que se escape por la parte inferior (lo que nos haría perder una vida).

Taito cogió el concepto original y lo refinó para lanzar en 1986 Arkanoid, un gran éxito que tuvo una secuela al año siguiente, Arkanoid 2, the Revenge of Doh. Respecto al Breakout se añadían las siguientes novedades:
  • Estructura de niveles, con patrones diferenciados y dificultad creciente.
  • Enemigos, pequeños "aliens" que revolotean por la pantalla modificando la trayectoria de la bola.
  • Bonus, al eliminar algunos ladrillos caían bonificaciones que proporcionaban alguna ventajas, como longitud extra de la pala, enlentecer la bola, "pegar" la bola a la pala, bolas múltiples o un laser, el más deseado, con el que podíamos disparar.
  • Una historia (poco creible) sobre una invasión extraterrestre y una nave legendaria, la Vaus.
  • Un enemigo final, en el nivel 33.

DialArkanoid seguía utilizando un método de control indispensable en estos juegos, un dial, un botón giratorio que nos permitía un control exacto de la pala y que se podía simular con otros controles analógicos (como un ratón) pero no con una joystick o pad digital.

Además de las dos secuelas de la propia Taito, la influencia de Arkanoid es tan grande que no hay plataforma de juegos que no cuente con una o varias versiones de este rompeladrillos.

Las claves:
  • Concepto de juego muy sencillo, impedir que la bola salga de la pantalla dirigiéndola para romper los ladrillos.
  • Requerimientos sencillos, Breakout funcionaba sin transistores.
  • Dificultad creciente (aunque es difícil de entrada para los jugadores poco experimentados).
  • Juego arcade, se requieren habilidad y reflejos.
  • Estructura de niveles con patrones de ladrillos diferenciados para evitar la monotonía.
  • Muy dependiente del sistema de control (dial).
Para saber más:

domingo, 26 de noviembre de 2006

Proyecto 0.2



Concepto del juego (75%)

Preparado para la posibilidad de añadir más colores.

Realización (40%)

Menú básico para iniciar la partida (y para activar los controles).

Incorporada rutina para limpiar el tablero cuando 2 estrellas o más se comunican. Está basado en el algoritmo 4-Way Flood Fill, que debido a las pocas casillas del tablero funciona bien a pesar de la recursividad; para que funcione utilizo 3 matrices bidimensionales a modo de sistemas de coordenadas: tablero, que guarda los colores situados en el tablero, stars, que guarda el color de las estrellas situadas en el tablero y flood, una matriz temporal usada por la rutina del "Flood Fill" para comprobar si una zona de un único color tiene más de dos estrellas. El funcionamiento es el siguiente:
  • Cuando se sitúa una cruz en el tablero se oculta el cursor y se lanza la rutina floodFill(color de la estrella) por cada estrella que haya en la matriz stars.
  • Si al lanzar floodFill() la casilla en flood ya está pintada es que ya hay una estrella en la zona; hacemos el floodFill() con un valor específico para poder eliminar todas las casillas posteriormente.
  • Reiniciamos la matriz flood y limpiamos tablero y stars de las casillas eliminadas
  • Si se han eliminado casillas mostramos la puntuación (casillas eliminadas en la jugada).
  • Lanzamos nueva cruz.
Funciona bastante bien pero en algunos casos se duplica el lanzamiento de nueva cruz, por lo que falla algunas veces.

Advertencia: los colores y la mayor parte de la presentación del juego es provisional y cambiará cuando toda la mecánica del juego esté bien definida.

martes, 21 de noviembre de 2006

El reto

El reto es el objetivo a conseguir en el juego, el ingrediente más importante que empuja al jugador a intentarlo una y otra vez. Finalizar el juego es el reto prioritario, pero no todos los juegos tienen un final, o el final es inalcanzable debido a la dificultad, por lo que en todos los juegos interviene el reto del jugador: conseguir avanzar y mejorar la partida anterior, para ello el juego ofrece unos marcadores de progreso:

  • Niveles. Aunque no todos los juegos los utilizan es un recurso muy utilizado para estructurar y proporcionar retos secundarios al jugador: los "final bosses", cambios de escenarios, nuevos puzzles, etc.
  • Puntuación. La puntuación conseguida permite observar con facilidad nuestro progreso, e incluso compararlo con el de otros jugadores. Es habitual que el juego proporcione mecanismos para mejorar la puntuación (bonus, multiplicadores, secretos, etc.).
  • Tiempo. La duración de la partida, cuando se juega a cambio de una moneda, es un factor básico que tienen en cuenta muchos arcades clásicos. La ecuación entre la dificultad del juego y la duración de la partida ha sido muy utilizado por los empresarios de tragaperras, que podían balancear la dificultad para obtener un rendimiento óptimo de las máquinas. En juegos donde no hay niveles o un final definido durar lo máximo posible es el reto.
Sin reto no hay juego, pero nuestra experiencia nos dice que más importante que el reto es el camino que seguimos para conseguirlo; en otras palabras, disfrutar de una buena experiencia de juego es más importante que conseguir el objetivo propuesto.

domingo, 19 de noviembre de 2006

Proyecto 0.1



Concepto del juego (70%)

Debemos colocar las piezas (cruces, signos +) sobre el tablero de juego de manera que comuniquemos zonas del mismo color; cuando en la misma zona conviven dos estrellas toda la zona desaparece. El juego termina cuando se acaba el tiempo de que disponemos para colocar la pieza en el tablero.

Las piezas se componen de cinco cuadrados de dos posibles colores y para poder colocar la pieza el espacio debe estar libre o ser del mismo color que el cuadrado que se superpone; si los cinco cuadrados del tablero coinciden con los de la pieza aparece una estrella.

Realización (20%)

Definido el formato de flash: 480 x 272 puntos (aspecto 16:9, misma resolución que una PSP ;)) y 12 FPS. La cuadrícula base del tablero esta formada por unidades de 34x34 puntos (14 de ancho por 8 de alto, sobran 4 puntos del ancho que utilizaré para mostrar un contador de tiempo restante.

Creadas los objetos y variables más basicos, así como los clips de las 6 piezas base (que con cuatro posibles ángulos de rotación forman 24 combinaciones).

Montados los eventos de teclado para los controles del juego, por ahora son las flechas para manejar el cursor en las cuatro direcciones básicas, el espacio para depositar la pieza en el tablero y "escape" para salir de la partida.

La piezas aparecen con un zoom lento que permite ver el tablero; cuando el zoom acaba o el usuario presiona Espacio se lanza la función que deposita las piezas sobre el tablero según unas reglas:
  • Si la casilla es gris -> K.O., fin de la partida
  • Si la casilla está vacía o es del mismo color -> bien, se pinta con el color de la pieza
  • Si la casilla es de otro color -> mal, se pinta de color gris
Esta comprobación se hace son las cinco piezas que lleva el cursor (la cruz).

Advertencia: los colores y la mayor parte de la presentación del juego es provisional y cambiará cuando toda la mecánica del juego esté bien definida.

jueves, 9 de noviembre de 2006

Pipe Mania

Portada de la cajaTetris inauguró el género de "encajar piezas contra-reloj", pero Pipe Mania demostró que la idea se podia desarrollar y concebir un juego totalmente original e igual de adictivo y exitoso.

Creado para el Commodore Amiga en 1989 por Assembly Line, uno de los equipos de desarrollo más punteros e innovadores de entonces (E-Motion y Vaxine son otras dos creaciones suyas) tuvo un gran éxito y fue convertido a la mayoría de plataformas de 8 y 16 bits del momento, e incluso se realizó una versión para máquinas recreativas. Pipe Mania fue editado por la británica Empire, y en Estados Unidos por LucasArts con el nombre de Pipe Dream.

Captura del juego (versión DOS)Propone una fórmula de juego sencilla e innovadora: tenemos un pequeño tiempo para montar un circuito con tuberías antes de que el líquido empiece a fluir por ella; el objetivo es que el líquido pase por un número mínimo de piezas antes de que llegue a algún obstáculo, por lo que debemos colocar las piezas con pericia y utilizar algunas ayudas que hay en el área de juego, como los depósitos que retienen durante unos segundos el fluido. Las piezas se nos ofrecen aleatoriamente, pero podemos ver las cinco siguientes, por lo que la estrategia es fundamental. A medida que avanza el juego aparecen nuevos obstáculos y dificultades.

Pipe Mania recoge la idea principal de un antiguo arcade, Loco-Motion (Konami, 1982), donde el objetivo era recoger con una locomotora unos pasajeros deslizando las vías a modo de "jigsaw"; Pipe Mania sustituye la mecánica de las piezas deslizantes por las piezas aleatorias a lo Tetris, y con una dificultad bien ajustada ya tenemos la fórmula del éxito.

Las claves:
  • Planteamiento sencillo tipo puzzle.
  • Escasos requerimientos de hardware.
  • Tensión, una vez que el liquido empieza a fluir debemos actuar con rapidez.
  • Estructura de niveles que va introduciendo novedades y cambios estéticos.
  • Aleatoriedad, las fichas no siguen patrones predefinidos, al igual que los elementos del área de juego.
Para saber más:

viernes, 3 de noviembre de 2006

Snake

Snake es un claro ejemplo de videojuego clásico relanzado por su incorporación a una nueva plataforma; si la popularidad de Tetris se debe a la Gameboy, la de Snake a su inclusión en la mayoría de los teléfonos móviles de Nokia.

HustleEl origen de Snake se encuentra en el arcade Blockade (1976), el primer juego de Gremlin Industries, donde dos jugadores competían en cerrar el paso al contrario. Uno de sus sucesores, Hustle (1977), ya muestra una mecánica más similar al juego de Snake. El juego fue versionado para los ordenadores personales de aquella época, como el Vic-20, y con diferentes nombres todas las plataformas han dispuesto de una versión.

Como curiosidad, la famosa escena de la motos de luz en la pélicula Tron (Disney, 1982) muestra una clara influencia de este juego.

El protagonista del juego es, obviamente, una serpiente, que avanza continuamente y cuya trayectoria podemos desviar mediante los cursores básicos (arriba, abajo, izquierda, derecha) con el objetivo de ir comiendo unos puntos que aparecen aleatoriamente en el área de juego; cada vez que comemos uno se añade un tramo a la longitud de la serpiente, con lo que la dificultad se incrementa, ya que si tocamos las paredes o el mismo cuerpo de la serpiente con la cabeza, se acaba el juego. En versiones para varios jugadores el reto se complica con la competencia, ya que sólo puede haber un ganador.

Las claves:
  • Mecánica muy sencilla, el objetivo es muy claro.
  • Controles muy básicos.
  • Empieza muy fácil pero la dificultad aumenta rápidamente.
  • Las partidas son muy breves.
  • Aleatoriedad, nunca sabes dónde aparecerán los puntos.
  • Movimiento constante, requiere atención continua.
  • Escasos requerimientos de hardware.
Prueba el juego con esta versión 3D (necesita el player de Shockwave)

Para saber más:

domingo, 29 de octubre de 2006

Definiendo un juego "casual"

casual ['kæ ʒjʊəl] adjetivo
1 (encuentro) fortuito,-a
2 (visita) ocasional
3 (persona) despreocupado,-a, tranquilo,-a
4 (charla) informal
5 (trabajo) eventual
Agr casual worker, jornalero,-a
6 (ropa) (de) sport, informal

Fuente: WordReference.com

Así pues, nada de utilizar el término inglés "casual", que en castellano no tiene nada que ver (a no ser que nos refiramos a un juego que encontramos "de casualidad" ;)) Yo utilizaré, a partir de ahora, juego ocasional o directamente casual game.

En el wiki de los "casual games" del IGDA (una comunidad internacional de desarrolladores) encontramos esta definición:

Games that generally involve less complicated game controls and overall complexity in terms of gameplay or investment required to get through game.

Traducido sería "Juegos que en general requieren menos controles para utilizarse, la mecánica es fácil de entender y requieren menos esfuerzo para avanzar en el desarrollo del mismo". Aunque es una definición algo básica que no engloba todos los juegos que denominamos generalmente como ocasionales, nos puede servir de punto de partida. Otra definición, desde el punto de vista de la industria, apunta estas características:
  • Se aprende a jugar en menos de un minuto.
  • Comprensivo con el jugador (se le guía en vez de liquidarlo a cada momento).
  • Partidas breves.
  • Muy "rejugable" (siempre apetece volver a jugar).
  • Inicio accesible y rápido.
  • Barato.
Aunque la expansión de Internet ha favorecido el desarrollo de los "casual games", este tipo de juegos han existido desde siempre, seguramente porque las limitaciones del hardware no permitían otro tipo de juegos; los desarrolladores debían potenciar los factores más intrínsecos del juego (diversión, reto, originalidad) respecto a los que dependían directamente del soporte (con recursos muy escasos para la presentación y computación del juego). La utilización de la web (el navegador, para ser más precisos) y los teléfono móviles como plataformas para los juegos han permitido la expansión del juego casual, generando negocio y despertando el interés de la industria.

El juego casual surge de la limitación: la de los soportes y la de disponibilidad de los usuarios. Este segundo factor creo que es muy importante para entender la demanda de este tipo de juegos; según un reciente estudio de PopCap Games, casi el 50% de sus usuarios tienen más de 50 años, y la motivación principal para jugar es "liberarse del estrés". La falta de tiempo libre y la presión que vivimos no nos deja mucho espacio para jugar, apenas cinco minutos para poder desconectar y seguir trabajando.

viernes, 27 de octubre de 2006

Tetris

Imagen promocional del juego¿Quién no conoce el Tetris? ¿Quién no ha jugado alguna vez? Es uno de los videojuegos más importantes de la historia, tanto por su éxito comercial como por su influencia; cientos de videojuegos han seguido los cánones de este clásico con mayor o menor fortuna, y sin duda me va a servir para extraer alguna de las claves para conseguir un juego casual de éxito. Pero antes, un poco de historia.

Fue creado en 1985 por Alexey Pazhitnov mientras trabajaba en la Academia de la Ciencia de Moscú, inspirado en un puzzle, el Pentaminó, compuesto por pentaminos, piezas geométricas de cinco bloques; cuando fue portado a MS-DOS por Vadim Gerasimov el éxito fue inmediato, captando el interés de los grandes estudios. Todas las plataformas de la época tienen una versión, aunque la que más a contribuido a su éxito ha sido la de Game Boy, de Nintendo, quien actualmente tiene la licencia oficial del juego.

La virtud de Alexey fue simplificar el componente puzzle, cambiando los pentaminos por tetraminos, y añadir un componente arcade, con la presión de una dificultad creciente.

Tetraminos

Los tetraminos van apareciendo aleatoriamente en la parte superior de la pantalla y se deslizan hacia abajo hasta que colisionan con otras piezas; si el apilamiento llega hasta la parte superior finaliza el juego, por lo que debemos mover y girar los tetraminos para encajarlos formando líneas horizontales que desaparecen. Esta mecánica es todo el éxito del juego, ya que la programación subyacente es muy básica, desde una calculadora hasta la última consola del mercado tienen una versión del juego.

A esta mecánica básica se le han ido añadiendo muchas variaciones, según la versión del juego, como niveles, obstáculos, varios jugadores simultáneos, bonus, etc., aunque sin modificar la esencia original.

Las claves:
  • Mecánica muy sencilla, rápidamente se comprenden las reglas del juego.
  • Dificultad creciente que permite a los jugadores noveles introducirse en el juego e ir avanzando progresivamente.
  • Escasos requerimientos de hardware, se puede jugar en cualquier plataforma.
  • Reto sin fin, los jugadores más experimentados pueden seguir demostrando su habilidad.
  • Aleatoriedad, cada partida es diferente, no hay patrones predefinidos.
  • Bonificaciones, nuestra habilidad al eliminar varias líneas a la vez proporciona más puntos.
  • Base matemática, que de alguna manera nos fascina y conecta con nuestro intelecto.
Puedes probar el juego original, que funciona perfecto en los Windows actuales.

Para saber más:

jueves, 26 de octubre de 2006

Presentación

Hola, mi nombre es Edu y este blog forma parte de mi Trabajo Final de Carrera en el Graduado Multimedia, dentro del área de “Desarrollo de juegos y aplicaciones multimedia”.

Los juegos casuales se están convirtiendo en un fenómeno muy interesante en Internet, ya que este medio es idóneo para su desarrollo y difusión. La característica principal del juego casual es su inmediatez: permite disfrutar de la experiencia del juego de una manera rápida y obtener una gratificación instantánea. Internet y las tecnologías asociadas (flash, java, shockwave, etc.) permiten al jugador librarse de todos los prolegómenos (comprar, descargar, instalar, problemas de hardware, etc.) y acceder directamente a la experiencia del juego. Esto me recuerda los viejos arcades que a cambio de una moneda podías jugar una partida; si comparamos con los juegos casuales comparten muchas características, por lo que mi propuesta se basa en estudiar las claves de estos juegos de éxito y aplicarlas en la creación de una propuesta nueva, un juego en flash que sirva de recipiente de los conceptos e ideas que vayan saliendo del estudio.

El objetivo del trabajo no es el juego en sí, si no estudiar los videojuegos para extraer conclusiones que puedan servir en el futuro; sería la creación de un laboratorio/mirador donde investigar la “esencia” de los videojuegos.

En este blog iré poniendo los resultados de mis estudios, espero que pueda ser interesante para mucha gente.