ZPMI #009 – Animacja 2D
DevLog #009
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
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.