A la luz de la noticia del cierre de LucasArts, la gente de Raven, que desarrolló Jedi Outcast y Jedi Academy, ha decidido sacar el código fuente de ambos juegos. El código de Jedi Outcast y Jedi Academy está disponible en Sourceforge. El proceso es similar al de la publicación del código de Quake y de Doom, se publica el código bajo licencia GPLv2, mas los recursos del juego (gráficos, sonidos, etc.) siguen siendo de Activision; lo que lo hace de gran utilidad para los modders más que nada.
Esperemos ver pronto un análisis del código fuente tan extenso como lo hemos visto para Doom3 y otros.
La noticia de hoy en el mundo de los videojuegos es que Disney cerró LucasArts. LucasArts fue la rama de videojuegos de Lucasfilm, empresa que meses antes fue comprada junto con todas sus filiales de su dueño original, George Lucas. Esta nota es una reflexión sobre lo que significó para mí esta empresa.
Esto es como cuando murió Michael Jackson: la gente lo recuerda en su época de oro, y no tanto de sus excentricidades posteriores. Mi recuerdo de LucasArts no es de esta época reciente, sino el de la empresa que vivió en una época en la que muchos elementos en los juegos estaban todavía por establecerse, y en el proceso influyó en mí de maneras que no puedo explicar. Esa manía de incluir chistes tontos, situaciones graciosas y estrafalarias es algo que me impresionó tanto que fue el motivador a hacer lo que hago hoy en día. LucasArts y Sierra On Line son mis padrinos del game development, por ponerlo así. Esa forma de contar historias de ambos la quise copiar descaradamente: quería hacer eso mismo que vi y viví a través del esfuerzo que hice para terminar (o no) esos juegos.
Mi primer juego, Tómate un Descanso, es mi manera de dar las gracias por esa época. Ahí están todos los elementos, quizás de una manera torpe porque carecía, y aún carezco, de la pericia que tenía el equipo de LucarArts para incorporar esos elementos de una manera tan sutil y bien encajada. Si hay algo que me alegra de todo esto, es que los arquitectos de esa época siguen trabajando y produciendo en otras empresas. TellTale Games, Double Fine, son sitios donde se sigue llevando esa fuente de inspiración que me sigue motivando.
Finalizo esta nota con el discurso de graduación de Conan O’Brien, que me recuerda que a veces no es posible para uno imitar eso que has visto y que has querido copiar; pero que en el proceso cosas muy buenas pueden salir.
El objetivo de esta serie de 12 partes es dar una introducción al uso del conjunto de librerías conocidas colectivamente como cocos2d, a través de su versión para html5, cocos2d-html5. Está orientado principalmente a aquellas personas que ya tienen conocimientos de programación con Actionscript, Javascript, o algún otro lenguaje. En secciones posteriores abordaremos también algunas variantes de esta librería que emplean los mismos conceptos que veremos aquí.
¿De qué va todo esto?
Cocos2d es un conjunto de librerías multiplataforma de desarrollo de videojuegos, orientada especialmente para plataformas móviles, pero que no olvida las plataformas de desktop usuales.
¿Por qué digo que es un conjunto de librerías? Porque cocos2d en su proceso de porteado a otras plataformas se ha reconstruido en otros lenguajes de programación. Concretamente, tenemos una versión de cocos2d para dispositivos iOS llamada cocos2d-iphone y escrita en Objective-C, una versión de cocos2d para una variedad de dispositivos (Android, Bada, BlackBerry, win32, mac, etc.) llamada cocos2d-x y escrita en C++, y una versión de cocos2d para navegadores (con el elemento canvas, y más recientemente con WebGL), llamada cocos2d-html5, escrita en Javascript y que veremos en este curso.
Aparte de esto, actualmente están en desarrollo bindings a cocos2d-x para otros lenguajes, específicamente Lua y Javascript. Así, escribes el juego en el lenguaje de tu preferencia, y por debajo tienes un intérprete que lleva esto a cocos2d, teniendo la flexibilidad de este lenguaje combinado con el desempeño de C++. Como un ejemplo particular, actualmente es posible que escribas tu juego con cocos2d-html5, y eso mismo que escribiste para navegadores llevarlo a los bindings de Javascript y tener el mismo juego como una aplicación nativa.
¿Qué vamos a ver en este curso?
En este curso nos vamos a concentrar con cocos2d-html5, ya que tiene relativamente pocos requisitos para comenzar a desarrollar, comparado con sus compañeros en C++ y Objective-C. Sin embargo, encontraremos que los conceptos que emplea cocos2d son similares entre la familia de librerías, por lo que una vez que le tomas el ritmo, pasar a otra librería de la familia es muy sencillo, dado el caso de que conozcas el lenguaje que le corresponde.
En la primera parte del curso vamos a instalar la librería, y hacer un recorrido rápido acerca de cómo es una aplicación hecha con cocos2d, un vistazo rápido a sus conceptos. Posteriormente veremos qué podemos hacer con el elemento básico de cocos2d, el sprite; con su compañero los scenes; y cómo podemos comunicar los datos dentro de un juego. Hacia el final del curso, veremos algunas técnicas más avanzadas que se pueden hacer con la librería.
¿Qué clases de juegos puedo hacer?
Cocos2d-html5 tiene ya algunos juegos que demuestran la capacidad de la librería. Puedes jugar los siguientes juegos para tener una idea de lo que es capaz de hacer:
Para jugar estos juegos necesitas un navegador que soporte el elemento canvas en html5, específicamente Chrome versión 14 en adelante, Safari 5.0 en adelante, Internet Explorer 9 en adelante, y Firefox 3.5 en adelante.
Para desarrollar estos juegos hace falta un editor de texto, un navegador que te permita depurar Javascript (Firefox y Chrome son dos opciones excelentes), y hace falta también instalar en tu máquina un servidor web. Esto es porque aunque es posible ver en el navegador páginas HTML guardadas en tu computadora, los navegadores suelen tener restricciones de ejecución de Javascript para estos mismos archivos, y vaya si los juegos que vamos a hacer tienen scripts. Es posible aliviar estas restricciones, pero es más sencillo si instalas un servidor y ya.
En el número del próximo jueves veremos cómo instalamos lo necesario para tener un ambiente de desarrollo. Mientras tanto, jueguen los juegos que les reseñé anteriormente y comenten sus expectativas con este curso.
Bionfly es un juego gratuito para Android, hecho por Sergio Fernández, de Cádiz, España, y que opera bajo el nombre theOmenbit. En este juego hay que llevar al un robot volador en cada nivel hasta la puerta de salida, tratando de recoger todos los omen que están flotando.
El proyecto fue realizado con GameMaker Studio Profesional, un software que en el blog hemos visto con bueno ojos, y que en algún momento di un taller sobre el mismo. Es bueno ver que este software sirve para desarrollar en plataformas móviles con calidad profesional.
Tele es el único producto que pudo llevar a cabo Televisión del Milenio, una televisora regional que comenzó comprándole el equipo viejo a un canal nacional de televisión pero que nunca pudo salir al aire por todas las vueltas burocráticas. En vez de eso, el único equipo de producción de esta televisora realizó un videojuego que refleja el sentimiento del equipo acerca de cómo hace un partido, o un conjunto de partidos, contra el aparataje del Estado para poder difundir su mensaje.
Los invito a jugar este juego producto del reto One Game a Month, y una forma de aportar a la discusión sobre política en el país.