Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Año 3, Número 31, Agosto de 2004

Videojuegos y Java

Renato Barahona Nery

 

En nuestros días, la industria de los videojuegos es un negocio incluso más rentable que la industria del cine. Sólo en los Estados Unidos se recaudaron en el año 2003 más de 30 mil millones de dólares por la comercialización de estos productos; sin embargo, a pesar de ser tan rentable, lejos han quedado los días en que un pequeño grupo de personas (inclusive una sola) eran capaces de desarrollar un juego en un período relativamente corto de tiempo. Por el contrario, el desarrollo de software de entretenimiento (videojuegos) se ha vuelto más complejo con el tiempo.

Uno de los principales factores que influyen en esta tendencia es que las nuevas plataformas sobre las que se juegan y desarrollan los videojuegos, independientemente de si se trata de una computadora personal o de una consola de videoojuegos, son cada vez más avanzadas y complejas, permitiendo a los desarrolladores presentar escenarios más elaborados; sin embargo, esta presentación de ambientes más reales, historias más complejas, así como efectos de sonido envolventes requieren que las casas desarrolladoras inviertan millones de dólares en la producción de un solo juego.

Por ejemplo, cuando reinaban las consolas de 16 bits, se requería un equipo de no más de 10 personas para el desarrollo de un juego. Al introducirse las consolas de 32 bits, este equipo pasó a más de 32 personas. Desafortunadamente, las herramientas con las que se contaba para las consolas de 16 bits no se pudieron utilizar para las consolas de 32 o 64 bits, situación que ocasiona que al migrar de una plataforma de desarrollo a otra, se tenga que construir nuevamente desde cero todas las herramientas necesarias para la construcción de un videojuego.

Aunado a este hecho, la existencia de múltiples competidores dentro del sector (PC, Sony®, Nintendo®, Microsoft®) han hecho que algunos desarrolladores pongan más énfasis en tan sólo una de las plataformas (generalmente la que más ventas registra) para que la inversión realizada pueda ser recuperada.

A partir de este año ya empiezan a darse los indicios de la nueva generación de consolas que suplirán a las de esta generación, lo que nuevamente pondrá a los desarrolladores en una posición de desventaja, ya que deberán realizar grandes inversiones para volver a generar las herramientas necesarias, más aún, estas consolas de nueva generación (tanto portátiles como caseras) se perfilan más como dispositivos multifuncionales (descarga de películas, reproducción de DVDs, VCD, conexión a Internet, etc.) y no sólo para videojuegos.

¿Cómo entra Java en toda esta perspectiva? Uno de los principales lemas publicitarios de Java en sus inicios era: “Escriba una vez, ejecute en cualquier lugar”. Si se aplica esta filosofía a la industria del videojuego, los desarrolladores serían extremadamente felices si pudieran escribir su código en una sola plataforma y que éste se pudiera ejecutar en múltiples dispositivos. Según Chris Melissinos, el Jefe de la División de Juegos de Sun Microsystems®, Java podrá ayudar a los desarrolladores no sólo a disminuir los costos de desarrollo, sino que además también a crear juegos que exploten todo el potencial de cualquier dispositivo en los que se quiera publicar el juego.

Hasta hace poco se tenía la idea de que el código Java era más lento que el código en C / C++; razón por la que muchas de las casas desarrolladoras no ven a Java como una herramienta viable; sin embargo, y como lo apunta Chris Melissinos, Jefe de la División de Juegos de Sun®, los avances en cuanto a la máquina virtual de Java, así como la creciente capacidad de cómputo del nuevo hardware, hacen que la diferencia entre estos dos lenguajes sea casi imperceptible.

Aun así, Sun® apenas comienza a presentar alternativas a los programadores para el desarrollo de juegos para computadoras personales o consolas, por lo que tiene un camino arduo por recorrer para convencer a los participantes de la industria de que Java es “el lenguaje” para programar videojuegos. No obstante, cabe hacer la aclaración de que en el terreno de los dispositivos móviles, Java lleva una gran ventaja, ya que sus APIs (interfaces para la programación de aplicaciones) cuentan con una gran cantidad de herramientas para el desarrollo de cualquier tipo de aplicación para estos dispositivos. Un ejemplo es el N-Gage de Nokia®, que además de ser un teléfono celular, es una consola portátil de videojuegos (prácticamente todos desarrollados en Java).

Los primeros pasos para demostrar que Java es un lenguaje apto para el desarrollo de aplicaciones gráficas, pueden encontrarse en los teléfonos móviles donde la mayoría de las aplicaciones están desarrolladas con este lenguaje; de la misma forma, se cuenta con el desarrollo de JRender Man (http://www.jrman.org), proyecto Open Source para el renderizado basado en “Render Man©” que es el software utilizado por la multipremiada Pixar Animation Studios para la creación de sus películas.

Si bien es cierto que Java como lenguaje de programación todavía no cuenta con gran aceptación dentro de la industria del videojuego, los esfuerzos realizados por Sun para hacerlo atractivo a los desarrolladores aumentan día con día. La promesa de contar con un lenguaje que permita disminuir tanto costos como tiempo de desarrollo es bastante difícil de cumplir; hace falta esperar para conocer si Java cuenta o no con el visto bueno por parte de los programadores o si puede demostrar ser lo suficientemente adecuado para el desarrollo de este tipo de aplicaciones. Sin embargo, tanto la oferta de Sun como los esfuerzos de la compañía para posicionar su lenguaje dentro de esta industria son considerables, por lo que mientras más grupos comiencen a desarrollar aplicaciones gráficas basadas en Java, más se refinarán y mejorarán todas y cada una de las posibilidades del lenguaje.

Para mayor información:

http://java.com/en/lifestyle/games/

http://weblogs.java.net/pub/wlg/882

http://java.sun.com/developer/technicalArticles/Interviews
/games/

Inicio | Contacto |