ZPMI #009 – Animacja 2D

Hej!
Co ja się wycierpiałem przez ostatnie trzy tygodnie to się w głowie nie mieści.
Wymyśliłem sobie mianowicie, że siłą mojej przygodówki będą animacje - że będzie ich dużo i będą fajne. I wszystko pięknie tylko nie umiem animować :) Z drugiej strony nie chcę obciążać graficzki tysiącem animacyjek bo i tak ma furę roboty do zrobienia.
Z powyższego równania wychodzi jedno - postacie będą animowane szkieletowo i ja się muszę tego nauczyć ;)
Disklajmer: poniższe animacje to szybkie testowe cykle chodu robione przez gościa który tego nie umie - widzę, że są brzydkie, widzę, że chrupią. Chodziło o szybkie przetestowanie kilku programów i wybranie narzędzia. Narzędzie wybrałem, animacji się uczę - kolejne zajawki będą milsze dla oka. Obiecuję.
Unity
Zacząłem pod Unity tak jak pokazałem w tutorialu 1 i 2. Efekt nie był zadowalający, a możliwości edycji i dogrywania takiej animacji są w tym momencie w Unity bardzo małe.

Krita
No to potem stwierdziłem, że oszukam 'kości' - zrobię animację w Kricie obracając warstwy i wyeksportuję to jako poszczególne klatki. Szybki szkic chodu wyszedł całkiem przyzwoicie:

ale potem układanie według tego schematu prawdziwych warstw już nie szło tak ładnie:

Animację poklatkową robi się bardzo intuicyjnie. Jednak mój wymysł, że warstwa to kość i w poszczególnych klatkach obracam i przesuwam warstwy to katorga w edycji i dogrywaniu - nie był to dobry pomysł.
Blender
Następny był Blender - wiadomo, że narzędzia do animacji postaci ma nieporównywalnie lepsze. A do tego teraz jest fajny Grease Pencil - no to może tam. Zrobiłem szkielet, namalowałem Grease Pencilem postać i "tchnąłem w nią ducha":

Efekt całkiem przyjemny, praca z animacją szalenie satysfakcjonująca. Trochę gorzej potem z wyrenderowaną postacią - musiałbym się jeszcze podciągnąć z oświetlenia i renderingu, ale wygląda to obiecująco:

Godot
W międzyczasie 'troszeczkę' mnie wessało w Godota i Escorię.
Szkielet gry na Escorii poukładałem w kilka wieczorów, napotkane błędy i niedociągnięcia udawało się szybko przezwyciężyć.
To se wymyśliłem jeszcze inaczej:
"A jakby tak zrobić przygodówkę na Escorii przy okazji ucząc się Godota i po drodze poprawiać napotkane błędy i dorabiać nową funkcjonalność?"
Wtedy po kilku miesiącach pracy miałbym otwarte narzędzie z ewentualnymi, skrojonymi pod siebie poprawkami, do tego byłbym w miare ogarnięty w Godocie i mógł lepiej dobierać silnik do kolejnych projekty. Same plusy.
No to zrobiłem forka Escorii na GitHubie. Zgłosiłem poprawki, żeby aktualna wersja działała na aktualnym Godocie. Zostały przyjęte i w tym momencie Escoria master działa normalnie na Godocie 3.2.
Zrobiłem na swoim forku oddzielną gałąź: 3.2-WIP i tam wrzucam swoje poprawki i wydumki, a zaakceptowane przez maintainera zmiany będę przerzucał do głównego repozytorium.
Idąc za ciosem spróbowałem zrobić animację postaci na szkielecie bezpośrednio w Godocie:

Jest poprawnie. Robi się przyjemnie ale miejscami brakuje funkcjonalności. No ale da się, niedociągnięcia mogę poprawić i zgłosić poprawki do Godota - fajnie, linuksiarsko i programistycznie.
Oczywiście można się czepiać, że nie rozważałem Spritera, Spine czy Unitowej Animy2D. Spritera nie używałem, ze Spine i Animą 2D miałem trochę do czynienia wcześniej ale mnie jakoś nie uwiodły. Może jeszcze wrócę z podkulonym ogonem, ale chciałem rozwiązanie w miarę otwarte i działające dobrze na Linuksie. Jeżeli nie ogarnę tego tak jak chcę pod Godotem to raczej wycofam sie w kierunku Blendera :)
Pan Anatol i mamuty
Stan na dziś jest taki, że mam praktycznie cały świat (26 lokalizacji, dojdą jeszcze drobiazgi typu błądzenie po dżungli) działający. Mogę sobie chodzić tam i nazad, dodawać postacie, zagadki i dialogi.
Mam działające pierwsze 2 puzzle, można porozmawiać z 6 postaciami (z 19 przewidywanych).
Strasznie szybko się buduje dialogi, cut scenki i puzzle pisząc normalne pliki tekstowe - bez porównania do wyklikiwania 'nodów' pod Unitowym Adventure Creatorem.
Technicznych barier nie widzę na razie - muszę dorobić:
- zapisywanie gry ze zrzutami,
- obsługę mapy - wyświetlanie, zaznaczanie postaci i odsłanianie przebytych obszarów.
- obsługę książek czy notatek - przedmiotów które da się pokazać na ekranie
i tyle. Reszta mi działa.
Interfejs sobie wymyśliłem staroszkolny - klasyczne 9-verbs tylko w moim przypadku będzie ich 6. Nie będzie 'push' i 'pull', zamiast tego będzie 'attack'.

Możliwe, że to precyzyjnie wymierzony strzał w kolano ale mam
wrażenie, że po tych wszystkich "interaktywnych podróżach w głąb własnej
podświadomości by przeżyć głębię wielopoziomowego rozwoju własnego ja"
ludzie mają już ochotę zagrać w normalną kombinowaną przygodówkę - nie
tylko look i use ale dużo, dużo więcej mięska. I śmiechu. Mam
nadzieję.
W każdym razie tego typu interfejs sprawdzi się też pięknie na urządzeniach smyranych - buduję sobie testowo na telefon czasami i całkiem miło sie gra.
Reszta
A reszta leży. Tak sie wkręciłem w Godota i Anatola, że praktycznie cały czas poświęcam na składanie grywalnej alfy - wymyślanie zagadek, pisanie dialogów i naukę animacji. A tu w planach jeszcze strona WWW gry i szykowanie strony na Steamie. Póki mam flow to cisnę ten jeden projekt i się nie rozdrabniam. Wrócę do projektów pobocznych jak mi trochę zapał opadnie, a na razie szkoda czasu.