Quelle technique d'animation est utilisée dans 'Dont Starve'? [fermé]

12

En jouant à quelques jeux dans mon développement de congés personnels, je suis tombé sur un jeu de survie 2D / 3D de survie. Le jeu a apparemment été fait en SDL et GLUT (Ne mourez pas de faim) mais ce qui m'a vraiment étonné, ce sont les animations du jeu.

Les animations sont extrêmement fluides et fluides. Il n'y a pas de distorsion lors de l'animation, ce qui se passe généralement dans les animations faites à la main, c'est que les pixels sont supprimés, les animations sont irrégulières et elles ne sont tout simplement pas aussi lisses. Cela m'a fait réfléchir sur la façon dont ils ont réussi à réaliser une telle qualité d'animations. Étaient-ils vraiment faits à la main (s'ils l'étaient, alors cela a dû prendre un artiste très talentueux), s'agit-il d'une animation osseuse ou utilisent-ils une autre technique?

Bugster
la source
2
Je vous suggère de contacter les développeurs eux-mêmes pour avoir des informations aussi précises sur les technologies utilisées. Quiconque n'a pas travaillé sur le jeu peut simplement stipuler sans en être sûr.
DogDog
2
Eh bien, en posant cette question, j'ai fait quelques hypothèses, à savoir: 1. Contacter les développeurs eux-mêmes a très peu de chances de réussir (pourquoi quelqu'un partagerait-il ses secrets avec une personne aléatoire et combien de temps ont-ils pour vérifier leurs e-mails ?) 2. Je peux obtenir une réponse beaucoup plus rapide sur ce site Web, qui se compose de personnes qui ont des années d'expérience et dont j'apprécie les réponses, même si ce ne sont que des spéculations et enfin, les développeurs eux-mêmes peuvent utiliser ce site. et pourrait répondre à cette question, mais c'est très loin.
Bugster
1
La plupart des programmeurs sont vraiment ouverts à partager leurs connaissances, et je ne pense pas que la façon dont ils créent leurs animations 2D soit un secret, je pense que cela vaut la peine d'essayer. Peut-être que si vous leur parlez un peu de vous et pourquoi vous voulez qu'ils soient plus intéressants pour vous aider ou vous conseiller.
DogDog
1
Voir la FAQ sur « quelle technologie un jeu particulier utilise ». Demander comment obtenir un effet similaire serait une bien meilleure question. (Bien qu'il s'agisse probablement d'un doublon à quelque chose déjà sur le site.)
MichaelHouse
Cette question semble être hors sujet car elle concerne la technologie utilisée par un autre jeu.
MichaelHouse

Réponses:

40

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.

Kevin
la source
1
merci pour la profondeur. Je pense que le système que vous avez vraiment aide à faciliter un grand caractère très fluide, que la plupart des équipes à petit budget (et certaines équipes à budget élevé) ne pouvaient qu'imaginer. Il est certainement sûr de dire que si vous ne faisiez que de l'art sprite, sans interpolation / transformation de parties du corps, ou simplement transformations et sans états / vues, cela ne serait pas aussi incroyable. Comme vous l'avez dit cependant, un outil fait du bon travail lorsqu'il s'écarte et laisse briller l'artiste, ce que Klei fait beaucoup. Je dois dire que j'ai adoré toutes vos affaires et merci pour les ports PC.
Norguard
2
Heureux d'avoir pu aider! Je pense que nos artistes préféreraient en fait travailler dans un système où nous avons simplement cuit chaque image en tant que sprite, mais nous ne serions pas en mesure de permuter les costumes et les tailles de texture seraient prohibitives.
Kevin
1
Incroyable, je n'aurais jamais pensé obtenir de réponse d'un développeur du jeu. Je vous remercie d'avoir pris le temps de répondre à cette question. +1
Bugster
7

Klei utilise généralement une très belle combinaison d'animations squelettiques et de changements de sprites.
Ils truquent un squelette, appliquent des sprites aux os et ensuite ils échangent des sprites comme un cadre d'animation le demande.

Le "comment" exact (flux de travail / outils / etc) ne peut vraiment venir que d'eux, cependant, ils l'ont dit eux-mêmes lors de la publication de "Shank", pré-version.

Et si vous regardez Shank / ShankII, Mark of the Ninja et Don't Starve, vous remarquerez que l'animation ressemble beaucoup à ce qui pourrait sortir de Nickelodeon.

J'imagine qu'ils travaillent également avec des graphiques de scène pour que tout reste sain d'esprit, mais encore une fois, c'est plus une hypothèse basée sur la complexité et ce qui fonctionne pour l'animation (2d / 3d) qu'une garantie.

Norguard
la source
Étant donné que ce n'est qu'une supposition, cela fonctionnerait probablement mieux en tant que commentaire. Pas vraiment de votre faute, il n'y a aucun moyen de ne pas deviner à moins que vous ne soyez le développeur. (problème avec la question pas votre réponse)
MichaelHouse
Cela répond à peu près à la question que j'ai posée, j'avais quelque chose de similaire à l'esprit, mais il semble que vous ayez raison.
Bugster
2

Je pense qu'ils utilisent définitivement l'animation osseuse. Ils utilisent également des sprites haute résolution (pour éviter les irrégularités) ou utilisent une certaine forme de graphiques vectoriels. C'est tout à fait possible, ils ont pré-rendu des graphiques vectoriels en sprites haute résolution. Ils n'ont certainement pas utilisé le pixel art pour celui-ci. :)

AturSams
la source
2
Plus un commentaire qu'une réponse ne diriez-vous pas?
MichaelHouse
graphiques vectoriels en openGL? C'est possible, mais je doute vraiment qu'un développeur indépendant irait aussi loin.
Eric B
1
@EricB D'accord, il peut être pré-rendu en sprites ou dessiné à la main et rendu en haute résolution. Ce ne sont certainement pas des sprites au "sens classique" (ie pixel art) comme Spelunky et Cave Story.
AturSams
@ Byte56, je suis d'accord avec vous. Je réponds plus sur la façon de réaliser des visuels similaires que ce que leur artiste a fait sur celui-ci.
AturSams
@ Byte56 puisque la question est si difficile à répondre, les seules réponses viables sont des hypothèses, mais cette réponse pourrait très bien être une possibilité, merci.
Bugster