Parece dicho por «Chiquito de la calzada», pero no el nombre viene del Space-Invaders, pero para abreviar le llame Inaders que es como se le conoce, pero claro para distinguir que era echo en java, le añadí la «j», y quedo jinvaders, pero claro para que funcionase en una web, le converti en un applet, con lo que añadi una «a» mas… con lo que quedo el «jainvader», «joll, por la gloria de mi madre».
La historia
Space-Invaders ha sido uno de los juegos mas populares de todos los tiempos, fue desarrollado en 1978 por Toshihiro Nishikado un programador de la compañia Taito Co. y distribuido en Estados Unidos por Midway. Con un argumento realmente sencillo creo un estilo de juego que todos indentificamos con «matamarcianos».
Es uno de los pocos juegos que se distribuyo sin copyright, lo que ha hecho posible tantos remakers sobre la idea original. Existe una leyenda que cuenta que este juego tuvo tal éxito en japón que gobierno tuvo que cuatriplicar la producción de monedas debido a la demanda de los jugadores. Segun Midaway este juego a lo largo de su historia ha facturado 500 millones de dolares.
Mi especialidad dentro de la programacion es el software de gestion y comunicaciones, durante el periodo de crisis de Borland, mucho de los usuarios de herramientas de desarrollo de esta compañia, tubimos que hacer el cambio o la migracion hacia otras herramientas, en este periodo la tendencia era java o c#, bajo .net. En el 97’s habia experimetando los applet de java, para incrustarlos en paginas web, asi que tenia una cierta simpatia por este legunaje, pero 15 años con borland, era mucho tiempo para hacer una cambio tan a la liguera asi que busque toda la informacion que pude sobre el estado de java en la actualidad, parece ser que el mejor ide para java era eclipse, asi que monte eclipse, junto con java, y por supuesto subversion, el control de versiones (subclipse para los eclipsianos).
Sun Microsystem, siendo como son, ofrecian la posibilidad de certificacion, esto consistia en hacer un examen controlado por ellos, en los cuales se revisaba los conocimientos importantes sobre la plataforma java. En mi caso para obtener el certificado solicite una beca, que consistia en pasar una serie de examenes y con esto te daban el vouche para poder acceder al examen, con el unico coste de las tasas de examen.
Para poderme presentar con un minimo de garantias al examen hice un space-invaders, en principio era una reproduccion del clasico, pero un amigo que trabajaba en el desarrollo de juegos, me tento a llegar a explotar la maquina, ¿hasta cuanto podria aguantar java y un equipo moderno? , el juego ya funcionaba con su pantalla negra y sus bichos por la pantalla esto habria sido suficiente para el proposito del examen. Pero era una tentacion, ¿hasta donde podria llegar con java y una maquina tan superior a un spectrum?
Asi que una de las primeras cosas que hice fue añadirle un potente fondo, este fondo es la galaxina Caxiopea obtenida por el hubbel en xxx, las estrellas se movian sobre un fondo de casiopea, esto ya habria sido bastante dificil para un ZX-Spectrum, pero aun asi, continue, y añadi un segundo plano de estrellas, desplazandose a un ritmo distinto. Solamente esto suponia unos 1000 objetos moviendose en pantalla, parece que la maquina seguia funcionando asi que continue…
Los disparos de la nave, no eran como en el original uno o dos, sino decenas, cada uno de ellos con un nivel de aceleracion, independiente, prove con mas de 10.000 disparos al mismo tiempo en pantalla y en un pentium 2.8 no conseguia superar el 40% de cpu.
Musica y efectos
Habia una cancion que me encantaba Crazy de Gnarls Barkley, fue nominada 5 veces a los Gramy. Con Nero Wave Editor, extraje un trozo de la cancion concretamente del final para conseguir un troce de unos 3 seg, que se repetiria infinitamente…. parece que no se nota el corte.
Gráficos
Usando photoshop reice todos los graficos
Programación
Usando eclipse como IDE de programacion y subversion, sencillo y divertido, me encanto ver como esta aplicacion puede funcionar sin cambios en un linux (KDE), en un Mac OS-10.4 (tiger) y en un Windows-XP´
Mañana empezaré la adaptacion a j2me, para terminales moviles.
El resultado
Puedes descargar la aplicacion para correr en escritorio pulsando aqui,
para ejecutar usar c:\java -jar nombre_del_fichero
o bien jugar directamente desde la web
tambien puedes incrustar este codigo en tu página web, si haces esto, por favor crea un enlace hacia este blog (http://10goto10.muchohosting.com)
<applet CODE="jainvaders.class" width=500 height=500 ARCHIVE="http://www.muchohosting.com/buzon/jinvaders.jar"> </applet>