Jaką technikę animacji stosuje się w „Dont Starve”? [Zamknięte]

12

Podczas grania w kilka gier w wolnym czasie, natknąłem się na grę survivalową 2D / 3D. Gra została najwyraźniej stworzona w SDL i GLUT (nie głoduj), ale naprawdę zadziwiły mnie animacje w grze.

Animacje są niezwykle płynne i płynne. Podczas animacji nie ma zniekształceń, co zwykle dzieje się w ręcznie wykonanych animacjach, to usunięcie pikseli, animacje są postrzępione i po prostu nie są tak płynne. To sprawiło, że pomyślałem o tym, jak udało im się osiągnąć taką jakość animacji. Czy były naprawdę ręcznie (jeśli tak, to musiał mieć bardzo utalentowanego artystę), czy to animacja kości, czy też używają innej techniki?

Bugster
źródło
2
Sugeruję skontaktowanie się z samymi programistami w celu uzyskania tak dokładnych informacji na temat zastosowanych technologii. Każdy, kto nie działał w grze, może po prostu ustalić, nie będąc pewnym.
DogDog,
2
Cóż, zadając to pytanie, podjąłem kilka założeń, które są następujące: 1. Kontakt z samymi programistami ma bardzo małą szansę na sukces (dlaczego ktoś miałby dzielić się swoimi sekretami z przypadkową osobą i ile czasu ma na sprawdzenie swoich e-maili ?) 2. Mogę uzyskać znacznie szybszą odpowiedź na tej stronie, która składa się z ludzi, którzy mają wieloletnie doświadczenie w tle i których odpowiedzi cenię, nawet jeśli są to tylko spekulacje i na koniec, sami programiści mogą korzystać z tej strony i może odpowiedzieć na to pytanie, ale jest to bardzo dalekie.
Bugster
1
Większość programistów jest naprawdę otwarta na dzielenie się swoją wiedzą i nie sądzę, że sposób, w jaki robią swoje animacje 2D, jest tak tajemnicą, myślę, że warto spróbować. Może jeśli powiesz im trochę o sobie i dlaczego chcesz, aby byli bardziej interesujący w udzielaniu ci pomocy lub porad.
DogDog,
1
Zapoznaj się z często zadawanymi pytaniami na temat „ jakiej technologii użyto konkretnej gry ”. Pytanie o osiągnięcie podobnego efektu byłoby znacznie lepszym pytaniem. (Choć prawdopodobnie duplikat czegoś już na stronie.)
MichaelHouse
To pytanie wydaje się być nie na temat, ponieważ dotyczy technologii używanej przez inną grę.
MichaelHouse

Odpowiedzi:

40

Nazywam się Kevin i jestem programistą / projektantem w Klei. Napisałem kilka animacji, które wykorzystaliśmy w serialu Shank, Mark of the Ninja i Don't Starve.

Nasi animatorzy pracują we Flashu. Mamy pojęcie „kompilacji” postaci, która jest zestawem symboli części ciała o wielu widokach. W zależności od wierności danej gry, jest mniej lub więcej części ciała z mniej lub bardziej „widokiem”. Myślę, że Shank miał około 30 części ciała z 1-2 tuzinami widoków, podczas gdy Wilson z Don't Starve ma około tuzina części ciała z tylko taką samą liczbą wyświetleń. Niestandardowe skrypty JSFL są używane do analizy osi czasu symboli flash, a następnie wypiekają odpowiednie obrazy jako serię plików PNG o wysokiej rozdzielczości, wraz z grupą metadanych, które umieszczamy w pliku XML.

Biorąc pod uwagę budowę postaci, nasi animatorzy tworzą nowy symbol główny w innym pliku zawierającym fragment animacji dla tej postaci. Na tej osi czasu tworzą postać z symboli kompilacji i przesuwają ją, animują itp., Aby tworzyć indywidualne animacje (wyznaczone za pomocą etykiet klatek). Skrypt eksportera eksportuje te osie czasu do formatu XML, biorąc pod uwagę transformację 2d każdego elementu kompilacji i widok, który pokazuje.

Po wyeksportowaniu wszystkich tych informacji do formatu XML i PNG uruchamiamy serię skryptów Python, aby przekonwertować je na dane w czasie wykonywania. Jeden skrypt zmniejsza rozmiary, atlasy i mipsuje wszystkie tekstury i konwertuje je na (jeden lub więcej) skompresowanych formatów specyficznych dla platformy. Inny skrypt przetwarza dane animacji XML do bardziej wydajnego w celu załadowania formatu binarnego.

W czasie wykonywania tak naprawdę chodzi tylko o pokazanie odpowiednich symboli kompilacji z odpowiednimi transformacjami i widokiem.

Budowa tego systemu zajęła dużo czasu i została udoskonalona, ​​ponieważ przenosiliśmy go z gry do gry. Jest wiele szczegółów, nad którymi pracuję (na przykład, jak radzimy sobie z nakładaniem warstw i zamianą kostiumów w czasie wykonywania), ale to jest ogólny zarys.

Oczywiście technologia, której używamy, jest prawdopodobnie najmniej ważnym aspektem „Klei Look”. Najważniejsze jest to, że mamy grupę naprawdę dobrych animatorów. :)

W każdym razie mam nadzieję, że to pomoże. Jeśli masz więcej pytań na temat Don't Starve, możesz odwiedzić nasze fora, na których zazwyczaj chętnie rozmawiam w sklepie.

Kevin
źródło
1
dzięki za dogłębne. Wydaje mi się, że system, który masz, naprawdę pomaga w utrzymaniu świetnych, płynnych postaci, co większość zespołów o małym budżecie (i niektóre zespoły o wysokim budżecie) mogą sobie tylko wyobrazić. Z pewnością można śmiało powiedzieć, że jeśli zajmujesz się sztuką sprite, bez interpolacji / przekształceń części ciała, lub po prostu przekształca się i nie ma stanów / poglądów, nie byłoby to aż tak niesamowite. Tak jak powiedziałeś, narzędzie robi dobrą robotę, gdy zsuwa się z drogi i pozwala artyście zabłysnąć, co Klei często robi. Muszę powiedzieć, że uwielbiałem wszystkie twoje rzeczy i dziękuję za porty PC.
Norguard,
2
Cieszę się, że mogłem pomóc! Myślę, że nasi artyści woleliby pracować w systemie, w którym po prostu wypalaliśmy każdą ramkę jako duszek, ale wtedy nie bylibyśmy w stanie wymieniać kostiumów, a rozmiary tekstur byłyby wygórowane.
Kevin
1
Niesamowite, nigdy nie myślałem, że dostanę odpowiedź od twórcy tej gry. Dziękuję za poświęcenie czasu na udzielenie odpowiedzi na to pytanie. +1
Bugster,
7

Klei zazwyczaj używa naprawdę fajnej kombinacji animacji szkieletowych i zmian duszka.
Olinują szkielet, nakładają duszki na kości, a następnie zamieniają duszki, gdy wymaga tego ramka animacji.

Dokładne „jak” (workflow / narzędzia / itp.) Tak naprawdę może pochodzić tylko od nich, jednak tak powiedzieli sami, reklamując „Shank”, przedpremierowo.

A jeśli spojrzysz na Shank / ShankII, Mark of the Ninja i Don't Starve, zauważysz, że animacja wygląda bardzo podobnie do rzeczy, które mogą pochodzić z Nickelodeon.

Wyobrażam sobie, że pracują z grafami scen, aby utrzymać wszystko przy zdrowych zmysłach, ale znowu, jest to bardziej założenie oparte na złożoności i działające w przypadku animacji (2d / 3d) niż gwarancja.

Norguard
źródło
Ponieważ jest to naprawdę tylko przypuszczenie, prawdopodobnie działałoby to lepiej jako komentarz. Nie do końca twoja wina, nie sposób zgadnąć, chyba że jesteś programistą. (problem z pytaniem, a nie odpowiedź)
MichaelHouse
To właściwie odpowiada na pytanie, które zadałem, miałem na myśli coś podobnego, ale wygląda na to, że masz rację.
Bugster
2

Myślę, że zdecydowanie używają animacji kości. Używają też duszków o wysokiej rozdzielczości (aby zapobiec postrzępieniu) lub używają grafiki wektorowej. Jest to całkowicie możliwe, wstępnie renderowali grafikę wektorową do duszków o wysokiej rozdzielczości. Zdecydowanie nie wykorzystali w tym przypadku grafiki pikselowej. :)

AturSams
źródło
2
Bardziej komentarz niż odpowiedź, prawda?
MichaelHouse
grafika wektorowa w openGL? Jest to możliwe, ale naprawdę wątpię, aby niezależny programista doszedł do takich starań.
Eric B,
1
@EricB W porządku, może być wstępnie renderowany w duszki lub ręcznie rysowany i renderowany w wysokiej rozdzielczości. Na pewno nie są to duszki w „klasycznym sensie” (tj. Pixel art), takie jak Spelunky i Cave Story.
AturSams,
@ Byte56 Zgadzam się z tobą. Odpowiadam bardziej na temat tego, jak osiągnąć podobne efekty wizualne niż na tym, co zrobił ich artysta.
AturSams,
@ Byte56, ponieważ na pytanie jest tak trudno odpowiedzieć, jedynymi realnymi odpowiedziami są założenia, ale odpowiedź ta może być bardzo możliwa, dzięki.
Bugster