Widoki w grach

W dzisiejszych czasach, gdy zrobienie gry z widokiem 3D nie nastręcza już takich trudności jak kiedyś, a akceleratory graficzne dobrze sobie radzą z wyświetlaniem nawet bardzo skomplikowanych scen 3D, możesz sobie zadawać pytanie: czy warto jeszcze tworzyć gry z widokiem 2D? Przecież teraz prawie każda porządna gra jest robiona w 3D, a gry 2D to przeważnie jakieś amatorskie produkcje. Czy ktoś w ogóle będzie chciał grać w moją grę, jeśli zrobię ją w 2D?

Pewnie nieraz zdarzyło Ci się grać w jakąś grę 3D z wypasioną efektami grafiką, która jednak sprawiała Ci pewną niewygodę podczas grania. Do tego stopnia, że dało się słyszeć: Jak ja mam w niego trafić?!, Gdzie jest moja postać? Za tą ścianą, czy za tamtą?, czy ogólnie: Po cholerę oni zrobili to w 3D?! :-P Z drugiej strony pewnie zdarzyło Ci się też grać w gry, które mimo że były w 2D, potrafiły Cię wciągnąć na wiele godzin swoją wspaniałą fabułą i grywalnością ;-)

Zastosowanie właściwego widoku w grze może znacząco ułatwić graczowi rozgrywkę, pozwolić mu lepiej wczuć się w swoją rolę w grze, może też całkowicie mu to utrudnić :-P Odłóżmy więc kwestie mody na bok i zastanówmy się, czy widok 3D jest zawsze lepszy od 2D ;-) Dyskusje na temat "2D kontra 3D" pojawiają się bardzo często, jednak rzadko udaje się porozmawiać merytorycznie bez rozmowy o gustach i modzie ;-J Postaram się jednak podejść do tej sprawy bardziej analitycznie i porównać różne widoki w grach. Przyjrzymy się wspólnie wielu różnym rodzajom widoków i przeanalizujemy ich właściwości, wady, zalety i zastosowania. Dzięki temu będziesz w stanie wykorzystać je we właściwy sposób w Twoich grach, a Twoi gracze na pewno to docenią ;-)

Główny podział widoków nasuwa się sam: widoki 2D i 3D. Zacznijmy więc od widoków 2D, później omówimy widoki 3D, a na koniec walnę małe podsumowanie z morałem ;-)

Widoki dwuwymiarowe (2D)

Widoki te mają 4 stopnie swobody. Oznacza to, że postać może poruszać się w czterech prostopadłych do siebie kierunkach. Warto zauważyć, że takie kierunki zawarte są w jednej płaszczyźnie, więc ruch postaci ograniczony jest do tej płaszczyzny. Ekran również jest płaszczyzną, więc w widokach 2D płaszczyzna ruchu pokrywa się zazwyczaj z płaszczyzną ekranu, dzięki czemu stosunkowo łatwo jest taki widok zaprogramować. Od tego, które osie układu współrzędnych wyznaczą tą płaszczyznę, zależą właściwości rozgrywki. Przyjrzyjmy się teraz dwóm najbardziej znanym widokom 2D.

Widok z góry

Battle CityMicro MachinesGTA2
Rys. 1: Słynne gry z widokiem z góry. Kolejno: "Battle City", "Micro Machines" i "GTA 2".

Ten widok nazywany jest czasem widokiem labiryntowym, bo najczęściej jest stosowany właśnie do gier labiryntowych ;-) choć korzystają z niego też niektóre strzelanki kosmiczne, ścigałki, gry strategiczne i RPG ;-) Można też zastosować go w grach planszowych i logicznych. Płaszczyzna ekranu jest w nim umieszczona równolegle do poziomej płaszczyzny ruchu XY [planszy, podłoża]. Rysunek 1 przedstawia kilka słynnych gier wykorzystujących ten widok.

Do zalet tego widoku można zaliczyć idealną widoczność całego terenu wokół gracza [hehe "z lotu ptaka" ;-D], stąd częste wykorzystanie w strzelankach i niektórych grach strategicznych, gdzie gracz musi kontrolować sytuację dziejącą się wokół niego. Celowanie i strzelanie także jest ograniczone do jednej płaszczyzny, dookoła gracza, więc jest bardzo łatwe [np. w kierunku, w którym patrzy gracz, lub w kierunku kursora myszy]. Równie łatwe jest sterowanie postacią: wystarczą 4 klawisze od każdego ze stopni swobody [np. klawisze strzałek, lub słynny WSAD ;-P].

Warto zwrócić uwagę na jedną szczególną wadę tego widoku: oś pionowa Z jest do tego widoku prostopadła, więc ruch wzdłuż tej osi nie będzie powodował żadnych widocznych zmian. Z tego powodu widok ten zupełnie się nie nadaje do gier obficie korzystających z ruchu w pionie, np. symulujących wpływ siły grawitacji, lub takich, w których potrzebne jest dokładne ocenianie wysokości. Nie będą więc widoczne różnice między poziomami terenu, czyli zupełnie nie nadają się do gier platformowych, w których taka różnica wysokości jest najbardziej potrzebna. Obiekty w grze z takim widokiem mogą poruszać się wyłącznie w obrębie płaszczyzny poziomej XY. Omijanie przeszkód w terenie polega na ich obchodzeniu dookoła.

Ten rodzaj widoku łatwo jest zakodować nawet przy pomocy bibliotek graficznych do grafiki dwuwymiarowej. Nadaje się doskonale na gry pisane przez początkujących koderów gier ;-)

Widok z boku

Super Mario BrosAdventures of LomaxAbe's Oddysee
Rys. 2: Słynne gry z widokiem z boku. Kolejno: "Super Mario Bros", "Adventures of Lomax" i "Abe's Oddysee".

Zwany też czasem widokiem platformowym, jako że stosowany jest głównie w platformówkach ;-) Niekiedy jest też używany w grach przygodowych, strzelankach i "mordobiciach". Płaszczyzna ekranu jest w nim umieszczona równolegle do pionowej płaszczyzny ruchu XZ [tła, ścian budynków itp.]. Dostępne są więc kierunki takie jak: w przód, w tył, w górę i w dół. Rysunek 2 przedstawia kilka słynnych gier stosujących ten widok.

Największą zaletą tego widoku jest możliwość poruszania się w górę i w dół, w kierunku pionowym, a więc można w nim symulować wszelkie efekty grawitacji ;-) [skakanie, spadanie, latanie] oraz wymagające rozróżnienia wysokości [skakanie po platformach, nurkowanie w wodzie, wspinanie się po linach i drabinach itp.]. W tym widoku bardzo łatwo jest graczowi ocenić wysokość, na jakiej się znajduje. Łatwe jest też celowanie w wązkie platformy znajdujące się pod nim [na pewno wiesz o czym mówię, jeśli zdarzyło Ci się grać w grę, w której trzeba było wspinać się po platformach węższych od Ciebie, a w dole ziała otchłań bez dna ;-D]. Strzelanie i celowanie jest również łatwe, gdyż jest ograniczone do tej samej płaszczyzny, w której odbywa się ruch i jeśli jakiś promień strzału przecina wroga, to na pewno oberwie ;-J

Właściwie trudno znaleźć jakieś wady tego rodzaju widoku, ale jedną z wad mogłoby być to, że przeszkody terenowe da się w nim omijać jedynie poprzez przeskakiwanie nad nimi lub przeczołgiwanie się popod nimi. Nie da się ich zazwyczaj obejść bokiem, chyba że gra umożliwia granie na kilku warstwach [ale to z kolei utrudnia sterowanie postacią gracza].

Widok ten jest równie łatwy do zrealizowania, jak widok z góry, a daje graczowi ogromne możliwości manewru, dlatego jest bardzo często stosowany. Jego realizm mogą poprawić efekty pseudo-3D, takie jak efekt paralaksy [kilka warstw mapy poruszających się z różnymi prędkościami, dającymi złudzenie głębi], czy przeplatanie rozgrywki trójwymiarowymi filmikami [ten efekt zastosowano w grze "Abe's Oddysee"]. Można też użyć renderingu 3D, ograniczając ruch do dwóch wymiarów [zostało to wykorzystane w grze "Duke Nukem Forever"].

Widoki trójwymiarowe (3D)

Widoki te mają 6 stopni swobody. Oznacza to, że postać może poruszać się w sześciu prostopadłych do siebie kierunkach, czyli wszystkich jakie znamy ;-) Ponieważ ekran jest płaski, widok 3D musi być rzutowany na jego płaszczyznę. Od tego, w jaki sposób dokonamy tego rzutowania, zależą właściwości rozgrywki. Przyjrzyjmy się teraz najbardziej znanym widokom 3D.

Widok izometryczny

The SimsStarcraft
Rys. 3: Słynne gry z widokiem izometrycznym. Kolejno: "The Sims", "Starcraft".

Właściwie to miałem wątpliwości, czy jest to jeszcze widok 2D, czy już 3D, ale ze względu na ilość stopni swobody zaliczyłem go do widoków 3D, choć można go łatwo zrealizować przy pomocy dwuwymiarowych bibliotek graficznych. Najczęściej jest stosowany w grach strategicznych, przygodowych, labiryntowych [o ile plansza jest płaska] i RPG. Rysunek 3 przedstawia kilka popularnych gier, w których zastosowano ten widok.

Widok izometryczny to widok "z ukosa". Można w nim pokazać ruch w pionie. Trzeci wymiar jest jednak tylko symulowany przy pomocy ruchu po skosie. Da się w tym widoku ukazać wpływ grawitacji i wysokość, lecz ruch w pionie wygląda tak samo, jak ruch po skosie i graczowi może być trudno je odróżnić. Większość gier rozwiązuje to w ten sposób, że rysuje "plamkę cienia" pod postacią gracza. Plamka cienia określa jego położenie na płaszczyźnie podłoża, a odległość w pionie od tej plamki określa jego wysokość nad podłożem. Mimo to nie jest to tak czytelne, jak w widoku platformowym.

Jest jeszcze drugi problem: zasłanianie. Jeśli jakaś przeszkoda wyższa od postaci gracza znajduje się bliżej kamery, może go zasłonić i gracz nie będzie widział swojej postaci! :-P Jest to poważny problem i zazwyczaj trudny do rozwiązania, a znane rozwiązania nie są zbyt eleganckie. Jednym z nich są "przezroczyste ścianki" lub "korniki" ;-D [efekt taki jak w grze "The Sims"] - gdy gracz jest zasłaniany przez ściankę, robi się ona przezroczysta, dziurawa, lub całkowicie znika, by odsłonić gracza. Bardzo nienaturalny efekt ;-/ Można też tak budować mapkę, by żadna przeszkoda nie mogła zasłonić gracza. Ogranicza to bardzo możliwości budowania mapy i fantazję projektanta ;-P Jeśli widok izometryczny jest robiony w pełnym 3D i kamera może okrążać gracza, można przesuwać ją tak, by gracz cały czas był widoczny. Wymaga to wiele kombinowania, a i tak nie zawsze jest możliwe ;-P Z tego powodu widok ten słabo się nadaje na platformówki, bo platformy nie mogą być w takich miejscach, by gracz mógł pod nie wejść [wtedy by go zasłoniły].

Również celowanie jest trudne, bo możemy już strzelać we wszystkich kierunkach, z czego dwa są fałszywe ;-P. Nawet jeśli ograniczy się kierunki strzelania do poziomego koła wokół gracza, to i tak trudno będzie wycelować ze względu na różnice wysokości między graczem a jego wrogiem. Ten widok nadaje się w sumie tylko do gier, w których gracz nie odrywa się zbytnio od ziemi, a izometrię zastosowano tylko dla poprawienia wyglądu sceny i nadania jej głębi.

Widok izometryczny programuje się trochę trudniej, niż zwykłe widoki 2D. Mapkę rysuje się prawie tak samo, ale cała trudność bierze się z unikania zasłonięć, kolejności rysowania obiektów i kontrolowania ich wysokości.

Widok z trzeciej osoby (TPP)

Tomb Raider
Rys. 4: Słynna gra z widokiem z trzeciej osoby: "Tomb Raider".

Ten widok ma bardzo podobne cechy, jak widok izometryczny, z tą jednak różnicą, że korzysta z pełnej perspektywy [przedmioty bliższe wydają się większe, niż przedmioty dalsze] i można oglądać postać gracza z dowolnej strony [jeśli tą postacią jest Lara Croft w grze "Tomb Raider", to takie oglądanie z różnych stron może nawet dostarczyć wielu ciekawych wrażeń ;-D]. Przeważnie kamera znajduje się zawsze w podobnej odległości od postaci gracza, za jego plecami i nieco w górze, by gracz mógł widzieć mniej więcej to samo pole widzenia, co jego postać.

Ten widok ma podobne wady, jak widok izometryczny. Największą z nich jest ponownie zasłanianie. Tym razem łatwiej sobie z tym poradzić, bo można obrócić kamerę i odsłonić postać gracza. Jednak kamera w grach TPP lubi się "plątać", obijać o ściany, a czasem nawet w nie wchodzić :-P Prowadzenie kamery w grach TPP tak, by zawsze pokazywać postać gracza z najlepszej perspektywy i żeby wyglądało to realistycznie, jest naprawdę trudną sztuką.

Ale żeby nie było, że tylko narzekam: widok ten nadaje się do gier platformowych prawie tak samo dobrze, jak widok z boku [jeśli zapomnimy na chwilę o zasłanianiu ;-J]. Gracz ma nieco większą swobodę w poruszaniu swoją postacią, niż w widoku izometrycznym, jednak wciąż ocenianie wysokości nad podłożem jest tak samo trudne [choć szczerze mówiąc, to chyba tylko gogle VR nas ratują ;-P].

Ten widok stosuje się najczęściej w platformówkach, grach przygodowych, zręcznościowych i fabularnych. Szczególnie do tych ostatnich dobrze się nadaje, bo gracz cały czas widzi swoją postać, jej ruchy, zachowanie, może więc się z nią dobrze utożsamiać ;-)

Widok z pierwszej osoby (FPP)

Quake II
Rys. 5: Słynna gra z widokiem z pierwszej osoby: "Quake II".

Jest to widok "z oczu gracza", czyli kamera jest umieszczona w miejscu, gdzie gracz ma głowę i obraca się wraz z nią. Ten widok jest najczęściej stosowany we wszelkiego rodzaju strzelankach [np. w ukazanej na rysunku 5 grze "Quake II"], ponieważ umożliwia rozglądanie się na wszystkie strony i bardzo upraszcza celowanie - jeśli Twój celownik pokrywa się z głową Twojego wroga na ekranie, na pewno zaliczy head'a ;-J Można trafić we wszystko, co znajduje się w polu widzenia.

Ten widok eliminuje także całkowicie problem zasłaniania. Nic nie może juz zasłonić postaci gracza, bo... nie widać postaci gracza :-D Nie stanowi to już jednak takiego problemu, jak w innych widokach, bo patrzysz oczami swojej postaci i zawsze jesteś tam, gdzie ona ;-J Dzięki temu można budować skomplikowane wielopoziomowe mapki i przeciągać gracza po tunelach i lochach.

O ile jest to dobre do strzelanek, to już zupełnie nie nadaje się do gier typu RPG. Skoro postać gracza jest cały czas niewidoczna, to nie wiesz jak ona wygląda, jak się zachowuje, nie widzisz też mimiki jej twarzy. Uniemożliwia to całkowicie możliwość pokazywania emocji postaci gracza, które w grach fabularnych są bardzo ważne.

Pojawia się też inny problem: skoro nie widać postaci gracza, to nie widać też jej nóg. Gracz po prostu nie widzi na czym stoi. Niektóre gry umożliwiają spojrzenie w dół i można się bardzo zdziwić, gdy nie widzi się wtedy swoich nóg :-P Dlatego ten widok zupełnie nie nadaje się do gier platformowych, w których trzeba skakać po małych platformach i uważać, by z nich nie spaść.

Podsumowanie z morałem ;-)

Morał jest taki, że nie zawsze widok 3D jest najlepszy do każdej gry. Są gry, w których inne widoki sprawdzają się lepiej. Czasami przydaje się ograniczenie możliwości ruchów gracza do pewnej płaszczyzny, by ułatwić mu celowanie i poruszanie się. Dlatego widok gry powinno się dobierać do jej rodzaju i rzeczy, jakie postać gracza może w niej robić. Najpierw zastanów się, jaki świat chcesz pokazać i co może w nim robić postać gracza, a następnie dobierz taki widok, który najlepiej to pokaże. Może się nawet okazać, że trzeba będzie zastosować kilka różnych widoków, by gracz nie klął na trudności w manipulowaniu swoją postacią lub kamerę tonącą w ścianach ;-J

Warto też zwrócić uwagę na fakt, że każdy z powyższych widoków, włącznie z widokami 2D, da się zrealizować za pomocą bibliotek graficznych do grafiki trójwymiarowej i zazwyczaj pozwala to osiądnąć lepsze efekty i większą ilość FPS, niż w przypadku użycia bibliotek do grafiki dwuwymiarowej. Podobnie używając bibliotek dwuwymiarowych można osiągnąć wrażenie głębi, stosując widok izometryczny lub efekty paralaksy. Realistyczną grafikę można osiągnąć także w 2D, za to nawet w 3D można zrobić bardzo nierealistyczny wygląd grafiki ;-P Większe znaczenie ma tutaj talent projektanta grafiki, no i przede wszystkim fabuła gry, niż zastosowany widok. Użycie niewłaściwego widoku może jednak wpłynąć negatywnie na grywalność, a użycie właściwego widoku znacząco tą grywalność poprawić, nawet jeśli nie jest to widok 3D ;-)


Subskrybcja

Buttony
Button1 Button2 Button3 Button4 Button5 Button6 Button7 Dodaj swój button