Benim adım Kevin ve Klei'de programcı / tasarımcıyım. Shank dizisi, Mark of the Ninja ve Don't Starve'da kullandığımız bir sürü animasyon yazdım.
Animatörlerimiz Flash'ta çalışıyor. Birden fazla görüntüye sahip bir vücut parçası sembolleri kümesi olan bir karakter 'inşa' karakteri var. Verilen oyunun sadakatine bağlı olarak, az ya da çok 'görüş' ile az ya da çok vücut parçası vardır. Sanırım Shank'ın her biri 1-2 düzine görüntülemeye sahip yaklaşık 30 vücut parçası vardı, Don't Starve'den Wilson ise sadece aynı sayıda görüşe sahip bir düzine vücut parçasına sahip. Özel JSFL komut dosyaları, flaş sembolü zaman çizelgelerini analiz etmek için kullanılır ve daha sonra ilgili görüntüleri, bir XML'e yapıştığımız bir grup meta veri ile birlikte bir dizi yüksek çözünürlüklü PNG dosyası olarak pişirir.
Bir karakter derlemesi verildiğinde, animatörlerimiz başka bir dosyada o karakter için bir dizi animasyon içerecek şekilde yeni bir kök sembolü oluşturur. Bu zaman çizelgesinde, karakterleri yapı sembollerinden oluştururlar ve tek tek animasyonlar (kare etiketleri kullanılarak ayrılmış) oluşturmak için etrafında hareket ettirir, arası doldururlar. İhracatçı betiği bu zaman çizelgelerini her yapı parçasının 2d dönüşümünü ve hangi görünümü gösterdiğini XML olarak dışa aktarır.
Tüm bu bilgiler XML ve PNG'ye aktarıldığında, bunları çalışma zamanı verilerine dönüştürmek için bir dizi Python komut dosyası çalıştırıyoruz. Bir komut dosyası, tüm dokuları küçültür, atlaslar ve mips eder ve bunları (bir veya daha fazla) sıkıştırılmış, platforma özgü biçimlere dönüştürür. Başka bir komut dosyası, XML animasyon verilerini ikili biçime yüklemek için daha verimli bir şekilde işler.
Çalışma zamanında, gerçekten sadece doğru dönüşümleri ve görünümü ile doğru yapı sembollerini göstermek meselesidir.
Bu sistemin oluşturulması uzun sürdü ve oyundan oyuna taşındığımız için rafine edildi. Üzerinde parladığım birçok ayrıntı var (katmanlama ve çalışma zamanı kostüm takasını nasıl ele aldığımız gibi), ancak genel anahat budur.
Tabii ki, kullandığımız teknoloji muhtemelen 'Klei Look'un en az önemli yönüdür. En önemli kısım, gerçekten çok iyi animatörlerimiz olması. :)
Her neyse, umarım bu yardımcı olur. Don't Starve hakkında başka sorularınız varsa, forumumuza uğrayabilirsiniz.