W dzisiejszym materiale przybliżam szczegóły o tym, w jakich aspektach tworzenie gier 2D i 3D różni się w procesie produkcji (czyli po prostu w tworzeniu 😉). Opiszę Tobie gdzie potrzeba więcej zasobów danego typu i jak przekłada się to na pracę nad projektem (takim lub innym). Chciałbym przybliżyć ten temat, aby każdy deweloper miał jak na dłoni wszystkie najważniejsze różnice pomiędzy jednym, a drugim podejściem 👍. Zapraszam, jeśli Cię zaciekawiłem 😊!

PRZEDSTAWIAM DLACZEGO TWORZENIE GIER 2D I 3D WYMAGA INNEGO PODEJŚCIA

Zdążyłem wyjaśnić w osobnych artykułach na czym polega tworzenie gier 2D (tutaj) i tworzenie gier 3D (tutaj), więc zakładając, że udało Ci się sięgnąć do tych materiałów i je przeczytać 📖, tutaj skonfrontujemy sobie te 2 podejścia i przeanalizujemy dokładniej jakie są różnice w produkcji gry 2D i 3D, z czego one wynikają oraz na jakie specjalizacje rzutują 🔍.

Tutaj uwaga ⚠️. Punkt widzenia jaki tu przedstawiam jest w 100% oparty o moje doświadczenie i pracę przy różnych projektach. To oznacza, że mogę się przy czymś mylić, nie napisać czegoś ważnego albo zwyczajnie opisywać w sposób, z którym się nie zgadzasz ⛔. Nie sposób wyjaśnić tego tematu tak, aby był zgodny z doświadczeniami wszystkich deweloperów tego świata (bo każdy jest inny i każdy pracował przy innych grach 💡), więc zostawiam tę informację celem uprzedzenia 😉.

Zacznijmy od podstawowego pytania ❓.

CZYM SIĘ CHARAKTERYZUJE TWORZENIE GIER 2D I 3D?

Tworzenie gier 2D i 3D różni się między sobą podejściem do projektu i zakresem niezbędnych umiejętności, aby móc zrealizować swoje zadanie, jakim jest ukończenie takiej produkcji 🏆. W rzeczywistości to jest "temat rzeka", bo w pewnej części pracujemy nad dwoma rodzajami gry tak samo, aczkolwiek w innych podchodzimy do zagadnień zupełnie inaczej!

Niewątpliwie w obu podejściach nie obejdzie się bez kodu źródłowego - nie ma rozróżnienia na pliki do gier 2D i do 3D (mogą być np. użyte inne funkcje matematyczne, lecz to już co innego) 🙂. Udźwiękowienie też dodajemy tak samo, choć w grach 3D może być potrzeba dodania więcej efektów (takich jak echo), których nie dodaje się tak często, jak do gier 2D 📣. Jest różnica, lecz nie tak poważna 💨. Natomiast grafika już jest "terenem", który różni się diametralnie w grach 2D i 3D 😱! Nie tylko samą formą i przeznaczeniem, lecz nawet innymi rozszerzeniami plików 🔥!

Właśnie od tej strony będę w tym artykule rozszerzał temat tworzenia gier 2D i 3D, a mianowicie przy jakich rodzajach zasobów trzeba liczyć się z większym nakładem pracy ⏩.

Od tej pory, będę używał słowa "zasób", czyli "asset" - to jest termin używany w branży oznaczający pojedynczy plik stanowiący część projektu gry ℹ️. To może być skrypt z kodem, model 3D, animacja, klip dźwiękowy lub cokolwiek innego.

Na początek zbadajmy o jakich zasobach mowa w obu podejściach 🧐!

JAKIE ZASOBY SĄ POTRZEBNE DO TWORZENIA GRY 2D?

Gra dwuwymiarowa potrzebuje takich zasobów, jak 👇:

  • kod źródłowy,
  • muzyka,
  • dźwięki,
  • grafika 2D ("sprite'y") do 3 zastosowań:
    • interfejs użytkownika (UI),
    • efekty cząsteczkowe,
    • postacie i elementy otoczenia,
  • animacje - jeżeli mowa o "sprite'ach", to są 3 sposoby:
    • tween (sekwencja operująca na jednej wybranej właściwości np. pozycja, od punktu początkowego do wyznaczonego, bez konieczności dodawania jakichkolwiek informacji pomiędzy nimi),
    • keyframing (ręczne definiowanie zmiany wielu właściwości obiektu pod rząd w wyznaczonych klatkach czasu "od do"),
    • sprite sheet (szybkie "zamienianie sprite'a" na sąsiedni o tych samych wymiarach, z tego samego pliku graficznego).
Perspektywa gier 2D

Tworzenie gier 2D opiera się w całości na tzw. "sprite'ach" jako jedyny środek prezentacji strony wizualnej.

W większości przypadków tyle wystarcza. A jak wygląda sytuacja przy grach 3D?

JAKIE ZASOBY SĄ POTRZEBNE DO TWORZENIA GRY 3D?

Do stworzenia gry trójwymiarowej, potrzeba następujących zasobów 👇:

  • kod źródłowy,
  • muzyka,
  • dźwięki,
  • grafika 2D ("sprite'y") do 3 zastosowań:
    • interfejs użytkownika (UI),
    • tekstury do modeli,
    • efekty cząsteczkowe (w tym przypadku stosuje się "efekt billboard", czyli "zwracanie się" grafiki w stronę kamery ℹ️),
  • grafika 3D (modele) do postaci i elementów otoczenia,
  • animacje - tu temat jest bardziej skomplikowany, bo podchodzimy też do animowania modeli (które zależą od kontekstu) i tu mamy 4 sposoby:
    • tween (sekwencja operująca na jednej wybranej właściwości np. pozycja, od punktu początkowego do wyznaczonego, bez konieczności dodawania jakichkolwiek informacji pomiędzy nimi),
    • rigging (budowanie "układu kostnego" postaci pozwalające na późniejsze animowanie poruszania kończynami),
    • keyframing (ręczne definiowanie zmiany wielu właściwości obiektu pod rząd w wyznaczonych klatkach czasu "od do"),
    • motion capture tzw. "mocap" (bardzo kosztowna technika tworzenia animacji "na żywo" poprzez skopiowanie ruchu człowieka z podłączonym do niego rejestratorem do komputera).
Perspektywa gier 3D

Tworzenie gier 3D umożliwia tworzenie prawdziwych trójwymiarowych światów przy pomocy modeli będącymi jedynym zasobem do prezentacji strony wizualnej przy użyciu głębi. "Sprite'y" nadal są stosowane, aczkolwiek do tekstur modeli, efektów cząsteczkowych i interfejsu użytkownika.

Od razu widać w których miejscach pojawiają się różnice 🎯!

JAKIMI ZASOBAMI DO WYKONANIA RÓŻNI SIĘ TWORZENIE GRY 2D OD 3D?

Gry 2D, od strony rodzajów zasobów do wykonania, najbardziej różnią się od 3D grafiką i animacjami. Różnice są tak głębokie, że wymagają całkowicie innych podejść, a co za tym idzie, specjalizacji 🎯! Innym zasobem o mniejszym zróżnicowaniu jest dźwięk 🎵.

CZYM SIĘ RÓŻNI TWORZENIE GRAFIKI DO GRY 2D OD TWORZENIA DO GRY 3D?

Gra dwuwymiarowa wymaga grafiki składającej się ze "sprite'ów" (dwuwymiarowych obrazów), które są stosowane do wszystkiego. Mam tu na myśli postacie, scenerię, przedmioty, lecz także elementy innego typu jak efekty cząsteczkowe czy interfejs użytkownika 😲! Można rzec, że "sprite'y" wręcz "okupują" całą przestrzeń projektu 🔥.

W grze 3D mamy inną sytuację. "Sprite'y" służą głównie jako tekstury do modeli oraz są stosowane zazwyczaj tylko do interfejsu użytkownika (np. ikony HUD'a) i efektów cząsteczkowych 🔥. Natomiast świat gry, postacie, elementy otoczenia, przedmioty - to są już w pełni trójwymiarowe modele 😱!

Zwróć uwagę, że to przenosi się również na inne, mniej oczywiste rzeczy np. na budowę świata 🌎. W grze dwuwymiarowej często korzysta się z takiego obiektu, jak "mapa kafelkowa" (ang. tilemap), czyli poziomy składają się z pojedynczych kafelków pobieranych z jednego pliku graficznego określanego mianem "zestawu kafelków" (ang. tileset) 🧩. Do gry trójwymiarowej już zajdzie potrzeba utworzenia całej topologii terenu 😮! Elementy krajobrazowe takie jak klify, góry czy jamy, musisz wymodelować i oteksturować!

Mamy dwa zupełnie różne podejścia do prezentacji grafiki 😨! W animacji jest podobnie.

CZYM SIĘ RÓŻNI TWORZENIE ANIMACJI DO GRY 2D OD TWORZENIA DO GRY 3D?

Gra dwuwymiarowa posiada animacje, które dotyczą tylko dwóch rzeczy: "sprite'ów" (ogólnie) i interfejsu użytkownika. Te animacje będą w większości przypadków tzw. "tweenami", czyli prostymi przejściami danej właściwości (np. koloru czy pozycji) od jednej wartości (początkowej) do drugiej (docelowej).

W przypadku postaci i efektów wizualnych można jeszcze natrafić na animacje klatkowe, czyli szybkie zmienianie reprezentacji graficznej poprzez "przejście" na sąsiedni obraz z pliku określanego jako "sprite sheet". Inną znaną techniką jest jeszcze "keyframing" ℹ️. Polega ona na zdefiniowaniu na danym przedziale czasowym (jako czas trwania animacji) co, kiedy i w jaki sposób ma być zmieniane. Przewagą "keyframingu" nad "tweenami" jest możliwość manipulowania wieloma właściwościami pod rząd ✔️.

Przy produkcji trójwymiarowej, animacje są dużo bardziej problematyczne 😳. "Tweeny", jeśli jakieś występują, to dotyczą tylko interfejsu użytkownika (bo to jedyne elementy mające tę samą strukturę 🏠), natomiast manipulowanie modelami wymaga użycia "keyframingu" ⚠️. Na przykładzie obiektu niebędącego postacią, mogą to być drzwi, które zaczynają się od zamkniętych, następnie się otwierają i po chwili znowu zamykają 🚪. Czyli będziemy modyfikować rotację w osi Z (obrót dookoła własnej osi) ↪️. To można uzyskać za pomocą "keyframingu" 👍.

Gdy mowa o animowaniu postaci, potrzeba użycia drugiej techniki: "rigging" 💥! "Rigging" to operacja budowy "szkieletu" postaci przypominającej układ kostny, czyli wyznaczamy miejsca dla ramion, ścięgien, szyi, nóg itd., a następnie definiujemy połączenia między nimi 💪. To nam pozwala manipulować pojedynczymi częściami ciała postaci i swobodnie je animować 🤩. Gdy na przykład postać ma zginać nogę w kolanie, to najpierw musisz wykonać "rigging" i zbudować połączenia pomiędzy poszczególnymi częściami ciała, i dopiero wtedy możesz zabrać się za samą animację poprzez "keyframing" 💥!

Tutaj zalecana jest wiedza z anatomii, aby prawidłowo rozstawić punkty i zależności od siebie. Inaczej wyjdzie nam "kartofel" 😁.

W przypadku animowania obiektów, również mamy dwa odmienne podejścia 😱!

CZYM SIĘ RÓŻNI TWORZENIE DŹWIĘKU DO GRY 2D OD TWORZENIA DO GRY 3D?

Choć korzystamy z plików dźwiękowych tak samo, to jednak można dostrzec różnicę przy dodawaniu ich do gry. Gry 3D pozwalają na większą swobodę w projektowaniu światów przez co jest możliwość stworzenia wiarygodnej scenerii od strony dźwiękowej. Stąd uważam, że dużo częściej dodajemy efekty do dźwięków w grach trójwymiarowych aniżeli w dwuwymiarowych 😳. Przykładem może być echo, gdy ktoś wchodzi do jaskini albo zniekształcenie głosu postaci, która mówi do gracza przez radio ℹ️. Gdy popatrzę na gry, to wydaje mi się, że można bardziej zaobserwować to zjawisko w grach 3D 🤔.

Widzisz zatem, że jakieś różnice są i one dotyczą przede wszystkim funkcjonowania na innych rodzajach zasobów (i sposobem ich wykonania) 💡. Lecz warto teraz zastanowić się nad jednym: czy to pozwala wnioskować, że tworzenie gier 3D jest trudniejsze od tworzenia gier 2D 🧠? Nie sądzę!

Mimo niezaprzeczalnego faktu, iż tworzenie grafiki i animacji dla gry 3D jest bardziej złożone technicznie, to ja bym nie stwierdził przez to, że tworzenie gier 3D jest trudniejsze i kropka 🚫. Nie jest.

DLACZEGO TWORZENIE GIER 3D NIE JEST TRUDNIEJSZE SAMO W SOBIE?

Z dwóch powodów 2️⃣. Po pierwsze, nie musisz wcale tworzyć jakichkolwiek skomplikowanych modeli czy animacji, aby stworzyć grę 3D w ogóle 💡. Możesz pominąć te zagadnienia i dalej być w stanie stworzyć swoją wymarzoną produkcję w przestrzeni 😉. A po drugie, to Twoje umiejętności determinują które gry będą dla Ciebie łatwiejsze do stworzenia ❤️!

Trudność takiej gry lub innej "pochodzi" od gatunku i zasad jakie on narzuca. To jest decydujący czynnik 🎯! Im więcej zasad, tym poziom skomplikowania rośnie (wyjaśniałem to w załączonym artykule ℹ️) 📈!

Niektóre zasoby można tworzyć nieco dłużej do gry 3D, zgoda, ale to nie sprawia, że samo tworzenie gry 3D jako całość już jest karkołomne, w porównaniu do 2D 😊. Możesz stworzyć skomplikowany symulator farmy w środowisku 2D, a następnie zabrać się za trójwymiarową platformówkę w pierwszej osobie, w której skaczesz z jednego sześcianu do drugiego 🥾. Czy przy takiej grze napocisz się bardziej, niż przy dwuwymiarowym symulatorze 😏? Raczej nie 😄!

Ty sam(a) możesz lepiej odnajdywać się w procesie tworzenia gry 3D, niż 2D, bo np. miałeś(-aś) zajęcia na uczelni z modelowania albo jesteś po paru kursach z animacji postaci 💪. Wtedy też sobie powiesz, że 3D jest dla Ciebie łatwiejsze, bo jesteś po jakiejś praktyce 🙂. Podobnie na przykład z otwartym światem i zamkniętymi pomieszczeniami. Pozornie, projektowanie korytarzy wygląda na prostsze zadanie, lecz osoba która od paru ładnych lat modeluje kilometry otwartej przestrzeni w motywie leśnym, pustynnym, kosmicznym i arktycznym, już powie co innego 😅!

Wszystko to sprowadza do zaprzeczenia tezy, jakoby gry 3D miały być trudniejsze do stworzenia 😉.


Koniec tematu ✅. Mogę się przy czymś mylić, mogłem o czymś zapomnieć, aczkolwiek dla mnie najważniejsze było, aby opisać i wykazać, że tworzenie gier 2D i 3D nie różni się stopniem trudności, a jedynie podejściem oraz rodzajami zasobów i sposobem ich wykonania. Najlepiej stworzyć sobie po jednej grze 2D i 3D, aby "poczuć" różnice przy tworzeniu jednej i drugiej 🙂.

PODOBNE ARTYKUŁY