martes, 24 de marzo de 2009

Videojuegos en la educación superior chilena.

En los últimos cinco años, las instituciones de educación superior chilenas han empezado tímidamente a incorporar en sus mallas curriculares algunos cursos y talleres vinculados al mundo de los videojuegos. El objetivo ha sido proveer a los estudiantes las herramientas y conocimientos que les permitan diseñar y crear aplicaciones de carácter lúdico, las que pueden ser utilizadas como poderosas herramientas de apoyo al aprendizaje, o simplemente con el objetivo de entretener a los usuarios finales.

Una de las iniciativas más conocidas en el ambiente académico es el curso "Creación de Videojuegos", el cual es dictado una vez al año en la Escuela de Ingeniería de la Universidad Católica por el Prof. Alejandro Woywood. En este curso se pretende que los alumnos puedan conocer los aspectos esenciales en el desarrollo de un videojuego, tales como la elaboración del diseño, la programación, la concepción del arte y los tópicos relativos a la gestión de un proyecto de esta índole. La página oficial del curso contiene además la presentación de algunos trabajos realizados por estudiantes en años anteriores, los cuales pueden ser vistos en el siguiente link: http://www2.ing.puc.cl/~iic3686/juegos2006-1.html

Por su parte, el Departamento de Ciencias de la Computación de la Universidad de Chile posee el curso "Taller de Juegos Multiusuario", el cual es dictado por el Prof. Luis Guerrero. Los contenidos de estudio de este taller abordan el ámbito de los Sistemas y Juegos Colaborativos, el Aprendizaje Colaborativo Asistido por Computador (CSCL), la Interacción Humano-Computador en entornos colaborativos, y el Aprendizaje Basado en Juegos.

Junto a esto, existe el curso "Diseño y Desarrollo de Videojuegos", dictado por el Prof. Jaime Sánchez. En él se estudia el ámbito de los "Epistemic Games", los cuales se definen como juegos de computador que permiten a los participantes aprender a pensar como algún tipo de profesional (ej: ingeniero, arquitecto, periodista, etc.). El objetivo de estos juegos es que los estudiantes puedan desarrollar una serie de habilidades y competencias que les permita desenvolverse adecuadamente en un dominio de estudio.

Es de esperar que en Chile sigan surgiendo nuevas iniciativas académicas que permitan el estudio formal de los videojuegos, para así incentivar y mejorar la formación de los profesionales de esta industria en el país. Por lo pronto podemos ver que los videojuegos sí han tenido repercusiones en el mundo académico, y su incorporación como tema de estudios en las instituciones de educación superior ya es una realidad.

martes, 3 de marzo de 2009

Música en los videojuegos: conversación con Adam Gilmore.

Quizás algunos nostálgicos de la vieja escuela recuerden con cariño la "banda sonora" de algunos videojuegos clásicos de la época de los 8 bits. Cómo olvidar aquellas excelentes composiciones realizadas para juegos de computador Atari 800xl y Commodore 64, tales como las canciones de "World Karate Championship", "Boulderdash", "Draconus", "Zybex" y tantas otras. Justamente estos últimos dos videojuegos tienen un denominador común: el gran músico Adam Gilmore.

Adam Gilmore es un compositor inglés que creó piezas musicales para varios juegos durante la década de los 80 y 90, y plasmó su original estilo utilizando los chips de sonido SID y Pokey de aquella época, los cuales contaban con 3 y 4 canales de sonido respectivamente.

Allá por el año 2000 me animé a investigar cómo Adam había podido realizar sus composiciones en aquellas plataformas de 8 bits, por lo que decidí buscarlo a través de la red. Finalmente pude encontrar su dirección de e-mail (hace 9 años era bastante más difícil localizar el e-mail de alguien :) , y le envié un correo con algunas preguntas de mi interés, las cuales se las presento a continuación junto a las respuestas que él me dio:

____________________________
Date: Fri, 03 Mar 2000 04:08:19 PST
From: Adam Gilmore
Subject: Re: Hi!

hi milko,

sorry it's taken me so long to get back to you - i've been very busy developing web sites :)
yeah - the atari stuff was really good to work on - i used to get really good reviews for my atari work as there wasn't many people composing on it. Rob Hubbard's work got me interested in the Atari as it had excellent bass sounds (i'm a bass player)

Here are the answers to your questions...

Q) How did you create the music?

A) I wrote my own player on the C64 (with a lot of help from Jason Whittaker) in 6502 assembler using OPTASM. The music data itself was coded directly into the program using hexadecimal (which was fun:)) - i got quite fast at this in the end. I wrote the music using various keyboards (Casio CZ101 / Kawai K1 / Yamaha RX17 drum machine) then converted it to work on the computer. I had a MIDI sequencer on the C64 (i can't remember it's name tho').I converted my C64 player to run on the Atari (which was quite straightforward) as they both run on a 6502 processor.

Q) Did you work with 'Brian Jobling, Michael Owens and Kevin Franklin' at the design of 'Zybex'?

A) I didn't design it but i did quite a lot of play testing whilst it was in development. I was good friends with the guys at Zeppelin games. I don't keep in touch with them anymore, which is a pity.

Q) do you have a web site?

A) No - but http://www.c64.org/ have a lot of my C64 music on it. I've got all the old 5 1/4 inch disks that i've got to send to Adam L. I keep forgetting to send them and i think he's given up hassling me :)

Anyway, thanks for the interest in my music.

Speak to you soon,
Adam
____________________________

De lo que estamos seguros es que la música de Adam Gilmore y de otros grandes, tales como Rob Hubbard y Ben Daglish, siempre será recordada por toda una generación de videojugadores.

miércoles, 18 de febrero de 2009

Programación de videojuegos: patrones de diseño.

En el ámbito de las aplicaciones empresariales es muy común encontrar sistemas computacionales que han sido desarrollados considerando el uso de patrones de diseño. En particular, en el mundo de las aplicaciones J2EE existen los patrones de orientación a objetos y de la definición Core J2EE de Sun Microsystems, tales como los patrones Singleton, Data Access Object (DAO), etc., cuyo objetivo es entregar un conjunto de buenas prácticas y soluciones a problemas comunes que beneficien a la arquitectura, diseño y programación de sistemas complejos.

Tomando en cuenta que el desarrollo de un videojuego puede llegar a ser un proyecto de grandes dimensiones, cabe preguntarse qué tipos de estándares, recomendaciones y/o buenas prácticas pueden ser utilizadas para potenciar su desarrollo.

Un patrón de arquitectura clásico que puede ser utilizado en la creación de un videojuego corresponde al Modelo-Vista-Controlador (MVC), el cual postula realizar una separación entre la zona que posee los datos de una aplicación, la zona que considera la visualización de los datos, y la zona que permite contener la lógica de control de estos datos.

Para el caso de un videojuego, el Modelo puede estar compuesto por objetos que mantienen el estado del mundo y de los personajes que participan en el juego (ej: llevan el control de la energía de los jugadores, la cantidad de municiones de cada uno, etc.); la Vista puede estar compuesta por objetos que manejan y despliegan las animaciones y sonidos de los personajes del juegos, los cuales hacen uso de los objetos del Modelo para observar su estado y determinar qué es lo que se debe desplegar (ej: se despliega una animación de un personaje feliz cuando su energía está al máximo); y por último el Controlador puede estar compuesto por objetos que responden a los eventos enviados por el usuario del juego, tales como los movimientos que se realizan a través de un joystick/teclado/mouse, los cuales invocan cambios en el Modelo y probablemente también en la Vista (ej: el Controlador recibe una orden del usuario que le indica que el personaje debe saltar, por lo que interactúa con el Modelo para ver si es posible realizar el salto según las condiciones del juego en ese momento).

Un muy buen artículo sobre el uso del patrón MVC aplicado en un videojuego comercial puede ser visto en el sitio de Gamasutra, en el cual se ejemplifica su uso mediante el modelamiento de un tanque para un juego 3D de guerra (hacer click acá).

Próximamente discutiremos en este blog otros patrones útiles para el diseño y programación de videojuegos.

martes, 10 de febrero de 2009

Industria de los videojuegos en Chile.

En los últimos años han surgido algunas empresas que se han atrevido a invertir en el desarrollo de videojuegos hechos en Chile. Las producciones van desde los juegos 'casuales' diseñados para consolas de última generación (ej: XBOX360) hasta creaciones para teléfonos celulares y computadores personales.

Algunas de estas notables empresas son:
  • Wanako Games: sin duda el máximo referente a nivel nacional. Este estudio fue formado el año 2002, y posee oficinas en Santiago de Chile y Nueva York (en EE.UU). Son especialistas en el desarrollo de juegos 'casuales' para consolas, y su creación 'Assault Heroes' fue premiada por el sitio especializado IGN en la categoría Mejor juego Xbox Live Arcade del año 2006.

  • AmnesiaGames: se especializa en el desarrollo de juegos y aplicaciones multimedias para teléfonos celulares, los cuales operan en plataforma Java (J2ME) y también mediante mensajería SMS/MMS/WAP. Para ver un listado de sus juegos puede verse el siguiente link: http://www.amnesiagames.cl/juegos.html

  • PsychoWorld: con sede en Valparaíso, esta empresa desarrolla aplicaciones con contenido multimedial para teléfonos celulares. Entre sus productos se encuentran una aplicación J2ME para poder observar TV Internet desde un teléfono celular, y diversos juegos en categorías tales como deportes, música, etc., los cuales pueden ser observados en la siguiente página: http://www.psychoworld.cl/web/htdocs/muestraprod.php?type=2

  • ACE TEAM: es un estudio localizado en Santiago de Chile, que cuenta entre sus filas con algunos de los antiguos miembros de WanakoGames. Su juego debut lleva por nombre 'Zeno Clash', el cual en enero de 2009 ha sido nominado como finalista en el Independent Games Festival en la categoría Excelencia en Arte Visual. Para mayor información, visitar: http://www.zenoclash.com

Por último, para obtener un mapa actualizado del desarrollo nacional de videojuegos, puede hacerse click en el siguiente link: http://www.gamedevmap.com/index.php?query=chile

miércoles, 4 de febrero de 2009

Inteligencia artificial en videojuegos.

Si alguna vez se han preguntado cómo diablos ponerle 'inteligencia' a un personaje de videojuegos, la respuesta viene empaquetada en un excelente libro: "Programming Game AI by Example", del autor Mat Buckland.

En los diversos capítulos del texto se realiza un paseo por los principios clásicos del diseño de inteligencia artificial para personajes de videojuegos, en donde se complementa cada tópico con ejemplos ilustrativos a través de imágenes, explicaciones sencillas, y lo fundamental: código fuente de referencia.

El enfoque práctico del libro es digno de agradecer, ya que el estilo pedagógico del autor permite que se puedan entender y 'digerir' temas tales como máquina de estados finitas para controlar personajes (FSM), lógica difusa para la toma de decisiones (fuzzy logic), algoritmos de búsqueda de caminos (pathfinding), etc.

En resumen, un texto altamente recomendable para los que deseen aprender o potenciar sus conocimientos en el especializado mundo de la A.I. Su sitio web: http://www.wordware.com/files/ai/

jueves, 22 de enero de 2009

Creadores notables del mundo de los videojuegos.

A lo largo de la historia han surgido algunos personajes que, con su creatividad y talento, han logrado crear algunas obras maestras en el mundo de los videojuegos.

Acá les dejo una breve lista con el nombre de algunos de estos grandes exponentes, y un link que lleva a sus sitios personales o biografías:

- Jordan Mechner (creador de Prince of Persia, Karateka): http://jordanmechner.com

- Ron Gilbert (creador de Monkey Island, Maniac Mansion, Indiana Jones): http://grumpygamer.com/

- John Carmack (creador de Wolfenstein 3D, Doom, Quake): http://armadilloaerospace.com/n.x/johnc

- Al Lowe (creador de Leisure Suit Larry, Freddy Pharkas): http://www.allowe.com

- Ken y Roberta Williams (Sierra On-Line) (creadores de King's Quest, Police Quest): http://www.backspin.org/kensentme/roberta/

- Sid Meier (creador de Civilization, F15 Strike Eagle, Solo Flight): http://www.firaxis.com/company/bios.php?bioid=56

- Alexey Pajitnov (creador de Tetris): http://www.mobygames.com/developer/sheet/view/developerId,929/

Si alguien conoce más creadores notables y algún link de referencia, ¡no dude en publicarlos acá!

viernes, 9 de enero de 2009

Nuevo game engine para Java: Ardor3D.

Joshua "Renanse" Slack, uno de los principales desarrolladores del excelente JMonkeyEngine, nos vuelve a sorprender con la creación de un nuevo motor para el desarrollo de videojuegos y aplicaciones en Java: Ardor3D.

Basado en JMonkeyEngine, este proyecto pretende entregar una herramienta open source que permita a los desarrolladores generar aplicaciones de nivel profesional. Este engine cuenta con una licencia de tipo "libpng/zlib", el cual a la fecha cuenta con casi un año de desarrollo y se encuentra en su versión 0.2.1.

Esperamos que Ardor3D siga en la senda trazada por JMonkeyEngine, entregando a la comunidad Java un motor de alta calidad que fomente el desarrollo de videojuegos profesionales en esta plataforma.