ITA to projekt trójwymiarowej gry strategiczno-przygodowej osadzonej w unikalnym świecie fantasy mojego autorstwa. Świat ten został wstępnie przedstawiony w niezależnym dodatku do gry Battle for Wesnoth i zyskał ogromne uznanie graczy na całym świecie liczone w dziesiątkach tysięcy pobrań (mowa o To Lands Unknown).

Projekt ITA został rozpoczęty w 2012 roku i był rozwijany przez 3 lata po czym prace nad nim zostały wstrzymane aż do odwołania.


Geneza projektu:

W trakcie prac nad kampanią natknąłem się na wiele problemów wynikających z ograniczeń jakie posiadał silnik gry Battle for Wesnoth. Choć "To Lands Unknown" zrewolucjonizowało podejście do wielu aspektów w zakresie przedstawienia fabuły (zwłaszcza pod kątem wizualnym) to jednak nie wszystko co planowałem udało mi się zrealizować. Bitwa o Wesnoth oferuje graczom a przede wszystkim twórcom wiele możliwości modyfikowania zawartości jednak są pewne bariery, których nie da się przeskoczyć. Wynikają one często z fundamentalnych założeń jakie przyświecały temu open-source'owemu projektowi od samego początku, jak chociażby grafika 2D czy brak możliwości dynamicznego przedstawienia akcji (system turowy).

Tworząc TLU miałem głowę pełną pomysłów jednak wiele z nich musiałem ograniczyć lub usunąć, by dało się to wszystko zrealizować w formacie jaki oferowała bazowa gra. Można powiedzieć, że finalny produkt (który wciąż zachwyca sporo osób) jest naprawdę mocno okrojony i przedstawia jedynie 15% oryginalnych zamierzeń.

Dlatego 2 lata po premierze dodatku, gdy już wiedziałem jak wielki to był sukces, postanowiłem zaangażować się w coś znacznie większego. Postanowiłem spróbować stworzyć własną niezależną grę stanowiącą rozwinięcie tego co oferowało TLU. Pomysł był niezwykle ambitny, tym bardziej że wtedy nie miałem zbyt dużego doświadczenia z tworzeniem własnych gier, znałem się za to trochę na moddingu. Zagłębiłem się jednak w temat i poznałem oprogramowane Unity 3D (wtedy jeszcze w wersji 3 bodajże) i postanowiłem dać całej inicjatywie szansę.

Początki:

Zależało mi na stworzeniu czegoś w rodzaju trójwymiarowej interaktywnej opowieści okraszonej ciekawą mechaniką. Jednak najpierw musiałem poszerzyć swoją wiedzę. Modyfikowanie to nie to samo co tworzenie od podstaw. Najwięcej czasu poświęciłem nauce programowania a dokładniej zrozumienia jak działa całe zaplecze technologiczne typowej gry. Nie było to dla mnie łatwe, ponieważ lepiej przemawiają do mnie obrazy niż linijki kodu (mam bardziej artystyczne niż ścisłe podejście do wielu rzeczy). Kiedy już nawet zacząłem łapać o co w tym wszystkim chodzi, odkryłem rozszerzenie do Unity o nazwie Playmaker, które zakończyło moje męki z Visual Studio. Playmaker to narzędzie do programowania wizualnego w oparciu o tzw. automaty skończone. Stosuję je z powodzeniem do dziś w różnych zadaniach wymagających skryptowania. Plamaker jest zintegrowany z interfejsem Unity drastycznie przyspieszając pracę nad kodem.

Niedługo po odkryciu i zaznajomieniu się z Playmakerem, pojawiła się nowa wersja Unity (tym razem 4) która oferowała niezwykle ciekawy system animacji Mecanim. Mam całkiem niezłe doświadczenie z Blenderem, programem do tworzenia obiektów 3D, a system Mecanim okazał się być niezwykle przydatnym rozwiązaniem. Nauczyłem się korzystać z niego w podstawowym stopniu a i to wystarczyło, by integrować z powodzeniem różnego rodzaju animacje do projektu.

W końcu zjawiło się Unity 5 wraz z rewolucyjnym systemem dynamicznej globalnej iluminacji. I to był ten moment, kiedy mogłem wreszcie zabrać się za coś konkretnego. Tym bardziej, że fani mojej twórczości nieustannie dopytywali się o postępy w pracach. Dysponowałem wtedy dość mocno rozgrzebaną tzw. sceną testową na której przeprowadzałem różnego rodzaju eksperymenty z mechaniką przyszłej gry. Nie było szans na stworzenie w najbliższym czasie nawet technicznego dema (to co miałem nie nadawało się do pokazania szerszej publiczności), więc musiałem trochę improwizować.

Przeglądarka jednostek ITA:

Tym sposobem wpadłem na pomysł stworzenia tzw. przeglądarki jednostek - małej aplikacji, która prezentowałaby przeniesione do 3D postacie z tzw. Ery Magii, dodatku na którym bazuje To Lands Unknown. Miałem na tym etapie wystarczającą wiedzę by tego dokonać i był to dobry ruch. Na początek stworzyłem potrzebne mi jednostki. Ponieważ Era Magii liczy sobie ponad 200 różnych jednostek, przeniesienie tego w trzeci wymiar było raczej nie wykonalne w krótkim przedziale czasu. Postanowiłem więc zrobić ograniczoną wersję przeglądarki zawierającą jedynie wybrane jednostki z frakcji tzw. Przywoływaczy - pustynnej nacji, której przedstawicielem był główny bohater TLU. Ta nacja jest dość zróżnicowana, bowiem występują w niej ludzie oraz magiczne istoty takie jak żywiołaki (istoty stworzone z podstawowych żywiołów) czy dżiny. Było więc spore pole do popisu.

Postacie ludzkie są dość złożonymi tworami zarówno w wirtualu jak i realu. Zdecydowałem się więc zacząć od przeniesienia żywiołaków. Środowisko 3D dało im niezłego wizualnego kopa. Żywiołaki wody otrzymały specjalny napisany przeze mnie shader, dzięki któremu sprawiały wrażenie jakby były faktycznie stworzone z poruszającej się wody. Mało tego dodałem im animacje uwzględniające również tzw. blend shape'y skutecznie deformujące ich sylwetki na poziomie pojedynczych vertexów (punktów z których budowane są modele 3D).

W przypadku żywiołaków ognia i powietrza zastosowałem głównie efekty cząsteczkowe z małym wyjątkiem w przypadku tzw. Bóstwa Ognia. Bóstwo to wygląda jak coś w rodzaju feniksa lecz w jego przypadku stworzyłem pełnoprawny model 3D z własną animacją machania skrzydłami i bardzo ciekawym podwójnym shaderem zniekształcającym ognistą sylwetkę, powodując że całość wygląda naprawdę niezwykle.

A jeśli chodzi o żywiołaki ziemi to zastosowałem w ich przypadku wielowarstwowe materiały odpowiadające za nierówności, połyskujące miejsca i cienie w zagłębieniach. Bóstwo Ziemi ma nawet drzewko wystające z głowy i reagujące na porywy wiatru.

W przypadku wspomnianych już Przywoływaczy, którzy jakby na to nie patrzeć są ludźmi, sprawa była trochę bardziej złożona. Wstępne modele wygenerowałem za pomocą programu Makehuman, po czym musiałem je dostosować oraz dość dokładnie oteksturować, origować, nadać proste animacje postoju itd. Ponieważ oddziały te są dość podobne do siebie, postanowiłem wykorzystać ponownie tzw. blend shape'y by zmodyfikować ich twarze. Napisałem do tego mały skrypt, który losowo generuje im wielkość nosa czy wysokość brwi. O dziwo nie było to tak trudne jak zakładałem. Dodałem też losową modyfikację ich wzrostu dla większego urozmaicenia.

Na końcu zabrałem się za istoty magiczne takie jak unoszące się w powietrzu dżiny i tajemnicze żeńskie ich odpowiedniki zwane Rhami. Tu też zastosowałem własne shadery by nadać ich błękitnej skórze metalicznego blasku oraz dorobić im świecące wzory w kształcie przedziwnych tatuaży.

Gdy postacie były już po części gotowe, postanowiłem zabrać się za programowanie Przeglądarki. Miała działać na zasadzie przewijanej klikalnej listy podzielonej na kategorie. Stworzyłem prosty poziom/platformę w środku której pojawiać się miały wywoływane przez gracza jednostki. Gdy to już było, zabrałem się za skryptowanie mechaniki oraz tworzenie graficznego interfejsu użytkownika.

Dałem graczom możliwość obsługi programu na różne sposoby: poprzez klikanie na listę; poprzez klikanie na strzałki naprzód/wstecz oraz przez klawiaturę. Zgranie tego było nie lada wyzwaniem, jednak ostatecznie udało się.

Swoją małą premierę Przeglądarka miała pod koniec 2015 roku, kiedy to zaprezentowałem ją polskiej społeczności gry Battle for Wesnoth. Dla wielu fanów świata Ery Magii było to niezwykłe doświadczenie móc obejrzeć wiele znanych im postaci tym razem w trójwymiarowej wersji. Całość spotkała się z bardzo dobrymi opiniami i tylko podsyciła apetyt na więcej.

Podsumowanie:

Wykonanie tej małej aplikacji było dla mnie czymś niezwykle owocnym. Po raz pierwszy w jednym projekcie wykorzystałem wiedzę z tak wielu różnych dziedzin, począwszy od modelowania, przez projektowanie shaderów aż po programowanie graficznego interfejsu użytkownika. Najważniejszym doświadczeniem dla mnie było jednak poznanie skali a raczej ogromu pracy jaką trzeba włożyć, by wyprodukować coś takiego. Przeglądarka sama w sobie nie jest złożonym projektem, dzięki czemu byłem w stanie ją stworzyć całkowicie sam, jednak w planach miałem przecież coś znacznie większego - pełnoprawną grę na którą składa się znacznie więcej zagadnień. Doszedłem wtedy do wniosku, że nawet gdybym jakimś cudem podołał temu zadaniu, to jego realizacja zajęłaby mi dekadę lub więcej, a postęp technologiczny jaki by się wtedy dokonał na świecie, prawdopodobnie pogrzebałby efekt finalny. Projekt ITA wymaga więc do realizacji co najmniej kilku osób. Z uwagi na to, że nie mam kwalifikowanych zaufanych znajomych będących w stanie współpracować przy ITA, postanowiłem ten projekt zawiesić aż do odwołania. Być może kiedyś nastanie lepszy czas na jego realizację przy bardziej sprzyjających warunkach.

Autor:

Łukasz Wawrowski (aka inferno8)