Unreal Engine w pigułce

Na szczęście dla graczy na komputerach PC czasy użytkowania współczesnych konsoli chylą się ku końcowi. Pierwsze dema technologiczne pokazują, jak programiści wyobrażają sobie następną generację. Perspektywę na to daje nowy silnik Unreal Engine 4.

Już w roku 2011 firma Epic Games pokazała w swoim demo "Samaritan" namiastkę możliwości nadchodzącej generacji konsol do gier. Grafika bazowała przy tym jeszcze na bardziej rozwiniętym silniku Unreal Engine 3 w wersji 3.5. Wymagania systemowe były olbrzymie: trzy karty Geforce GTX 580 pracujące jednocześnie w trybie SLI, żeby płynnie wyświetlać obrazy. Rok później, na tegorocznych targach E3, Epic Games zaprezentowało demo, które wyróżnia się swoimi realistycznymi efektami cząstek i fizyki. Napędzajacy go silnik to Unreal Engine 4. Wymagania systemowe, w porównaniu z ubiegłym rokiem, znacznie się obniżyły: już przy użyciu tylko jednej karty graficznej Geforce GTX 680 demo funkcjonuje płynnie (dla porównania: dwie GTX 580 są szybsze niż jedna GTX 680).Na targach E3 zadziwienie wywołała również firma Square Enix, która zaprezentowała demo "Agni’s Philosophy". Fani Final Fantasy mogą się chyba cieszyć na nową serię na konsole następnej generacji Xbox 720 i Playstation 4. Po drugie, do tej pory nie widzieliśmy tak dalece dokładnie naszkicowanych włosów i tekstyliów - co najwyżej prerenderowanych trailerach. Chociaż programiści Square Enix chcą dać podgląd, jak będzie wyglądać grafika na konsolach następnej generacji, trzeba zauważyć, iż w przeszłości takie dema wyglądały o wiele lepiej niż właściwe gry. Możliwości silnika pozostają co prawda takie same, jednak dopieszczone przez grafików i programistów demo zawsze pozwala wycisnąć z gry ostatnie soki - gra nie. Pytanie tylko, czy nowe konsole poradzą sobie z generowaniem takiej grafiki. Wiele osób pewnie sądzi, że tak. W końcu prze wiele lat konsole mimo gorszych podzespołów niż w najnowszych komputerach pozwalały na uzyskanie ładniejszej grafiki, przynajmniej przez kilka pierwszych lat życia. Teraz Xbox 360 i Playstation 3 generują grafikę gorszą niż PC, ale są na rynku już od 6-7 lat. To imponujący wynik.

Naturalnie piękny dzięki teselacji

Jednak mimo wszystko Radeon HD 7670 nie stanie się topowym HD 7970. A według najnowszych przecieków to właśnie słabiutki Radeon HD 7670 lub podobny do niego układ ma odpowiadać za grafikę w konsolach nowej generacji. Jest to dziwne podejście, bo do tej pory producenci przy projektowaniu nowych konsol sięgali po rozwiązania z wysokiej półki wydajnościowej.

Teselacja została wprowadzona już w roku 2009 w DirectX 11. W tej technice obiektom w świecie gry, niezależnie czy postaciom czy otoczeniu, zostały dodane dodatkowe siatki wielokątów. Daleko oddalone przedmioty lub postacie zostały w celu zaoszczędzenia zasobów przedstawione za pomocą stosunkowo małej ilości trójkątów; natomiast w bezpośrednim otoczeniu gracza stopień uszczegółowienia może w wyniku teselacji drastycznie wzrosnąć. Daje to przestrzenne wrażenie i przyczynia się znacząco do poczucia "prawdziwego" świata gry. Tytuły takie jak Crysis 2 pokazały punkt po punkcie, co można osiągnąć dzięki zastosowaniu takiego efektu. Jednak teselację wspomagają tylko PC i w ograniczonym stopniu Xbox 360. Dotąd technika ta była wprowadzana sporadycznie. Znaczenie teselacji będzie dalej wzrastać wraz z nowymi konsolami i umożliwi tworzenie bardzo szczegółowych powierzchni i postaci za pomocą dynamicznie podwyższonej gęstości wielokątów. W przyszłości żadna gra nie będzie mogła się obejść bez tej techniki.

Również dynamiczne oświetlenie jest samo w sobie żadną nowością. Per Pixel Lighting - dokładne co do piksela dynamiczna iluminacja światła i cienia - jest już od Doom 3 codziennością. Jednak "Real-time dynamic global illumination" - oświetlenie globalne - w Unreal Engine 4 idzie jeszcze o krok dalej. Wirtualny promień świetlny niesie ze sobą wszystkie informacje obiektów, z którymi po drodze wszedł w kontakt. Przykładowo, kiedy reflektor świeci na niebieską płytkę, wszystkie obiekty pośrednio oświetlone przez to światło posiadają lekko niebieskawy odcień. Takie wielopoziomowe oddziaływanie między obiektami to coś wspaniale wyglądającego i wymagającego ogromnej mocy obliczeniowej.Unreal Engine 4 z procesorem graficznym, Teselacją i oświetleniem globalnym wykorzystuje wszystkie zdolności aktualnych kart graficznych z najwyższej półki cenowej.

Zasada ta jest kontynuowana tak długo, aż promień świetlny osiągnie niemal zerową intensywność i wygaśnie. Właśnie przy zniszczalnym środowisku oferuje to interesujące możliwości. Przykładowo, gdy ściana sztucznie oświetlonego pomieszczenia bez okien zostaje zburzona, wpada do środka światło dzienne i zmienia świetlny nastrój w sposób drastyczny i możliwie najbardziej wiarygodny. Ponieważ oświetlenie jest teraz kompletnie dynamiczne, programiści nie muszą już stosować skryptów, aby osiągnąć zamierzony efekt. Przy tym oświetlenie automatycznie uwzględnia cykl dnia i nocy.

Tim Sweeney, założyciel Epic Games, przywiązuje poza tym wielką wagę do tego, że w Unreal Engine 4 nie stosuje się już map świetlnych (lightmaps), czyli struktur z obliczonym wstępnie wyglądem cieni. Wszystkie efekty świetlne, obojętnie czy bezpośrednie czy pośrednie, są obraz po obrazie wyliczane w czasie rzeczywistym. Pozyskane informacje lądują zamiast w mapach świetlnych w voxelach, trójwymiarowych pikselach z własnymi woluminami, najmniejszymi elementami trójwymiarowej przestrzeni. Ponieważ światło w rzeczywistości również nie jest dwuwymiarowe, scena przedstawiona za pomocą voxeli oddziałuje bardziej naturalnie niż scena przedstawiona za pomocą klasycznych map świetlnych. Po obliczeniu oddziaływania światła na voxele Unreal Engine 4.0 przedstawia w końcu tylko te, które będą widoczne w ostatecznym obrazie.

Efekty cząstek stanowią jeden z największych postępów we współczesnych silnikach graficznych. Dzięki ulepszonym metodom obliczeń liczba cząstek może w stosunku do obecnej generacji techniki drastycznie wzrosnąć. Sama czysta masa wirujących w Unreal Demo cząsteczek, takich jak iskry czy kryształki lodu, podnosi intensywność scen gry. Poza tym cząstki wytwarzają wolumin bardziej realistyczny niż dotychczas.

W połączeniu z silnikiem fizycznym wszystkie cząstki poruszają się w przestrzeni wiarygodnie, na przykład przy zewnętrznych oddziaływaniach przez efekty wiatru czy inne obiekty. Właśnie eksplozje mają w przyszłości wyglądać znacznie lepiej poprzez to, że efekty cząstek będą się przeplatać z latającymi częściami ruin. W ten sposób powinno powstać bardziej autentyczne wrażenie prawdziwego zniszczenia, niż przy wyłącznie jaskrawo płonących kulach ognia w obecnej generacji. Silniki następnej generacji będą zrozumiale oświetlać skomplikowane struktury cząstek, jak na przykład dym, skoro źródła światła będą na niego świecić lub poruszać się poprzez chmurę. Chmury cząsteczek będą oświetlane nie tylko z zewnątrz, ale (jeśli wymaga tego sytuacja) również od wewnątrz. Będzie się to odbywać między innymi, gdy płomienie rozjaśniają lub zaciemniają ciemne opary dymu. Skutki na oświetlenie i otoczenie mogłaby mieć nawet aktualna temperatura ognia.

Jeszcze lepsze oświetlenie

Innym przykładem zastosowania byłyby reflektory lub latarnie wzdłuż mglistej ulicy, które poprawnie oświetlają kropelki wody w powietrzu. Właśnie w mrocznych grach takich, jak Alan Wake, byłoby to ogromnym plusem dla jej atmosfery. Jednak niejasne jest jeszcze, jak Epic Games chce zastosować takie mnóstwo cząstek na wszystkich platformach celowych, szczególnie w odniesieniu do multiplatform. Oczywiście Epic stosuje w swoim demo PhysX firmy Nvidia, aby wyliczyć na karcie graficznej efekty fizyczne i cząstek. Jednak według obecnego stanu rzeczy zarówno Xbox 720, jak i Playstation 4 oraz prawie połowa komputerów do gier używają chipu graficznego Radeon. Jak dotąd obliczenia PhysX na procesorach graficznych Nvidia zastrzega dla swoich chipów Geforce, a procesory CPU są dla takich ilości cząstek za wolne. OpenCL i DirectCompute są dwoma alternatywnymi procesami, które współgrają ze wszystkimi typami chipów. Być może Epic będzie wspierał te procesy lub - co byłoby dla nas niespodzianką - Nvidia udostępni swoją technologię PhysX dla innych procesorów GPU.Rozpraszanie podpowierzchniowe określa sterowanie światłem w ciałach częściowo przepuszczających światło jak na przykład skóra czy różnego rodzaju błony. Dotychczas twarze i skóra były przedstawiane w grach video głównie poprzez rozproszone tekstury pokryte mapami wypukłości i normalnych. Są to jednak działania prowizoryczne, gdyż skóra w porównaniu do tekstury nie jest powierzchnią dwuwymiarową, tylko posiada głębie. Występujące światło zostaje odbite nie tylko na powierzchni, lecz częściowo dopiero po wniknięciu w skórę. Podobnie dzieje się z powierzchniami marmurowymi i chmurami. Aby poprawić wygląd takich półprzezroczystych ciał, także Epic zaprezentowało własną implementację rozpraszania podpowierzchniowego. Technika ta jest wspierana również przez Crytek Cryengine 3.  Obiekty w grach komputerowych mogą nie tylko odbijać, ale również emitować światło. Odmienność w porównaniu do klasycznego źródła światła: w zależności od temperatury, właściwości materiału lub innych czynników, siła oświetlenia zmienia się dynamicznie. W ten sposób nawet gwiazdy w Unreal Demo mogą w swoim otoczeniu wywoływać światło i cień tak, jak to robi strumień lawy. Jest to bez porównania lepsze rozwiązanie od świecącej tekstury, która zmienia wyłącznie swój kolor bez współdziałania z innymi obiektami w postaci wytwarzania ich cienia.                                                                                                                                            

Historia Unreal Engine

1998 - Dzięki wysokiej rozdzielczości i rozległym obszarom zewnętrznym Unreal Engine 1 spycha z graficznego tronu Quake-2-Engine. Popularnych wówczas było wiele API, takich jak 3dfx Glide API oraz Direct3D i OpenGL. Teraz korzysta się głównei z DirectX.2002 - Biznes licencyjny rusza. Najlepszy przykład na to: Pierwszy tytuł, opublikowany na bazie Unreal Engine 2, nie był autorstwa firmy Epic. Mianowicie była popularna taktyczna gra strzelecka 2002 America’s Army. Również wydana w roku 2011 gra Duke Nukem Forever bazuje jeszcze na tym dziesięcioletnim silniku, a dokładniej na jego zmodyfikowanej wersji - Unreal Engine 2.5.2006 - Gears of War, pierwszy tytuł bazujący na Unreal Engine 3, demonstruje mocdebiutującej konsoli Xbox 360. Epic prezentuje Microsoft wczesną wersję gry i przekonuje producenta Xboxa do podwojenia pamięci graficznej konsoli z 256 do 512 megabajtów. Jak dobrze rozszerzalny jest silnik pokazuje zaprezentowane sporo później demo "Samaritan", które jest zwiastunem możliwości Unreal Engine 4.2012 - O Unreal Engine 4 tak naprawdę wiadomo niewiele. Informacje, które mogliśmy zdobyć na podstawie prezentacji i dema są jednak wielce obiecujące. W szczególności chodzi nam o efekty fizyczne i efekty cząstek. Jesteśmy ciekawi dalszych szczegółów.

Wszystkie nowoczesne silniki, a więc Unreal Engine 4, Frostbite 2.0 (Battlefield 3 & Co.), Cryengine 3 (Crysis 2) i przypuszczalnie również Luminous Engine, bazują na Deferred Shading. Tutaj - w przeciwieństwie do tradycyjnych metod obliczania obrazu - jest on cięty na wiele małych kafelków, pojedynczo obliczany i wreszcie ponownie łączony. Zaoszczędza to nieco mocy, gdyż obliczane są tylko te części obrazu, które rzeczywiście są widoczne. W konsekwencji pozostałe obiekty muszą tylko zostać oświetlone, co pozwala na drastycznie podwyższoną liczbę dynamicznych źródeł światła. Ta technika jest nazywana alternatywnie "deferred rendering". Nowym obszarem zastosowania są w Unreal Engine 4 "deffered decals". Tak zwane decals (kalkomanie) przydzielają powierzchniom w grze ich cechy materiałowe (kamień, szkło, tekstylia itd.), które level designer z góry ustala, ale którymi silnik może dynamicznie manipulować, kiedy na przykład roztrzaskuje się szklana kula lub topniejący lód kapie na ziemię. Mamy nadzieję, że dzięki tej podwyższonej zmienności w każdym gatunku, każdy poziom, przez który będziemy chcieli przebrnąć, będzie bardziej urozmaicony i dynamiczny.

Fizyka i cząstki są przyszłością

Rozwijanie gier jest złożonym procesem. Już najmniejsze zmiany w tekście źródłowym mogą spowodować, że trzeba od nowa kompilować całą grę, co trwa przy tego rodzaju zastosowaniach wiele godzin. Kosztuje to pieniądze i nerwy, szczególnie, gdy programista stwierdzi, że zmiany nie odnoszą zamierzonego efektu. Wtedy należy szukać błędów, co znów zajmuje dużo czasu. Zarówno Unreal Engine 4, jak również Luminous Studio Engine firmy Square Enix wnoszą tu coś nowego. Według pokazanych dotychczas video z silnikiem firmy Epic funkcjonuje to lepiej. Praca w edytorze Luminous Engine wydaje się przebiegać stosunkowo ślamazarnie i najwidoczniej z wyraźnie zredukowanym tempem powtarzania obrazu. Obie jednak pozwalają programiście na podejmowanie z poziomu edytora zmian w kodzie, które natychmiast, jeszcze podczas pracy silnika, na nowo są kompilowane i wprowadzane bezpośrednio do gry. Tak więc programiści bezpośrednio widzą efekty swojej pracy. Powinno to nie tylko uprościć korygowanie błędów, ale również pomóc przy designie. Przy tworzeniu postaci programiści szybciej poznają, czy wynik pracy odpowiada ich wyobrażeniom. Obie firmy pokazują w swoich prezentacjach, że wszystko, mierzone we wczesnym stadium rozwoju, funkcjonuje całkiem dobrze. Również Cryengine 3 nastawia się na koncept "What you see is what you play" (To, co widzisz, jest tym, w co grasz). Również tutaj wszystkie przeprowadzone zmiany są bezpośrednio widoczne w edytorze. Zarówno demo "Elemental" firmy Epic, jak również "Agni’s Philosophy" firmy Square Enix demonstrują nam, jaki poziom w następnych latach może uzyskać grafika gier. Trailer "Samaritan" z 2011 roku kładzie kamień węgielny silnika Unreal Engine 4 i posiada już podobną graficzną jakość. Również Cryengine 3 i Frostbite 2.0 dotrzymują kroku konkurencji. Czy ich środowisko jest również tak bardzo rozwinięte, mogą ocenić tylko programiści. Z powodu braku gier nie da się jeszcze ocenić wymagania sprzętowego nowych silników. Przypuszczalnie jednak obecne komputery z najwyższej półki cenowej są już na nie przygotowane.

W demo Unreal Engine 4 najczęściej wywierały na nas wrażenie efekty cząstek i fizyczne. Miliony iskier, które poruszały się w scenach zgodnie z prawami fizyki i były pod wpływem zewnętrznych czynników, takich jak wiatr i które jednocześnie same wpływały na oświetlenie. Jeśli tylko konsole sprostają wymaganiom najnowszych silników, grafika generowana przez nie będzie oszałamiająca i sprawi, że wiele osób poważnie zastanowi się nad zrezygnowaniem z komputera do gier.

Według obecnego stanu rzeczy nie można liczyć przed zimą 2013 roku na gry bazujące na Unreal Engine 4 czy Luminous Engine. Dotychczas ukazały się dwa tytuły, które bazują na Cryengine 3 -  Crysis 2 i oparty na modelu Free2Play Warface. Z zapartym tchem czekamy na nadchodzący Crysis 3, który ma być jeszcze ładniejszy. Jego premiera odbędzie się w lutym 2013 roku.

Nadszedł czas nowych silników graficznych. Największe nadzieje wiążę z najnowszą wersją Unreal Engine, ponieważ będzie to silnik o szerokim zasięgu. Wprawdzie Cryengine 3 i Frostbite 2.0 czarują na ekranie wystrzałowymi efektami, ale są one raczej rzadko licencjonowane. Pomimo, że trailer firmy Square Enix "Agni’s Philosophy" zapiera dech w piersi, budzi on moje najmniejsze zainteresowanie. Wątpię, że konsole następnej generacji faktycznie pozwolą na uzyskanie takiej jakości grafiki. Jeśli jednak tak się stanie, to także my, gracze komputerowi, możemy się cieszyć na  nową generację konsol. Ponieważ dopiero wtedy, gdy trzy duże platformy (Xbox, Playstation, PC) ponownie będą na podobnym poziomie pod względem wydajności technicznej, otrzymamy możliwie najpiękniejsze gry. W końcu od dawna się mówi, że to konsole hamują rozwój rynku gier i trudno się z tym nie zgodzić. Mamy nadzieję, że stwierdzenie to już niebawem okaże się nieaktualne.


Zobacz również