Notas performance en actionscript 3 – I: BitmapCaching

19 06 2008

El siguiente es un resumen de lo que recomienda el help de actionscript 3 que viene con el Flex Builder sobre consideraciones de performance:

BitmapCaching
Bitmap Caching es una técnica que se usa para pasar un elemento vectorial de una película flash en un mapa de bits. Flash pasa todos los vectores a mapa de bits si o si para poder mostrarlos en pantalla. Para eso, en cada frame genera un nuevo mapa de bits para el elemento en cuestión. Seteando la propiedad “cacheAsBitmap” a true, el elemento crea un mapa de bits de si mismo, evitando que este sea generado nuevamente en cada frame.

Cachear a bitmap no es posible si

1. El objeto cacheado se escala o rota constantemente o tiene hijos animándos dentro suyo.
2. El objeto mide mas de 2880 pixeles de ancho o alto.

Cuando usar bitmap caching?

1. Cuando tenemos un fondo estático complejo (por ejemplo creado con Ilustrator).
2. Cuando necesitamos scrolear un campo de texto.
3. Cuando se usa alphaChanelMasking.

Consideraciones al usar bitmap caching

1. No abusar del bitmapCahing. Generar los bitmaps cacheados usa mucha mas memoria que usar vectores.
2. Zoomear una imagen cacheada aumenta la memoria consumida.
3. Si el contenido esta animado o es rotado, el usar la bitmapCaching es contraproducente, es decir, degrada la performance en lugar de optimizarla.
4. Si mezclamos elementos cacheados a bitmap con elementos vectoriales, la performance se ve afectada negativamente.

En la próxima les cuento que pude averiguar del temido canal alpha y si hay alguna forma de mejorar la performance.



Disfrutar del proceso

18 06 2008

Enjoy

Es un buen consejo. Digo, que alguien te diga “disfruta el proceso”. ¿Como sabes si te gusta tu trabajo? Porque disfrutas “el proceso”.

El mejor ejemplo de esto es un pintor de cuadros, un paisajista. El tipo no pinta el cuadro porque quiere tener menos desnuda una pared de su casa o porque quiere tapar una mancha de humedad o tapar una grieta en la puerta por donde entra viento por la noche. Lo hace porque disfruta del proceso. Preparar las temperas, los pinceles, el caballete, buscar un buen motivo, pasar el día mirando los colores, las formas, el contacto del pincel contra el lienzo, el olor de las pinturas, que la gente le diga “pucha!, que lindo eso que hiciste”, etc.

Eso es disfrutar del proceso, encontrarle significado al ritual de armar todo con un fin.

La otra vuelta estaba programando un juego en mi casa y estaba cerrando una parte de la generación de niveles cuando y un amigo me dice “y de que trata el juego?”, recuerdo que le contesté “todavía no lo sé”. Ahí me di cuenta de que no lo hacía porque quería hacer el juego, lo hacía porque disfruto del proceso de creación.

Para mí, crear un nuevo proyecto en el flex builder es como estar frente a un lienzo en blanco. Armar las clases, los placeholders, es para mi como el olor de las pinturas para el paisajista.

Cuando le planteo esto a mi amigo, este me dice, “ah bueno, pero entonces lo haces porque te gusta programar”. No, lo hago porque me gusta hacer videojuegos, hay una gran diferencia entre “programar” a secas y hacer videojuegos. Me gustar tomar dibujitos mal hechos y después ver como se mueven por la pantalla en base a un algoritmo o en respuesta a las ordenes que les doy desde el teclado, el mouse o algún otro periférico. Yo no sentiría satisfacción programando, por ejemplo, un ABM para un negocio.

Me gusta probar una mecánica, armar cosas con cuadraditos de colores y después agregarle algunos gráficos que encuentro por internet y ver como queda. Nunca tengo en claro que quiero hacer, simplemente voy uniendo partes y voy probando lo que se me ocurre hasta que queda algo que puedo publicar en kongregate o en algún sitio por el estilo. Entonces le agrego un poco mas de trabajo y lo publico, para ver que dice la gente.

Cuando haces videojuegos como trabajo, difícilmente un juego sale tal como te lo imaginas, aún generando la idea, esta se ve moldeada por todos los que contribuyen a llevarla a cabo, por las urgencias del cliente o las limitaciones de presupuesto y esto muchas veces complica un poco el tema de disfrutar del proceso, pero es necesario para generar algo que cumpla con los estándares de calidad y que, al final del periplo, uno esté orgulloso de mostrar al mundo.

Disfruten del proceso, es un buen consejo que doy a quien lo quiera poner en práctica. Y si no están pudiendo hacerlo, luchen para que así sea.

Saludos!



Fluids en GameZebo

18 06 2008

La gente de gamezebo realizó una review de fluids. Pueden chequearla en el siguiente link:

http://www.gamezebo.com/features/web-games/web-wednesdays-fluid



El mejor juego que ví en mi vida.

9 06 2008

Acabo de terminar “Metal Gear Solid: Tween Snakes” y, como dice el título, considero que es el mejor juego que ví en mi vida. Divertido, atrapante y con muchas sorpresas.

Si a los que estudian cine les hacen ver “El acorazado Potenkin”, a los que hacemos videojuegos deberían hacernos jugar “Metal Gear Solid: The Tween Snakes”.

Después de jugarlo, todos los otros juegos parecen vacíos. Comparar MGS:TS con el resto de los videojuegos actuales, es como comparar los frescos de Miguel Angel con los dibujos que hace un grupo de personas jugando al Pictionary.

Buena música, buen argumento, buena jugabilidad…que puedo decir? es un juego tan pulido que te vuela la cabeza.

No voy a entrar en detalles, porque no quiero arruinarle a nadie la experiencia sublime de disfrutar esta maravilla sin spoilers…aunque creo que nadie puede espoilear Metal Gear Solid, lo que pasa en el juego depende de las decisiones que toma el jugador. Hay cosas que jamas vería en el juego, ya que hay decisiones que nunca tomaría. Como hay decisiones que jamás tomaría en la vida real.

Es como si alguien tratase de contarte el final de tu vida. No podría, podría contarte su experiencia, cosas que le pasaron a el, consejos generales, pero, aún diciéndote que camino elegir en cada situación, es imposible garantizar que seas capaz de tomar dicho rumbo.

A los que tienen wii o gamecube, no lo duden, consiganse una copia de este videojuego como sea, valdrá la pena.



Tirá a la mierda tu wii-mote

1 06 2008

Este video me voló la peluca. Unos flacos desarrollaron un sistema capaz de trackear el movimiento de cualquier objeto por medio del uso de una simple web-cam.

Lo mas lindo es que se puede usar CON CUALQUIER JUEGO DE PC.

Para estar al tanto, visiten el sitio web de la empresa.