domingo, 10 de mayo de 2009

Entrevista con Roberto S. Hernández. (II)

El programa da el “ADN” a un personaje de un videojuego: Roberto S. Hernández.

En el mundo de los videojuegos las consolas no son lo único que se perfeccionará en un futuro cercano sino también la forma de programar el software que utilizarán. Los desarrolladores, independientemente de las plataformas PC, Xbox 360, PS3 y Revolucion*, contarán con nuevas herramientas para ahorrar costos y tiempos. La cantidad de polígonos o formas geométricas para dibujar los personajes será más alta. Las alternativas mejorarán al grado de jugar “películas” en vez de videojuegos.

Las plataformas de videojuegos son dispositivos capaces de realizar una amplia gama de acciones. A decir de Roberto S. Hernández, licenciado en Ciencias Computacionales, no tienen “inteligencia” y hay que ordenarles a través de un lenguaje todo lo que tienen que hacer. Construir esa secuencia de instrucciones de manera lógica y estructurada es lo que se llama “programación”, la cual no se debe confundir con codificación, ya que ésta sólo es la acción de traducir el programa terminado al sistema binario que la máquina pueda comprender.

¿Qué es el lenguaje para establecer comunicación con la computadora?
El lenguaje de programación es análogo a un idioma natural (como por ejemplo, el español o inglés), y es la forma en que un programador se comunica con la computadora para poder indicarle qué hacer. Ahora bien, las máquinas solamente entienden en términos de números binarios (esto es 0 o 1, apagado o encendido), Es decir, Lenguaje Binario, o “Lenguaje maquinal”. El lenguaje de programación es sólo el conjunto de reglas que permiten codificar los programas. La traslación entre ese código y el lenguaje maquinal se realiza a través de un proceso llamado “compilación” que se realiza con un programa llamado “compilador” y que es específico del lenguaje utilizado. El más utilizado por los desarrolladores de videojuegos es el lenguaje C++ por su versatilidad.

¿Qué es un videojuego?
Es un programa de cómputo realizado gracias a un lenguaje y codificación. El código es la codificación de un algoritmo de un juego en un lenguaje de programación. Dentro de este código deben de estar incluidos todos los elementos que hacen el videojuego. La historia, las características de los personajes, las acciones a ejecutar, etcétera.

¿Cómo se relaciona el código de desarrollo con la acción del juego?
Al momento de concebir la idea de un videojuego, se debe de pensar en todos y cada uno de los caminos posibles que puede llegar a tomar el videojuego. De esta manera, en el código debe de estar correctamente programada cada una de estas opciones. Así, cuando la acción del videojuego te lleve a una de estas situaciones, el código sabrá que hacer y dará una respuesta satisfactoria que continúe con la acción del videojuego de manera correcta. Ahora bien, hay códigos intermedios que no son código maquinal, sino una aproximación a éste. Al momento de ejecutar esta aproximación se termina de compilar de acuerdo al sistema operativo o las características de la máquina que se use en ese momento.

En un juego se tienen gráficos, ambientes, pantallas, música ambiental, entre otros elementos. En el caso de dibujos supongo que previamente son diseñados y la música grabada en un estudio. Una vez que se cuenta con todo el material ¿qué es lo que sigue? Es decir, se sabe que todo se programa y se pasa a un código. ¿El texto del código ordena al programa dar las características a todos los elementos como si fuera una especie de “ADN”?, o ¿la música e imágenes se guardan en otro apartado para ser utilizados por el programa a la hora de jugar?
¡En efecto! Al decir que el programa prácticamente da el ADN a un personaje, es porque le da las características (propiedades) a un objeto, que harán que se comporte de cierta manera, pueda realizar ciertas acciones y a la vez responda de cierta forma a las condiciones del juego. Con respecto a los elementos que mencionas (que se llaman recursos) se puede hacer de varias formas. Si los recursos van dentro del mismo código del programa, se dice que son “Recursos Incrustados o Embebidos”. Estos recursos también se representan en forma de 0 o 1 pero no denotan instrucciones que puedan ser ejecutadas, sino más bien datos que el programa necesita para poder operar. La desventaja es que hacer cambios en estos recursos no se pueden realizar fácilmente. En cambio, cuando se usan “Recursos Externos” es muy fácil poder cambiar la apariencia de un personaje o la música ambiental del juego solamente cambiando un archivo. La mayoría de los videojuegos utiliza “Recursos Embebidos” porque son más rápidos para acceder. Pero hay ciertos tipos de juegos, como por ejemplo el Flight Simulator que permite personalizar el avión, las condiciones, escenarios, etcétera, cambiando o agregando archivos al programa.

¿Técnicamente como se va creando un personaje para un videojuego?
Aquí es donde la parte de programación orientada a objetos toma sentido. Porque el personaje es una entidad independiente (“objeto”). Tiene varias características (propiedades) como por ejemplo, color de traje, tamaño, velocidad, armas, etcétera. Puede hacer varias acciones (métodos) tales como correr, atacar, agacharse, volar, etcétera. Y a su vez responde con diferentes acciones (eventos) de acuerdo a la acción del juego: Qué hace cuando le falta energía, falta de armamentos, respuesta a un golpe, etcétera.

Son varias las categorías de videojuegos: estrategia, shooters, arcade, RPG, SideScrollers, simulación y escritorio. ¿En cuál encaja el género de peleas? ¿Podría haber otras categorías?
Puede haber más categorías, pero realmente son una combinación de las otras. El Mortal Kombat, por ejemplo, tiene elementos de otras categorías, tiene cierta parte de “estrategia” dado que todos los contrincantes tienen sus debilidades y fortalezas y debes pensar una forma de poder vencerlos. Es un juego de “tercera persona” porque tú ves completamente a tu personaje y aunque no necesariamente se usan disparos se usan golpes o poderes especiales, por lo que puede entrar en la categoría de “shooters”. (*) En ese entonces todavía no recibía el nombre definitivo de Wii.

2 comentarios:

  1. Uy, ese articulo si mal no recuerdo es una entrevista para el Sol de Mexico, como por el 2006. Ya ha pasado buen tiempo desde eso, de hecho ahora ya no estoy mas en Ladrillera Mecanizada, Ahora Laboro para FRISA Forgings desde 2007. Y si, me siguen gustando los video juegos.... ATTE RSHJ

    ResponderEliminar
  2. En efecto Roberto ese artículo lo hicimos juntos en 2006 y ahora aparece en este blog en tributo a la amistad y apoyo que me diste. Espero saber de nuevo de tu persona en alguna forma...

    ResponderEliminar