ExeBlog, desarrollo de videojuegos y más

Blog de Exelweiss dedicado al desarrollo de videojuegos, industria del videojuego, advergaming, juegos online, etc

Artículos por tema: Producción y desarrollo

Animar sprites para juegos de móvil con Flash

Por Daniel G. Blázquez
7 diciembre 2008

Tal y como comenté en la charla sobre arte en videojuegos para móvil del CDV, cuando empezamos ha desarrollar juegos para móviles java hace cosa de 5 años, tuvimos que dar un nuevo enfoque a la animación de sprites debido a los altos requisitos de optimización de estos dispositivos.

Para animar cualquier sprite de la forma más óptima posible, es necesario:

  • Los fotogramas de la animación (sprites) sin espacios en blanco. Cada sprite tiene el tamaño mínimo posible y normalmente cada uno tiene un tamaño diferente.
  • Identificador o nombre de la animación (por ej., “prota_corre”, “prota_muere”, lo que sea…)
  • Script de animación para definir la secuencia de fotogramas (Por ej., 1, 2, 1, 3, 2…), para no tener que repetir gráficos.
  • Coordenadas de referencia para cada sprite. Esta coordenada dentro del sprite se utiliza para concatenar fotogramas de diferentes tamaños, además de ser utilizada por el programador para colocar el sprite en pantalla.
  • Total independencia del programador. Si se consigue separar código y arte ¡es increíble lo que favorece la productividad!


Algunos fotogramas de la animación “andar” del juego Mr. Bean. Los puntos de referencia (en rojo).

Las dichosas coordenadas de referencia

Hay que tener en cuenta que cada sprite puede tener su coordenada de referencia en un lugar diferente.En este punto nos planteamos cómo disponer de dicha coordenada de forma visual y rápida, sin tener una incomoda y larga lista de coordenadas.

Lo más práctico y rápido en ese momento fue crear una 2ª imagen por cada sprite para indicar la coordenada (o coordenadas) mediante un pixel de color. Esa imagen se procesaría posteriormente para extraer la coordenada.

Esto nos permitía poder realizar montajes más complejos de animaciones dependientes unas de otras.


El fogonazo del fusil (b) y los casquillos (c) depeden automáticamente del fúsil (a) gracias a este sistema de puntos (Storm Gunner).

Y entonces llegó “Flash”…

Pronto este sistema no fue suficiente para crear animaciones más complejas. En ese momento se nos ocurrió usar directamente algún programa de animación. Flash fue la solución. Las ventajas son incalculables…

  • Es el programa de animación más utilizado del mundo. El animador sólo se preocupa de animar. Aumenta el rendimiento y la producción se mejora.
  • La especificación del los ficheros SWF es pública. Es posible extraer la información de coordenadas y sprites del fichero. (gracias Josep!)
  • Permite reutilizar sprites.
  • Permite las transformaciones básicas (rotaciones y volteos)
  • Es posible combinar sprites con imágenes vectoriales.
  • Es posible crear diferentes paquetes de gráficos mediante el uso de capas. Por ejemplo, si necesitamos eliminar cierta animación para un paquete de gráficos en concreto, sólo hay que colocarla en una capa y ocultarla antes de exportar.
  • Todo el proceso es 100% independiente del programador. Se pueden hacer cambios de forma fácil y sencilla. Los cambios se puede probar al instante en el juego.


Sprites finales del protagonista de “Livingstone, Lost Again“.


Animación creada en Flash con sprites

No obstante, sigue siendo necesario disponer de un sencillo script para definir las animaciones y las secuencias de fotogramas:

STANLEY_IDLE = 1,1,1,1,1,2,3,3,3,3,3,2; 	//quieto
STANLEY_WALK = 4-11;
STANLEY_JUMP = 14-20;
STANLEY_CHANGIDLE = 31,31-35,35,35,35-31; 	//colgado del techo quieto
STANLEY_CHANG = 40-47;				//techo moviéndose
STANLEY_BHANGIDLE = 50,50,50-55,55,55,55-50; 	//colgado del borde quieto
STANLEY_BHANG = 58-64,20; 			//colgado del borde salta
STANLEY_SHOT = 23-29; 				//látigo
STANLEY_CROUCH = 99, 102;			//agachado
STANLEY_CRAWL = 100-105,104,103,102,101; 	//arrastrándose
STANLEY_WAKE = 102, 99;				//levantarse
STANLEY_WHANG = 110-116; 			//colgado del látigo
STANLEY_CLIMB = 67,67,67,67-70,70,70,70,69,68; 	//enredadera quieto
STANLEY_CLIMBH = 80-84; 			//enredadera horizontal
STANLEY_CLIMBV = 88-93;				//enredadera vertical
STANLEY_JUMPSHOT = 123-128; 			//látigo saltando
STANLEY_DIE = 132-137;	 	 		//muerte

EL Gran Hermano del desarrollo de videojuegos

Por José Vicente Pons Alfonso
24 septiembre 2008

Pues sí, Gran Hermano ha llegado al desarrollo de videojuegos. Buscando fórmulas para apoyar a las nuevas empresas que se dediquen a desarrollar videojuegos, en México ha comenzado una iniciativa en forma de concurso tipo “virtuality”.

Juego de Talento (JDT) surge por iniciativa de FONE (Foro de la Nueva Economía) y emula el mismo concepto utilizado en los reality show de TV, pero en Internet. Durante 8 semanas, 24 grupos de competidores deben demostrar al jurado y al público que poseen el talento necesario para abrirse camino en el competitivo mundo del desarrollo de videojuegos.

Cada semana los equipos que no alcancen los objetivos estarán nominados y los que obtengan menos votos deberán abandonar el concurso. Al final se tendrán 6 ganadores, cuyos proyectos entrarán a una fase de incubación y producción.

En total se inscribieron 102 proyectos en categorías de estrategia y aventura con sus respectivas variantes (FPS, Survival horror, plataforma) de los que se escogieron 24. Los equipos harán un cómic donde contarán su historia y experiencia durante el concurso que finalizará el 7 de Noviembre.

Electronic Arts, en conferencia de prensa, anunció su apoyo a Juego de Talento, una iniciativa que tiene como fin impulsar el desarrollo de la industria de los medios interactivos en México.

Me parece muy bien esta iniciativa y espero que se sigan haciendo más eventos de este tipo.

[cita] auto-satisfacción…

Por Daniel G. Blázquez
10 septiembre 2008

[...] muchas veces nos olvidamos de lo que ha conducido al usuario a comprar y utilizar nuestro juego y nos centramos más en auto-satisfacernos, sea de forma estética, como a nivel de IA o cualquier otra excusa para decir “mira qué chulo lo que he hecho”. Creo que al diseñar un juego deberíamos tener siempre muy claro que estamos creando un producto para un usuario. Y nuestro objetivo debería ser satisfacerle a él, no a nosotros mismos.

Narratividad y Videojuegos – 2/2 – Chris Crawford

Comentarios desactivados

¿Que prefieres, libros o Internet?

Por Carles Pons
8 septiembre 2008

Hoy ha llegado a la oficina nuestro último pedido de libros tecnicos de Amazon.com

  1. Programming Collective Intelligence
  2. High Performance Websites
  3. Creating the Art of the Game
  4. Mysql Database Design and Tuning
  5. Mysql Administrator Guide and Language Reference

En la empresa siempre hemos tenido la costumbre de realizar pedidos a Amazon cada cierto tiempo. Tenemos una amplia libreria con el material que hemos ido necesitando durante estos últimos años, ya que creemos que tener libros a mano , puede hacerte adelantar mucho trabajo.

Ultimamente estoy viendos criticas a algunos libros del tipo: No esta mal, pero no pone nada que no esté en Internet. Este tipo de comentarios me parecen muy injustos por lo que estoy totalmente en desacuerdo.

Todos sabemos la revolucion que ha sido Internet para la busqueda de informacion. Lo tenemos “TODO” en un simple click de ratón. Además es un medio muy rápido, cuando sale una nueva tecnologia a las pocas horas tenemos cientos páginas que hablan de ella.

En cambio el proceso de creación de un libro es mucho mas complicado por lo que puede tardar en publicarse uno o dos años. Este periodo es una clara desventaja sobretodo en el mundo de la tecnologia que se mueve muy rapidamente.

Sin embargo, el formato papel tiene tambien su encanto. Los libros tienen la ventaja de estructurar mejor la información. Me da la impresión que Internet es un como un puzzle donde estan todas las piezas pero tienes que ser tu el que las acabe juntando. En cambio en un buen libro este puzzle ya lo tienes montado

Yo desde luego me quedo con los dos, ya que son medios complementarios.

P.D Cuando lea los libros publicaré una critica de ellos en el blog. Mientras tanto recomiendo Advanced Php Programming y High Performance Sql

¿Alguien recomienda algun libro para el desarrollo de páginas con alto tráfico?

Actualizado 17/11/09 (Dani):
Una interesante lista de libros recomendados si quieres ser programador gráfico.

¿Qué hardware utilizan los jugadores casuales y los hardcore?

Por Daniel G. Blázquez
5 agosto 2008

Valve inició en noviembre de 2007 una completa encuesta sobre hardware sobre su plataforma Steam que todavía está activa y ya dispone de 1777026 muestras, ideal para conocer el hardware de los más jugones.

Por ejemplo, la mayoría tienen más de ½ GB de RAM (un 70% tiene más de 1 GB). Un 60% todavía tiene una sóla CPU, y normalmente la frecuencia de la misma es a más de 2.0 Ghz. En el tema de la tarjeta gráfica, se observa mucha NVIDIA, pero hay muchísima fragmentación.

Realmente somos muchos los que estamos hasta la coronilla del hardware de PC.

¿Y los jugadores casuales?

Como contrapartida, la gente de Unity3D (sí, esa magnifica plataforma de desarrollo competencia de Adobe Director) ha hecho su propia encuesta con los usuarios que utilizan su web player, con un perfil mucho más casual.

A destacar el uso arrollador de Windows, sobre todo XP 32 bits (aunque seguramente esto cambiará paulatinamente).

El ordenador suele ser Intel (el 70%) con 1 o 2 CPU’s. Y la mayoría de la tarjetas gráficas no son muy buenas (sobretodo mucho Intel), aunque un 70% admite pixel shader 2.0 o superior.

Comentarios desactivados

Los formatos Flash SWF y FLV, sin restricciones de uso.

Por Daniel G. Blázquez
3 mayo 2008

Adobe ha eliminado las restricciones de uso de los formatos Flash (SWF, FLV/F4V) y junto a empresas como Nokia, Qualcomm, Samsung, SonyEricsson o Intel ha creado el Open Screen Project.

Una gran noticia para los desarrolladores. Hasta ahora, la especificación SWF era pública, y la licencia permitía crear contenido en ese formato, pero no crear reproductores.

Al igual que hizo en su época con el PDF, con este movimiento Adobe anima a los desarrolladores a crear todo tipo de herramientas y reproductores entorno al formato, permitiendo su incorporación en casi cualquier dispositivo (televisión, móviles, etc).

Muy hábil por su parte.

Más info en incubaweb.com

Alternativa3D, nuevo motor 3D para Flash.

Por Daniel G. Blázquez
21 abril 2008

Alternativa3D es un impresionante motor 3D, super optimizado para Flash Player, creado por un grupo Ruso.

Nada mejor que una demos con un estupendo trabajo de texturizado para abrir boca (pulsa “t” para ver el mallado):

Las especificaciones no están nada mal para ser un motor por software (y encima sobre Flash):

Pese a que es un gran trabajo, tengo mis dudas sobre si es práctico utilizar este tipo de motores 3D no oficiales a largo plazo.

Está claro que en antes o después, Flash soportará aceleración por Hardware, pero aún así… no sé si me arriesgaría a desarrollar un proyecto serio sobre este tipo de plataformas, cuando ya existen sistema muy desarrollados (como Shockwave 3D o JAVA). O incluso que mañana Adobe le dé por sacar un Flash 3D oficial. :-?

Visto en drawlogic.com


  • icono rss RSS