Je m'appelle Kevin et je suis programmeur / designer chez Klei. J'ai écrit un tas de trucs d'animation que nous avons utilisés dans la série Shank, Mark of the Ninja et Don't Starve.
Nos animateurs travaillent en Flash. Nous avons un concept de «construction» de personnage qui est un ensemble de symboles de parties du corps avec plusieurs vues. Selon la fidélité du jeu donné, il y a plus ou moins de parties du corps avec plus ou moins de «vue». Je pense que Shank avait environ 30 parties du corps avec 1-2 douzaines de vues chacune, tandis que Wilson de Don't Starve a environ une douzaine de parties du corps avec seulement le même nombre de vues. Des scripts JSFL personnalisés sont utilisés pour analyser la chronologie des symboles flash, puis créer les images pertinentes sous la forme d'une série de fichiers PNG haute résolution, ainsi qu'un tas de métadonnées que nous collons dans un XML.
Étant donné la construction d'un personnage, nos animateurs créent un nouveau symbole racine dans un autre fichier pour contenir un morceau d'animation pour ce personnage. Dans cette chronologie, ils créent le personnage à partir de symboles de construction et le déplacent, l'interpénètrent, etc. pour créer des animations individuelles (qui sont délimitées à l'aide d'étiquettes de cadre). Le script d'exportateur exporte ces chronologies au format XML, en prenant note de la transformation 2D de chaque élément de construction et de la vue qu'il affiche.
Avec toutes ces informations exportées au format XML et PNG, nous exécutons une série de scripts Python pour les convertir en données d'exécution. Un script réduit, atlas et mips toutes les textures et les convertit en (un ou plusieurs) formats spécifiques à la plate-forme compressés. Un autre script traite les données d'animation XML dans un format binaire plus efficace pour charger.
Au moment de l'exécution, il s'agit simplement de montrer les bons symboles de construction avec les bonnes transformations et la bonne vue.
Ce système a pris beaucoup de temps à construire et a été affiné au fur et à mesure que nous l'avons déplacé d'un jeu à l'autre. Il y a beaucoup de détails sur lesquels je passe sous silence (comme la façon dont nous traitons les superpositions et l'échange de costumes à l'exécution), mais c'est le schéma général.
Bien sûr, la technologie que nous utilisons est probablement l'aspect le moins important du «Klei Look». La partie la plus importante est que nous avons un tas d'animateurs vraiment, vraiment bons. :)
Quoi qu'il en soit, j'espère que cela vous aidera. Si vous avez d'autres questions sur Don't Starve, vous pouvez vous arrêter sur nos forums, où je suis généralement très heureux de parler de boutique.