29 de septiembre de 2008

Ya queda menos...

Para que empiece lo bueno. Creo que el bajón de novedades y trabajo en general se ha notado (el trabajo no remunerado, por supuesto), y no estoy seguro de poder recuperar completamente el ritmo en unos días... Después de las vacaciones la carga de curro ha sido bastante espectacular, y la próxima semana ya comienza el master de videojuegos que cursaré durante el resto del año y gran parte del que viene, así que voy a estar realmente ocupado... En fin, a ver qué tal lo llevo, pero más vale que disfrute estos días "tranquilos" porque lo que se avecina va a ser durillo.

Aún así ha habido algunas novedades, como que hace unos días salió la versión beta de XNA 3.0, con interesantes novedades como un soporte mucho más currado del formato FBX (ahora acepta múltiples texturas por modelo, por ejemplo) y nuevos añadidos a las clases de tratamiento de sonido que se presentaron en la CTP. Una de las cosas más interesantes es la función GetVisualizationData, que permite obtener en tiempo real información de la frecuencia y los samples de la música que esté sonando en ese momento desde el nuevo MediaPlayer (la clase del framework, no el programa obviamente xD). Hace un par de días me puse 5 minutos y me monté una chorrada como ésta:

En realidad no es nada, simplemente he puesto de manera visual lo que devuelve esta función, pero sería muy interesante estudiar qué cosas se podrían llegar a hacer (en concreto juegos que se adapten a la música, que era algo que he querido probar desde hace mucho tiempo). Yo no entiendo mucho de sonido, pero si algun día tengo un rato (sigh) le echaré un vistazo.

11 de septiembre de 2008

Forzando la máquina

Estos han sido unos días duros y tremendamente divertidos a la vez. La semana que viene pillo vacaciones (esta vez un poco más decentes, no cuatro míseros días) y en el curro se están encargando de recordarme cada día porqué debo tener ganas de pillarlas. Y claro, después de estar toda la semana encerrado te dan ganas de liarla por ahí y olvidarte un poco de todo, así que el fin de semana pasado me fui a las fiestas de Barbastro (que por cierto son tremendas, nadie debería perdérselas) y ahora en vacaciones me iré una semanita a Suecia a pasar frío y estar bien lejos.

Pero bueno, no he estado completamente parado. He afinado un poco el tema de las nubes (intentaré subirlo antes de irme, quizás mañana o pasado) y he tocado alguna cosilla de Arles aquí y allá. Javi ha mejorado mucho el tema de la gestión de la escena y yo he añadido unas estadísticas de rendimiento para el render del editor, aparte de la posibilidad de quitar la limitación de frames por segundo típica de XNA.


Como Rubén está terminando su juego para el BDP y yo me piro por ahí, este tema estará bastante parado un tiempo, pero ya se irán haciendo cosas.

4 de septiembre de 2008

¿ A qué huelen las nubes?

A Perlin noise! Ya están medio terminadas, y este es el aspecto que lucen:



Se puede modificar la velocidad de las nubes, su densidad, la cantidad de superficie que ocupan... y próximamente la dirección.

Al principio iba a usar simplex noise (una modificación del perlin noise "clásico" que en teoría da más calidad de imagen), pero el shader era algo más lento y personalmente me gustaba menos cómo quedaba (en la imagen del post anterior se ve este tipo de función). Total, que se ha quedado el perlin de toda la vida y ya da el resultado deseado.

También había pensado calcular un normal map a partir del "heightmap" que se genera y así iluminar de forma más molona las nubes, pero por ahora lo he descartado porque no sé si valdrá la pena la pérdida de rendimiento que se sufriría.

Lo siguiente debería ser algo más volumétrico...

2 de septiembre de 2008

Presentando Arles

Alguna vez lo he comentado, pero hasta ahora no había enseñado (y en la página del proyecto en Google Code tampoco se ve nada). Éste es el aspecto que tiene actualmente el editor de terrenos en el que están trabajando los coordinadores de XNACommunity, Arles:


Por ahora todo es muy, muy básico, pero hay algunas cosas de interfaz interesantes ya implementadas (como la posibilidad de relizar 'Deshacer'/'Rehacer') y ya está prácticamente integrado del todo mi último skydome con atmospheric scattering.

Se avanza poco a poco porque lo hacemos en los ratos libres (que por ejemplo en mi caso son escasos), pero seguro que acaba siendo algo interesante. En la parte derecha del blog hay un link a la web del proyecto, donde ya se puede consultar el código y trastear con él.

Y aprovechando que se habla de Arles, he estado un par de días mirando una manera sencilla de simular otro efecto atmosférico, las nubes. La idea era usar un método sencillo y sobre todo rápido para representarlas sin entrar en soluciones mucho más costosas como nubes volumétricas y cosas por el estilo. Un primer intento ha dado este resultado:


Es una primera prueba y no he "tuneado" valores, pero aunque no se ve en la foto, en movimiento queda bastante curioso. Lo malo es que he notado bastante la diferencia de rendimiento, así que tendré que probar más a fondo si realmente vale la pena. No sé, quizás incluso monto un ejemplo de esto...

25 de agosto de 2008

Ya queda poco...

...verano (aunque por la temperatura que ha habido estos días parece que hace tiempo que terminó), y me ha entrado una especie de ansiedad por aprovechar al máximo los días libres que tengo, y no precisamente delante del PC... En parte creo que lo necesitaba, hacía mucho tiempo que no salía y perdía algunas neuronas de forma consciente, y cuando empiece el master no creo que me pueda permitir muchas salidas.

Pero esto no significa que haya estado 100% parado, y he seguido haciendo algunas cosas. Ya he subido el nuevo componente de Skydome con atmospheric scattering. Al final creo que ha quedado bastante apañado y ya he empezado a pasarlo a Arles.

Habrá que ir pensando que será lo siguiente... por una vez estoy en blanco! o_O

20 de agosto de 2008

Como en el campo

Ya he dejado prácticamente listo el skydome tal y como quería que quedara. Respecto a lo que había ayer, he añadido las estrellas (un porrón de ellas, quizás demasiadas ^^U) y un ligero brillo alrededor de la luna. Como ya se puede imaginar, la luna y el brillo no son más de dos quads orientados correctamente respecto a la posición del sol y las estrellas son una textura que se aplica sobre la geometría del dome, pero pese a ser tan sencillo da un aspecto bastante aceptable a la escena. La transición entre día y noche de estos elementos no ha quedado tremendamente realista, pero creo que para un juego da perfectamente el pego. No puede faltar teh video:



Como siempre, YouTube da una calidad de imagen bastante lamente y apenas se ven las estrellas, así que recomiendo verlo en "alta resolución".

Creo que poco más voy a hacerle a este ejemplo, así que es de esperar que esta semana ya lo cuelgue.

19 de agosto de 2008

The Lone Wolves are Back!

Ya estoy de vuelta! La verdad es que incluso me da un poco de pena, porque estos días me lo he pasado muy, muy bien. Estuve unos días en Granada visitando a unos colegas, y como siempre fue una locura continua de risas, tapas y cerveza. Ahora estoy en el curro casi peor de lo que estaba antes de irme... xD Pero bueno, poco a poco voy pillando el ritmo y hoy he reanudado un rato el trabajo sobre el nuevo skydome.

Hoy pensaba dejarlo por finiquitado, pero luego he tenido la sensación de que realmente no estaba del todo satisfecho con el resultado. La representación de la luz y del scattering de la misma queda estupendamente, pero el aspecto era bastante decepcionante cuando se hacía de noche. La representación es correcta (no hay luz del sol), pero se ve todo demasiado negro y vacío, así que he decidido añadir algún detalle más. El primero es éste:


Por ahora está hecho muy a lo cutre, pero ya da un poco de alegría al cielo nocturno y es el primer paso para algo un poco más curioso.

Hoy estoy muy vago y no voy a hacer nada más, pero a ver si mañana sigo un poco. ^^