Mientras jugaba algunos juegos en mi tiempo libre personal, me topé con un juego de supervivencia 2D / 3D de supervivencia. Aparentemente, el juego se hizo en SDL y GLUT (no se muera de hambre), pero lo que realmente me sorprendió fueron las animaciones en el juego.
Las animaciones son extremadamente suaves y fluidas. No hay distorsión durante la animación, lo que generalmente sucede en las animaciones hechas a mano es que los píxeles se eliminan, las animaciones son irregulares y simplemente no son tan suaves. Eso me hizo pensar en cómo lograron lograr tal calidad de animaciones. Fueron realmente hechos a mano (si lo fueron, entonces debe haber tenido un artista muy talentoso), ¿es una animación ósea o están utilizando otra técnica?
Respuestas:
Mi nombre es Kevin y soy programador / diseñador en Klei. Escribí un montón de material de animación que usamos en la serie Shank, Mark of the Ninja y Don't Starve.
Nuestros animadores trabajan en Flash. Tenemos el concepto de un personaje 'construir' que es un conjunto de símbolos de partes del cuerpo con múltiples vistas. Dependiendo de la fidelidad del juego dado, hay más o menos partes del cuerpo con más o menos "vista". Creo que Shank tenía aproximadamente 30 partes del cuerpo con 1-2 docenas de vistas cada una, mientras que Wilson de Don't Starve tiene aproximadamente una docena de partes del cuerpo con solo la misma cantidad de vistas. Las secuencias de comandos JSFL personalizadas se utilizan para analizar las líneas de tiempo de los símbolos flash y luego hornear las imágenes relevantes como una serie de archivos PNG de alta resolución, junto con un montón de metadatos que pegamos en un XML.
Dada la construcción de un personaje, nuestros animadores crean un nuevo símbolo raíz en otro archivo para contener una porción de animación para ese personaje. En esa línea de tiempo, crean el personaje a partir de símbolos de construcción y lo mueven, lo interpolan, etc. para crear animaciones individuales (que se delimitan con etiquetas de fotogramas). El script del exportador exporta estas líneas de tiempo a XML, tomando nota de la transformación 2D de cada pieza de construcción, y qué vista se muestra.
Con toda esta información exportada a XML y PNG, ejecutamos una serie de scripts de Python para convertirlos en datos de tiempo de ejecución. Un script reduce el tamaño, atlas y mips todas las texturas y las convierte a (uno o más) formatos comprimidos específicos de la plataforma. Otro script procesa los datos de animación XML en un formato binario más eficiente para cargar.
En tiempo de ejecución, en realidad solo se trata de mostrar los símbolos de compilación correctos con las transformaciones y vistas correctas.
La construcción de este sistema tardó mucho tiempo y se ha perfeccionado a medida que lo hemos movido de un juego a otro. Hay muchos detalles que estoy pasando por alto (como la forma en que manejamos las capas y el intercambio de disfraces en tiempo de ejecución), pero ese es el esquema general.
Por supuesto, la tecnología que usamos es probablemente el aspecto menos importante de la 'Klei Look'. La parte más importante es que tenemos un montón de animadores realmente buenos. :)
De todos modos, espero que esto ayude. Si tiene más preguntas sobre Don't Starve, puede pasar por nuestros foros, donde generalmente estoy muy contento de hablar de compras.
fuente
Klei generalmente usa una combinación realmente agradable de animaciones esqueléticas y cambios de sprites.
Armaron un esqueleto, aplicaron sprites a los huesos y luego intercambiaron sprites como lo requiere un marco de animación.
El "cómo" exacto (flujo de trabajo / herramientas / etc.) en realidad solo puede provenir de ellos, sin embargo, ellos mismos lo dijeron al anunciar "Shank", prelanzamiento.
Y si miras Shank / ShankII, Mark of the Ninja y Don't Starve, notarás que la animación se parece mucho a las cosas que podrían salir de Nickelodeon.
Me imagino que también están trabajando con gráficos de escenas para mantener todo cuerdo, pero nuevamente, eso es más una suposición basada en la complejidad y lo que funciona para la animación (2d / 3d) que una garantía.
fuente
Creo que definitivamente usan animación de huesos. También usan sprites de alta resolución (para evitar irregularidades) o usan algún tipo de gráficos vectoriales. Es completamente posible, ellos pre-renderizaron gráficos vectoriales en sprites de alta resolución. Definitivamente no usaron pixel art para este. :)
fuente