Informacje i nowości

Metal okiem programisty

Metal

Dla deweloperów tworzących gry najbardziej interesującą rzeczą podczas WWDC 14 nie był iCloud Drive, czy nawet Swift (choć osobiście przyznam, że dla mnie to równie ważna nowość) lecz Metal, który ma sprawić, że tytuły pojawiające się na iOS będą miały naprawdę piękną oprawę graficzną. Jak to wszystko wygląda z perspektywy typowego dewelopera gier komputerowych?

To co potrafi Metal, zostało pokazane na tegorocznym WWDC i trzeba przyznać – sprawia ogromne wrażenie. Epic przygotował z tej okazji specjalne demo silnika Unreal Engine, stworzone specjalnie pod nowy framework. Motyle latające na ekranie, mnóstwo liści opadających z drzewa, ryby płynące w kierunku, który wyznaczamy przesuwając palcem po ekranie i to wszystko w czasie rzeczywistym. Jednak co to oznacza dla gier na iOS?

Metal

Z tego co się dowiedzieliśmy podczas poniedziałkowej konferencji, zadaniem nowego frameworka będzie maksymalizacja optymalizacji takich silników jak Unreal, co da nam oczywiście więcej efektów na ekranie, oprawę porównywalną z tytułami na konsole i komputery osobiste, czy też więcej przeciwników na ekranie.

Z technicznego punktu widzenia, Metal będzie miał bezpośredni dostęp do procesora całkowicie pomijając OpenGL, co pozwala znacząco zaoszczędzić na mocy urządzenia, na którym odpalamy grę. Warto tutaj wspomnieć, że „Metal”, w żargonie programistów zajmujących się grami, oznacza pominięcie języków wysokiego poziomu jak ujawniony w poniedziałek Swift, czy C++ i optymalizacja za pomocą języków typu Assembler, gdzie głównie operuje się bitami, czy też jak kto woli, zerami i jedynkami.

Tutaj, jako przykład użycia Metala, programistka Brianna Wu podaje swoją grę. W Revolution 60, postać odwraca się i strzela do robota zamkniętego w szklanej tubie. Pocisk rozwala szybę, a robot wydostaje się z tuby. Kiedy stworzono pierwszą wersję tej scenki, było 50 kawałków szkła latających po ekranie. Jak sama przyznaje, wyglądało to dobrze na nowych iPadach, lecz na iPhone’ie 4S animacja potrafiła strasznie zwalniać. W ostatecznej wersji, 50 kawałków szkła musiało zastać zastąpionych przez zaledwie tuzin. Tutaj pojawia się następujące pytanie – czy możemy uzyskać piękne efekty bez spadku prędkości wyświetlania animacji? Odpowiedzią jest właśnie Metal (i postęp technologiczny, lecz to swoją drogą).

Revolution 60

Scena z gry Revolution 60

Efekty wizualne są tym, co czyni grę bardziej epicką, że tak to ujmę. Dym unoszący się z wystrzelonej broni, iskry ognia strzelające z ogniska, emanujące promienie świetlne – można by wymieniać w nieskończoność, lecz najważniejsze jest to, że właśnie te wszystkie rzeczy będą wyglądać o wiele lepiej, kiedy użyjemy Metalu.

Transparencja to następna rzecz, w której Metal dobrze się sprawdzi. Widzieliście którąkolwiek część Final Fantasy XIII? Jeżeli tak, to zapewne wiecie, jak wyglądają włosy głównej bohaterki Lightning. Deweloperzy skorzystali tutaj z triku „Alpha Blades”, w ramach którego wykorzystuje się pola transparentnych tekstur, dzięki którym włosy wyglądają na bardziej liczne niż normalnie. 

Jednakże transparencja to coś, co nie może być aktualnie osiągnięte w urządzeniach z iOS (lecz w moim odczuciu może się to zmienić dzięki tegorocznym modelom, ale i tak oczywiście pozostaje kwestia kompatybilności ze starszym sprzętem). Żeby to uzyskać, potrzeba przynajmniej dwóch odwołań do funkcji rysujących na obiekt, co sprawia, że jest to bardzo „kosztowne”. Szczerze, obecnym iPadom czy iPhone’om ciężko jest wygenerować taką postać jak Lightning, nie mówiąc już o całych lokacjach. Tutaj z ratunkiem znów przychodzi Metal, dzięki któremu ten proces nie doprowadzi naszych iUrządzeń do kompletnej „zwiechy”.

Final Fantasy XIII - Lightning

Final Fantasy XIII – Lightning

To, co jest jeszcze bardziej obiecujące, to możliwość użycia dodatkowych materiałów jak chociażby tzw. „specular maps”. Zapewne niektórzy z Was grali w najnowszą edycję Tomb Raidera lub chociaż widzieliście ją na zwiastunach? Jest tam moment, kiedy Lara wspina się po kamieniach, a one mienią się w blasku słońca. To właśnie specular maps, które definiują, jak obiekt reaguje na światło. To one sprawiają, że broń błyszczy, tak jak w rzeczywistości powinien to robić metal, z których są zrobione.

W przypadku gry Brianny, Revolution 60, nie można było skorzystać z specular maps, ponieważ one również pożerają mnóstwo mocy obliczeniowej. Natomiast w prezentowanym na konferencji demie Epic wiele obiektów właśnie z tego korzystało i to bez spadku szybkości animacji. Metalowa kula? Lejąca się woda? To wszystko właśnie specular maps.

Co ciekawe, stworzenie tego nie wymaga aż tak dużo czasu – po prostu wielokrotnie edytuje się teksturę obiektu. Ale z użyciem Metal, implementacja różnych efektów wydaje się nagle dużo łatwiejsza, a możliwość skorzystania ze specular maps jest bliżej niż kiedykolwiek wcześniej.

Deweloperzy posługujący się Metalem, będą ponadto mogli na iOS tworzyć bardziej skomplikowane modele postaci. Obecnie, w typowej grze bazującej na silniku Unreal, można stworzyć postać składającą się z więcej niż 75 „kości”, które możemy pokryć teksturą, ale to wymaga już drugiego wywołania funkcji rysującej (postać w UDK musi posiadać ogólnie mniej niż 256 „kości”, aby uniknąć drugiego wywołania), a to przekłada się bezpośrednio na ograniczoną ilość postaci widocznych jednocześnie na ekranie. To kolejna kwestia, która może zostać zupełnie zmieniona przez Metal. I tak jak w przypadku gry Left 4 Dead, gdzie gracze odpierali kolejne fale zombie, dzięki większej ilości odwołań do funkcji rysujących, także przeciwników może być jeszcze więcej!

Brianna przyznaje sama, to są jedynie spekulacje na temat tego co zostało przedstawione na WWDC i nie miała okazji zapoznać się osobiście z demem przygotowanym przez Epic, lecz jeżeli ktoś próbuje walczyć z ograniczeniami silnika Unreal na iOS, to jest bardzo podekscytowana.

Metal

Jak ja to widzę ze swojej strony? Metal oczywiście, może okazać się wspaniałym narzędziem, lecz zanim poznamy jego pełen potencjał, na pewno minie trochę czasu – zakładam, że dwa lata. Dlaczego akurat tyle? Ponieważ do tego czasu Apple będzie wspierać mniej wydajne (w porównaniu z tymi, posiadającymi 64-bitowe procesor) urządzenia, które powoduje, że deweloperzy muszą po prostu brać je pod uwagę jeżeli chcą, aby ich gra dotarła do jak największej liczby odbiorców, a to powoduje wyraźne spowolnienie rozwoju gier na iOS pod względem oprawy graficznej. Oczywiście mamy takie tytuły jak Infinity Blade 3, lecz większość oprawy jest tam po prostu statyczna. Dzięki Metal, moim zdaniem, wszystko to, co się dzieje na ekranie nabiera większej dynamiki, a to daje deweloperom większe pole do popisu. Dzięki temu Metal na pewno bardzo pozytywnie wpłynie na jakość nowych tytułów, dzięki czemu gry na iOS będą mogły dorównać oprawom tym, znanym z WiiU, PS3, XBOX 360, PS4 i XBOX ONE. Apple bardzo zależy na tym, aby ich platforma zaczęła być traktowana co raz poważniej i może to stać się dużym problemem dla Nintendo i ich 3DSa (PS VITA od Sony tak naprawdę już walczy tylko o przetrwanie na rynku), ponieważ to z nimi będzie rywalizować firma z Cupertino o miano króla mobilnego grania. I moim zdaniem, z całym szacunkiem dla Nintendo, Apple wychodzi to znacznie lepiej.

[source name=”Cult of Mac” url=”http://www.cultofmac.com/281987/gamers-excited-metal/”]

To Top