Y van dos meses que no escribo nada y no doy apenas señales de vida. Entre que he dado los últimos retoques al programa (por cierto las Windows Presentation Foundation de Microsoft molan mucho), que necesitaba para poner en marcha mi nuevo proyecto web, que está casi operativo y , que es bastante probable que esta semana esté online, y si no la semana que viene, y luego que estas cinco últimas semanas entre que he tenido que preparar un pequeño curso para impartir en mi trabajo sobre ASP.Net a un par de compañeris, la Semana Santa y el impartir un par de horas de clases de Asp después de la jornada laboral, la verdad es que me han dejado un poco tirado por los suelos.
Pero tampoco todo es malo, mientras tanto me ha dado tiempo a mirar algunos libros de arte y dibujo que me han servido de mucho para mejorar en el diseño de personajes y de entornos, cosa que me hacía falta para Armors, sobre todo lo segundo, y que bueno, también me ha permitido plantearme por qué derroteros llevar el proyecto. Hace tres días, ya un poco menos agobiado por el curso pensé en hacer una demo técnica implementando toda la tecnología necesaria para que fuese multiplataforma (ahí tenemos al amigo Open GL, que por cierto con mi nueva GeForce 8800 puedo usar el 2.0 )y todas esas cosas como la física y demás, aunque no llegue a terminar el juego, pero que me serviría para aprender (y mucho). Sin embargo hoy veo que EPIC Games ha lanzado un concurso de año y medio de duración en el que se pide una sola cosa : Mods del Unreal Tournament 3, desde agentes mutadores a nuevos modos de juego e incluso MODs completos, estando englobados estos en dos categorias: FPs, y NO-FPS. Por lo que he visto el cielo abierto, poder utilizar uno de los motores más prestigiosos para hacer la demo técnica de Armors, y encima, presentarlo a concurso, cosa que no estaría nada mal -sobre todo si se ganase (soñar es gratis)-. También es bueno que (casi) tengo un colaborador interesado y me gustaría conseguir alguno más, pero por ahora me bajaré los kits de herramientas para echarles un ojo y hacer los primeros pinitos, ah, por cierto el Unreal Tournament 3 mola mucho, es tan frenético como el primero pero con muy buenos gráficos.
Por ahora eso es todo, a ver si ya la semana que viene puedo escribir más y voy poniendo mis impresiones sobre las herramientas de Epic.
Eso es lo que me he tenido que decir ya un par de veces en el último mes en el trabajo. Resulta que he estado encargado del editor visual de código del proyecto (del que ya hablé antes) y la verdad es que me ha servido para aprender bastante de optimización. El control de edición ha sido creado desde un control de .Net básico (UserControl), y ha sido creado para soportar sintaxis coloreada e intellisense (esa ventanita tan molona que nos da sugerencias de qué poner) . El control ha funcionado perfectamente hasta que hemos llegado a empezar a probar en serio y empezamos a meterles archivos de uns 500 líneas. A partir de ahí ya se ralentizaba el editor. Al final tuve que modificar la rutina de cálculo de líneas a dibujar y dividirla en dos: Una para las líneas en pantalla (que necesita partir cadenas y hacer chorrocientas comprobaciones para saber qué color poner, aparte de meter tabulaciones en el código y medir longitud de cadenas) y otra para las que no se ven, que simplemente se limita a poner tabulaciones al principio y medir la longitud de la cadena, con el consiguiente ahorro de cálculo.
A las dos semanas un nuevo problema: Con archivos de 1800 líneas vuelve a ir lento. Toca optimizar otra vez. Esta vez el problema no fue del editor en sí, sino de una estructura de árbol auxiliar que se actualiza cada vez que se modifica la estructura del documento (teniendo en cuenta que el árbol contaba con unos 900 nodos, tardaba unos tres segundos en actualizarse), por lo que me las tuve que apañar y hacer que solamente actualizase los nodos que se habían modificado en vez de reescribir todo el árbol, con lo que en vez de redibujar 900 cadenas de texto solo dibujaba un par de ellas a pesar de tener que recorrerse casi todo el árbol.
Conclusión: Al principio cuando programas código lo haces de la manera que te parece más adecuada, pero no sabes hasta qué punto te va a llegar a funcionar como tú deseas. No piensas que tal vez la manera que tienes de hacer una búsqueda o de calcular un parámetro se puede hacer tal vez con uno poco más de código, pero que a la hora de ejecutarse reporta una gran velocidad de ejecución cuando se trata de datos grandes -puede que sea un pelín más costoso con pocos, pero lo importante viene en lo “gordo”-. Por lo que me he dado cuenta que es bueno hacer pruebas “bestias” sobre nuestro código para comprobar que soportará casos extremos aunque sean muy pero que muy raros.
Aún sigo vivo, no actualizo mucho porque estoy un poco liado y no tengo mucho que contar. Aparte de que han atrasado el desafío de Google Android hasta el 14 de Abril y voy a tener tiempo de terminar el proyecto, la única noticia destacable es que me he conseguido coger las primeras 120 estrellas de Mario Galaxy (las cuatro últimas me han costado cerca de cinco horas, pero lo he conseguido), para llevarme la sorpresa de que aún me queda la mitad del juego, pues resulta que después de jugar con Mario tienes que pasarte el juego con Luigi para poder acceder, según he leído por internet a la estrella número 121. Así que ahora que ya me lo he pasado me lo tomaré con más calma para conseguir el resto, o quizás como ya me sé los niveles me los pases antes. ¿Quén sabe?. De todos modos aún tengo que terminarme el Aquaria y jugar al TimeShift, Crysis y pillarme el Zelda y el Metroid de Wii, por lo que espero que no salgan títulos buenos en un tiempo porque si no me voy a agobiar de querer jugar y querer hacer cosas a la vez.
A propósito, el proyecto web del que hablé en la entrada anterior sigue adelante, espero que próximamente esté operativo, pero tengo que terminar un programita del que depende dicho proyecto, y espero que no me cueste ya mucho de terminar, porque estoy aprendiendo con él las nuevas WPF del visual studio 2008. Cuando tenga la web operativa diré algo por aquí. Y con respecto a Armors, está un poquito parado y rotor-O-scope voy a reescribirlo con XNA 2.0 (menos mal que el juego es pequeñito, lo programé en dos semanas) para mejorarle algunas opciones, porque por ejemplo, no tiene ni siquiera un mísero menú de configuración.
Así que por aquí seguimos…
Bueno, pues aún sigo con el trajín de los servidores y el proyecto Web. Ya tengo prácticamente mudado Todosuperfriki al servidor nuevo y este fin de semana he conseguido avanzar un poco más con el otro proyecto Web. Ya por fin me voy quitando cosas de enmedio y ya va siendo hora de ponerse con el desafío del Google Android, que no quiero que se me acabe el tiempo y creo que quizás pueda ser un killer-app, porque desde que se me ocurrió el concepto más de una vez me he encontrado en que me hubiese venido bien que existiese. Posiblemente mañana empiece a darle caña, hoy creo que voy a estar bastante ocupado con otras cosas.
Pues no, no me he muerto intoxicado de alfajores de almendra, polvorones o alguna cosa similar, sino que he estado en casa de mis padres y por allí no hay “internet….. nooooooooo!!!!!”. Así que en ese tiempo me he dedicado a jugar al Mario Galaxy y al Aquaria, de los que ya me queda poquito, y a emprender un nuevo proyecto Web que tiene que ver con juegos, cómics y frikis, y así de paso mejoro mi programación php y aprendo Ajax (lo siento mucho, pero cada vez que leo la palabra esa me acuerdo de los polvos esos que usa(ba)n nuestras madres para limpiar algunos trastos). Por lo demás, sigo un poco más para adelante con el documento de Armors, no he tocado nada de rotor-O-scope y he aprovechado para, ahora que me caduca la estancia en el servidor anterior, mudarme a uno nuevo, poner la última versión del WordPress y retocar la plantilla (mira que dejar obsoletas funciones que usaba yo, ¡jo!), plantilla que ya había retocado un pelín porque he modificado algunas imágenes que no me acababan de gustar y ya de paso aclarar los azules de las barritas. Aunque aún tengo que retocarla por lo de los Tags que admite el wordpress ahora, que aún no se lo he puesto, pero seguro que es facilito.
Aún no me he completado el Super Mario Galaxy y ya estoy jugando al Aquaria, y es que este trimestre ha sido muy abundante en buenos títulos, y entre el trabajo, llevar las webs, y los proyectos personales, apenas tengo tiempo de jugar a todo lo que me gustaría, pero sin embargo, Aquaria es uno de los que quería jugar el primer momento. Este juego es el ganador del Indepent Games Festival del 2007, y es una aventura subacuatica en la que tenemos que conducir a Naija para que descubre quién es y de donde viene. Después de 8 horas de juego he de decir que el juego engancha, aunque la primera hora es un poco lento y cuesta saber por donde tienes que ir, hasta que empiezas a recorrer mapa y ves hacia donde debes ir y hacia donde no (simplemente porque no puedes), aunque se echa en falta una opción para hacer anotaciones en el mapa, porque hay muchas cosas que recordar. Es un juego que me está gustando mucho tanto por su manera de control, la manera de hacer magias (a través de canciones combinando una serie de notas musicales), las transformaciones que nos dan habilidades especial y la originalidad de los gráficos que están completamente pintados a mano. Un juego muy recomendable para aquellos que os gusten los juegos de aventura de la vieja escuela.
Pues sí, ayer me conseguí agenciar el Super Mario Galaxy de Wii, y de las cuatro o cinco horas que llevo jugando solo puedo definirlo de una manera: “Juegazo”. Bien es verdad que la Wii no es la consola más potente pero el trabajo de Nintendo en este juego es sobresaliente. Gráficos super bonitos y artísticos, un sistema de control al que tardas en acostumbrarte un ratito, sistema de juego muy original, una gran jugabilidad, una banda sonora sinfónica espectacular, que está ahí, de fondo, acompañando y no molesta para nada.
El juego no hace alarde de una gran historia, es decir, como siempre Bowser secuestra a la princesa Peach y Mario va al rescate, pero eso es solo una excusa para poder disfrutar de este título y para juzgarlo según lo que llevo visto, pues el juego es adictivo, engancha, te invita a continuar, a seguir jugando (he parado porque me he quedado sin batería en el mando, si no estaría picado aún), a volver a intentarlo cuando fallas, a descubrir y explorar rincones nuevos, a recolectar todos los fragmentos de estrella, a utilizar las habilidades de Mario al máximo y a utilizar nuevas maneras de manipular los objetos y resolver ciertas dificultades.
Los diseños de los planetas son geniales, cada uno de una forma diferente con comportamientos diferentes. Me ha encantado lo de poder darle vueltas y vueltas y vueltas y vueltas… Si bien en algunos hay que tener cuidado de no caernos hacia el centro de gravedad; detalle que me ha encantado, porque podemos ver el generador gravitatorio que hace que los objetos, los personajes y Mario caigan hacia él (sí, si caes en él pierdes una vida); generador que también podemos ver bajo otros lugares en el que te mueves como en un nivel normal, como el castillo de las abejas y algunos fragmentos de escenario que son planos.
Luego están los jefes de nivel. Los de la primera galaxia simplemente me han encantado, ambos por el original planteamiento para destruirlos, y el primero, por su diseño. También hay más que también me han gustado mucho, pero esos son los dos que me han marcado porque son los primeros que he visto. Todo un alarde de buen hacer, con mecánicas diferentes para cada uno (y no se trata solamente de golpear en el sitio adecuado, cada uno tiene una manera diferente de acabar con él), incluyendo alguno que otro más grande que el planeta en donde se encuentra.
Simplemente, un juegazo indispensable para todo aquel que tenga una Wii (el mío es de la segunda tanda de Córdoba, ya que estaban todos agotados cuando fui a por él), y que si no tienes, “ya te lo puedes estar comprando, como todos esos que me han dejado sin el Mario los primeros días”. Simplemente genial, merecedor de todos las alabanzas y grandes puntuaciones que ha tenido en los medios, bueno, sin exagerar, quizás puede que no se merezca el 10, pero de 9.5 para arriba, fijo, y eso es una nota muy alta.
Como ya dije, he estado probando el Visual Studio 2008, y entre las novedades que trae es el soporte para el Windows Presentation Foundation, del que ya existía un parche para que lo soportase el Visual Studio 2005, pero no me dio por probarlo. Ahora me he metido un poco más con él, y personalmente, se pueden hacer auténticas virguerías con él a la hora de diseñar la interfaz, además si nos da por diseñarla con el programa Microsoft Expression Blend, ganaremos mucho más a la hora del diseño, ya que el Visual Studio es para programar, no para hacer interfaces bonitas.
Ahora me ha tocado ver las posibilidades que podemos tener en la empresa donde trabajo de empezar a utilizar la tecnología, ya que a los programadores nos ha encantado lo que podemos hacer, así que me haré un programita con el Foundation, posiblemente un programa visor de cartas SuperFrikiMón, que es una de las cosas que hago en TodoSuperFriki (y quien sabe, a lo mejor lo convierto en juego online de cartas, quien sabe) para probar sus capacidades gráficas y esas cosas que me interesan, ya que al principio iba a hacer un programita wiki, pero en el foro de Stratos me recomendaron el One Note del Office 2007, y la verdad es que mola mucho.
Así que ahora sigo haciendo el documento de diseño para Armors en el One Note (jo, qué flexibilidad que tiene) y los de los programitas que estoy preparando para el Android Challenge. Primero haré un servicio que se me ha ocurrido y que creo que tiene más posibilidades de ser elegido como favorito antes que un juego, a pesar de que sea el rotor-O-scope que es totalmente casual.
Pues la semana pasada anunciaban que próximamente iban a lanzar la nueva versión, concretamente la 2008, y además, en el blog de XNA se podía leer que próximamente iban a liberar la beta de la versión 2.0. Pues bien, ayer liberaron las versiones Express de Visual Studio (que son gratuitas y altamente recomendables) y las demos de las versiones de pago. Y hoy han lanzado la primera Beta de XNA 2.0.
He probado las versiones Express de C#, Visual Web DeVeloper y VC++, y en el entorno apenas hay diferencias aparte del soporte para los diseñadores de Windows Presentation Foundation (que me ha gustado bastante) en C#, el soporte para Ajax incorporado en Visual Web Developer; y en VC++ la verdad es que lo he usado poco, por lo que no puedo hablar de diferencias. Ahora ya solamente queda trastear con las nuevas versiones de los lenguajes y las .Net Framework 3.5 para saber qué es lo que hacen. Y eso sí, ahora se permite seleccionar para qué version del Framework se quiere crear el programa, incluso en las versiones Express, lo por lo que supongo que podremos abrir nuestros programas hechos con la versión 2005 y abrirlos sin problemas en la 2008, cosa que aún no he probado y debería hacer, por cierto.
Y con respecto a las XNA, todavía está bajando, así que dentro de un rato la probaré a ver qué es lo que tiene.
¿Lanzarán algo más esta semana los señores de Microsoft?
Mucho tiempo se ha estado hablando del GPhone, el teléfono de Google, cuando la semana pasada por fin anunciaron la plataforma Android y la Open Handset Alliance, que no se trata sino de una plataforma abierta y libre para el desarrollo de aplicaciones de dispositivos móviles, en la que ya están asociadas empresas como LG, Motorola, Samsung, Telefónica, Intel, Nvidia, Marvel y otras tantas más. Se espera que a partir de mediados 2008 aparezcan los primeros terminales con la plataforma Android Instalada. Ya está disponible la primera versión del SDK, y según he podido ver en la librería de clases, básicamente nos dejan toquetear todo el teléfono y se pueden hacer bastantes cositas.
Y en contra de lo que opinan en error500, en que dicen que la plataforma no va a tener acogida y por eso Google ha tenido que anunciar un concurso de desarrollo en el que reparten 10 millones de dólares en premios, y además, teniendo en cuenta que próximamente aparecerá el Kit de desarrollo del iPhone. Personalmente, el iPhone es bonito, y tiene un interfaz muy intuitiva, pero es caro, cerrado, y personalmente, lo veo elitista. Sin embargo, con la plataforma abierta cualquiera puede hacer aplicaciones libres para el teléfono, puedes utilizarlo con cualquier aparato que lo lleve incorporado y no tienes que dejarte una pasta gansa en un teléfono si no quieres. Por otro lado, la iniciativa de Google es comprensible, yo lo veo como una estrategia clara para que al aparecer la plataforma haya bastantes aplicaciones de calidad para el dispositivo y la gente no se eche para atrás a la hora de elegir un terminal con Android por la falta de programas. La verdad es que me parece una buena idea y espero que tenga éxito. En el post anterior ya dije que me animaron a dar salida a rotor-O-scope, así que ya tengo proyecto para el concurso…