martes, 15 de septiembre de 2009

"Ciclo de Vida de un Videojuego" por Kunashu



Para poder programar un videojuego se debe saber cómo es la estructura y ciclo de vida del mismo; esto es muy importante porque un videojuego no es como cualquier otro tipo de aplicación porque no es orientado a eventos.

Cuando uno aprende a programar empieza a desarrollar aplicaciones orientadas a eventos: esto significa que el programa hace nada, hasta que el usuario lo indica. Por ejemplo, cuando uno está usando una calculadora de Windows, ésta hace cálculos matemáticos siempre y cuando el usuario introduzca los números involucrados, escoja un símbolo aritmético y dé clic al botón de igual. Una vez que el usuario da clic al botón de igual, la aplicación ejecuta un algoritmo y muestra la respuesta en la pantalla. Este ejemplo demuestra que la aplicación de la calculadora no ejecuta una suma automática hasta que el usuario lo indica.

En cambio, un videojuego no puede hacer esto. Imagínate un juego de Mario Bross donde las tortugas no se mueven hasta que Mario se mueve, o un juego de Halo donde éste se para hasta que todos los jugadores han presionado algún botón cualquiera. Este tipo de juegos son muy aburridos. Normalmente en un videojuego siempre está ejecutando algo; puede que éste esté animando un monito, calculando la inteligencia artificial de otro, verificando colisiones, etc., y sin la necesidad de que el jugador haga una acción.

¿Cuál es el ciclo de vida de un juego?

El ciclo de vida de un videojuego pude ser muy largo o muy corto, esto depende de una sola condición: si el juego ya ha terminado o no.

Cuando uno gestiona que se ejecute un juego en una computadora, lo primero que pasa es que éste se inicialice, es decir, que se crea la ventana donde se va a desplegar el juego, se determina su tamaño y también se le informa a la tarjeta de video que se le van a empezar a hacer cálculos gráficos; ya que el juego ha inicializado la ventana, entonces éste puede iniciar con sus procesos. En el primer proceso se genera toda la información que se va a necesitar, esto puede incluir: los personajes, los niveles, la música y cualquier otro elemento que requiera el juego. Normalmente la información se obtiene de archivos ubicados en el disco duro.

Una vez que se tenga toda la información necesaria, el juego entra en un ciclo donde se hacen cuatro pasos:

1. Se lee información de entrada de juego.

¿A qué se refiere con: lee información de entrada al juego?

Se refiere a que en este estado del juego, se verifican las teclas que el jugador presionó. Si es un juego en línea entonces éste verifica la información que se halla mandado. Así el jugador pueda sentir que el juego está respondiendo de forma instantánea.

2. La lógica del juego

Después de haber leído la información de entrada, ésta se manipula junto con la lógica del juego. Por ejemplo, decir que el jugador elige mover su monito a la derecha de la pantalla, se lee la información del teclado, se actualiza la posición del monito, se verifica que éste no se traslape con una pared y si colisiona con un enemigo, el monito pierde una vida. Este ejemplo representa una pequeña porción de lo que abarca la lógica del juego.

3. Desplegar la información.

Es un paso sencillo dado a que todos los cálculos de posición, colisiones, etc., fueron calculados previamente. Aquí uno se encarga de dibujar el monito en la posición que se especificó, que se muestre la imagen correcta, entre otros. Hay que tomar en cuenta que aquí sólo se trabaja en desplegar imágenes sin la necesidad de hacer cálculos.

4. Condición de terminar.

Aquí se verifica si se quiere continuar o terminar el juego. Si se llega a las condiciones que determinan que se continúe el juego, se regresa a leer información de entrada; de lo contrario el juego se mueve al estado final: liberación de recursos.

Finalmente, se cuenta con un último estado aparte de los cuatro ya mencionados: Liberación de Recursos. Dentro de éste estado, se borra toda la información que se usó para ejecutar el videojuego. Esto incluye: borrar los mapas y los protagonistas, informarle a la tarjeta de video que ya no se va a usar, cerrar la ventana, etcétera. Como se puede ver, el ciclo de un videojuego no es muy complicado. Lo que hace un juego complejo es el contenido que se le quiere meter.

Kunashu

No hay comentarios: