Esa es la conclusión que he sacado después de que hace dos semanas se celebrara el EDVS2, al que asistí y en el que me pidieron (amablemente, sin amenzas ni nada por el estilo, jeje) que presentase algún proyecto mío, ya que algunos habían visto en la reunión de Animacor el rotor-O-scope y el 2 much 3k, y les había gustado mucho, asi que les hice caso e hice la presentación, que fue bastante bien, y las impresiones y los comentarios de los asistentes respecto a los proyectos fueron bastante positivas, tanto que me han animado más que nunca a hacer juegos -al menos de manera indie-
Por lo demás el encuentro fue genial, muy instructivo y sirvió para conocer a mucha más gente que le va el mundillo éste, intercambiar opiniones ideas y demás; lástima qu el AVE saliese a las siete y media, porque me hubiera gustado quedarme hasta el final.
Así que después del encuentro se ha puesto en contacto conmigo Nivel21, a los que les gustó el juego de puzzles y me han ofrecido una colaboración mutua para hacer rotor-O-scope para la XBOX a través del XNA Community Games. Ahora mismo estamos mirando cómo se pude programar el juego con el motor que están desarrollando para us Xtreme Table Soccer. Por cierto, ahora tengo una nueva y flamante XBOX edición Halo 3 (que todavía quedaba una en la tienda) que mola mazo ( y me va a servir para programar para ella).
Además, la reunión me ha servido para replantearme mucho las cosas, después de compartir experiencias con los demás y opiniones me he dado cuenta de que apuntar a hacer cosas brutales -como puede ser Armors en 3D y con física avanzada- es demasiado a no ser que tengas un gurpo de 50 personas trabajando para tí, y que a nivel indie es más importante cosas divertidas y viciantes ( a la par de que tengan cierta calidad) , así que, ahora que tengo la XBOX, un PC y las XNA, me doy cuenta de que la posiblidad más real que tengo para conseguir que Armors sea algo molón y dentro de mis posiblidades es hacerlo en 2D (aunque ocupe 12 Gigas como el Crysis, que por cierto, eso sí que mola mucho), así que mientras estoy trabajando conjuntamente con nivel21 me dedicaré también a ir adelantadno algo del mi ansiado y soñado juego de lucha, que basaré en un motor de juego 2D que tengo diseñado, al menos en papel, desde hace tiempo y cuyo nombre es IVOLEY, que no es ni más ni menos una palabra que se utiliza en Armors para denominar a las transformaciones de los personajes; y del que iré poniendo las características conforme las vaya implementando, porque quizás en algunas me he pasado un poco y no quiero adelantar nada, aunque me gustaría mucho que, al basarlo en XNA funcionase bien tanto en XBOX -en el que es seguro que no podré publicar Armors, al menos por los requerimientos de tamaño de paquetes de descarga- como PC, pudiendo utilizar las características adicionales que se pueden usar en este último y no en la consola de microsoft.
Así que señores, soñar es gratis, pero es mejor tener los pies más cerca del suelo.
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.
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…
Ya por fin tengo mi máquina portátil para poder hacer cosas los fines de semana cuando voy de visita a casa de mis padres, así que ahora ya puedo terminar los puzzles de rotor-O-scope, que bueno, me quedan unos cuantos, ya que solamente tiene 30 y me gustaría llegar a los 150. Así que todavía queda un trecho, pero cuando lo tenga terminado os comunico que lo pondré como descarga gratuita para todo aquel que quiera jugarlo,así podré recibir vuestras críticas para ir mejorando poco a poco en el diseño de juegos, que siento que útlimamente me he quedado estancado y necesito nuevos retos, por eso estoy ya liado con el motor de juego de Armors, porque al final me he decidido por hacerlo yo desde cero, por lo menos la entrada, el motor gráfico y de física, que necesito que este último sea, digamos, “diferente” a los motores físicos a los que estamos acostumbrados en los juegos de última generación. Espero que me salga, o por lo menos, quedarme cerca de lo que quiero que salga. Con respecto a la reproducción de video y sonido ya me encargaré de buscar librerías, ya que lo más seguro es que meta xvid para el video en caso de que lo haya y .ogg para el audio.
Bueno, un saludo a todos, ya iré posteando progresos.