Mein Name ist Kevin und ich bin Programmierer / Designer bei Klei. Ich habe ein paar Animationen geschrieben, die wir in den Serien Mark of the Ninja und Don't Starve von Shank verwendet haben.
Unsere Animatoren arbeiten in Flash. Wir haben ein Konzept eines Charakters, das sich aus einer Reihe von Körperteilsymbolen mit mehreren Ansichten zusammensetzt. Abhängig von der Wiedergabetreue des Spiels gibt es mehr oder weniger Körperteile mit mehr oder weniger "Sicht". Ich denke, dass Shank ungefähr 30 Körperteile mit jeweils 1-2 Dutzend Ansichten hatte, während Wilson von Don't Starve ungefähr ein Dutzend Körperteile mit nur ungefähr der gleichen Anzahl von Ansichten hat. Benutzerdefinierte JSFL-Skripte werden verwendet, um die Zeitleisten der Flash-Symbole zu analysieren und dann die relevanten Bilder als eine Reihe von hochauflösenden PNG-Dateien zusammen mit einer Reihe von Metadaten auszuheizen, die wir in einer XML-Datei speichern.
Bei einer bestimmten Charaktererstellung erstellen unsere Animatoren ein neues Stammsymbol in einer anderen Datei, das einen Teil der Animation für diesen Charakter enthält. In dieser Zeitleiste erstellen sie den Charakter aus Build-Symbolen und verschieben ihn, tweenen ihn usw., um einzelne Animationen zu erstellen (die durch Rahmenbeschriftungen abgegrenzt werden). Das Exporter-Skript exportiert diese Zeitleisten in XML, wobei die 2D-Transformation jedes Build-Elements und die angezeigte Ansicht berücksichtigt werden.
Mit all diesen Informationen, die in XML und PNG exportiert wurden, führen wir eine Reihe von Python-Skripten aus, um sie in Laufzeitdaten zu konvertieren. Ein Skript verkleinert, atlantisiert und kopiert alle Texturen und konvertiert sie in (ein oder mehrere) komprimierte, plattformspezifische Formate. Ein anderes Skript verarbeitet die XML-Animationsdaten in ein effizienteres Binärformat.
Zur Laufzeit müssen nur die richtigen Build-Symbole mit den richtigen Transformationen und Ansichten angezeigt werden.
Die Entwicklung dieses Systems hat lange gedauert und wurde verbessert, da wir es von Spiel zu Spiel verschoben haben. Es gibt viele Details, die ich beschönige (wie zum Beispiel das Überlagern und das Tauschen von Kostümen zur Laufzeit), aber das ist die allgemeine Gliederung.
Natürlich ist die Technologie, die wir verwenden, wahrscheinlich der am wenigsten wichtige Aspekt des "Klei Look". Das Wichtigste ist, dass wir eine Menge wirklich, wirklich guter Animatoren haben. :)
Wie auch immer, ich hoffe das hilft. Wenn Sie weitere Fragen zu Don't Starve haben, können Sie in unseren Foren vorbeischauen.