Pohled do budoucnosti: grafika ve hrách
5.10.2012, Pavel Kovač, úvaha
Většina lidí si stěžuje na zpomalený vývoj grafiky v počítačových hrách. Vydejte se s námi na procházku budoucností a na pohled do grafiky let následujících. Čeká nás po letech opět obrovský skok kupředu?
Ach ty konzole... opravdu?
Vzpomínáte na dobu, kdy přišly konzole PS3 a Xbox360? Hry ukazovaly své nové tváře. Např. takové demo Heavy Rain bylo prostě parádní. Celý rok se člověk těšil, že si zahraje něco takového i na PC. Poté některé hry opravdu na PC přišly a byly náročné, až to bolelo i samotný zdroj počítače. Člověk měl hned potřebu upgradovat počítač.
Postupně osobní počítače dohnaly výkon konzolí a následně je i výrazně předehnaly. Nyní se ocitáme na mrtvém bodě, kdy grafika na PC je podřizována té konzolové. Jsou však konzole opravdu tou pravou brzdou grafiky? Není celý problém trochu komplikovanější?
Human raw flash
Všimněte si, jak se proměnila grafika jako celek. Za začátku byla jen prostředkem, jak odvyprávět příběh. Jednoduché dva pixely mlátily další dva pixely. Na naprogramování takové grafiky nebylo potřeba stovek lidí, ale zvládl ji klidně jeden člověk. Jak to probíhá dnes? Máme skupinku lidí, co pouze modelují stromy, co modelují budovy a jiné architektonické záležitosti, další skupina se soustředí na modely postav. Stále mluvíme o skupinách, okruh minimálně třech až pěti lidí. U velkých projektů je jich i daleko víc. A jakmile jsou modely hotové, nastupuje animace postav pro opět specializovanou skupinku, dodělávají se materiály a vše se postupně sesazuje v jeden celek. Pořád mluvíme o skupinkách lidí. Tato masa lidí musí "oklikat" velké množství materiálu a dotáhnout je ke zdárnému konci. Čím více lidí máte k dispozici, tím více si můžete dovolit namodelovat věcí. Např. si namodelujete více variant budov, nebo v kancelářích nebude jen jeden typ monitorů, ale objeví se tam HP, Dell i Acer. Kancelář tak bude působit daleko autentičtěji a přirozeněji. A právě tato přirozenost je velmi důležitá. Ale co když je lidí málo? Vývoj hry je buď podřízen grafice a tomu, že řešíte kompromisy, nebo se vývoj neúnosně protahuje.
A není protahování vývoje her právě ten problém, co dnes trápí víc než to, že je grafika ve hrách podřízena konzolím? Pokud ano, kam se tedy má grafika ubírat, když přijdou nové konzole s (například) desetinásobným výkonem. Vykreslí v kanceláři klidně 50 druhů monitorů vymodelovaných do posledního šroubku. Ale kdo to vše bude modelovat? Najmou studia i desetkrát více lidí, aby byli schopni modelovat takové množství objektů? Asi těžko. Lidská síla je velmi drahá, hry by musely být dražší a asi těžko by se hry prodávaly za cenu např. pětinásobnou. No a co s tím?
Budoucnost, časová přímka A
Možným vývojem je masivní nasazení různých skriptů a generátorů čehokoli. Pokud se totiž podaří vývojovému studiu nasadit perfektní generátor stromů, nebo se budou budovy generovat na základě několika parametrů a současně bude budova vypadat přirozeně, každá trochu jinak a hlavně podle vašich představ. Stromy budou mít listí resp. korunu pokaždé trochu jinou. Pak budete moci vytvořit krajinu či město natolik reálnou a za zlomek času, že si zkrátka můžete dovolit i velkou úroveň detailů. I pár modelářů dokáže vytvořit perfektně detailní model čehokoli. A nedávají si právě studia nyní takovou pauzu, aby vytvořila takovéto skripty, generátory a hlavně enginy, co to zvládají? Vývoj takových skriptů také stojí nějaké úsilí, zaměstnává jinou skupinku lidí a opět lehce prodražuje vývoj samotné hry. Je to stále nesrovnatelně levnější než modelovat vše od začátku a bez jakékoli automatizace.
Pokud se podíváte na dnešní hry, co se v nich často opakuje? Modely stromů, aut, postav a sem tam nějaká ta chajda na pláži a pak to jsou samozřejmě textury. Pořád jde ale o kompletní kopie (instance) celého modelu. Auto je stejné (až na textury/barvu), chajda u pláže má stejné dveře jako ta hned vedle. Není zde velká variabilita a zkrátka si toho všimneme. Pokud se tato variabilita zvýší a bude každý kousek hry vypadat jinak, bude i celkový zážitek zcela odlišný.
Pokud se podíváme na hry v dobách, kdy byly ještě hodně jednoduché, našli jsme v nich jen stále se opakující modely. Pak nastoupila řada her, které byly zkrátka umodelované a bez výraznějších opakujících se předmětů. Nyní se naopak může stát, že ona instancovanost objektů se vrátí. Bude však mnohem komplexnější a promyšlenější. Např. řekneme v editoru, že na tomto místě má být dům typu A. Editor vygeneruje z knihovny dům typu A se zabarvením B. My mu pouze řeknem ano, tak to může být. Nebo aby vyměnil dveře za typ C. Editor také sám upraví cestu, která je v nejbližším okolí a vytvoří k ní napojení pro dům typu A. Toto je zkrátka jediná možná cesta, jak udržet vývoj her v rozumných časových mezích. Má to také výraznou výhodu ve faktu, že pokud budeme chtít vyměnit pouze dveře, tak je přemodelujeme a nahradíme jeden konkrétní objekt. Nemusíme otevírat např. celý model domu.
Kapitolou samotnou o sobě je vegetace. Je totiž všude kolem nás, všichni ji známe do sebemenšího detailu. Pokud je strom vymodelovaný nesprávným způsobem a nemá svůj typický tvar, hned poznáte, že tu není něco v pořádku. Současně je každý strom trochu jiný a pokud použijeme pouze pár modelů, co se opakují, máte opět problém. Možností je každý model trochu zmenšit nebo zvětšit a přiřadit lehce jinou barvu listů. Tím máte zaručenou docela dobrou variabilitu. Pro velký les někde v dálce to naprosto dostačuje, ale pokud se jím máte procházet, je potřeba mít opravdu i fyzickou variaci ve tvaru stromů. V tom případě opět musí nastoupit různé generátory a skripty. Není v lidských silách mít pod kontrolou každou větvičku či strom. Daleko lepší je vytvořit perfektní generátor, kterému věřím a vím, že vytvoří pěkný les, ve kterém se můžu procházet a bude vypadat přirozeně. A protože se jistě najdou tací, co tento fakt pochopí a využijí jej, můžeme se těšit v příští generaci konzolí a vlastně i PC na obrovské množství vegetace, která vypadá přirozeně a má lístečky vymodelované do poslední vlásečnice. Modelář se totiž může soustředit na detaily a celek bude tvořen skripty, generátory.
V této scéně jsou použity pouze čtyři stromy a přesto je každý na pohled jiný
Tím samozřejmě nechci říci, že by se o všechno postaral počítač. Člověk bude vždy onen šéf, co vše řídí. Jen tento šéf bude říkat: "Zde udělat palouček, tady kousek lesa... hmm trochu jiný, více listnatý les. Mezi lesem a paloučkem natáhnout cestu od traktoru." A pokud bude vývojář oproštěn od technických věcí, které ho jen zpomalují, budeme se moci těšit na tituly, které mají promyšlený příběh a současně velmi dobrou grafiku. Bohužel takto růžová budoucnost být vůbec nemusí. Může být daleko temnější.
Budoucnost, časová přímka B
Nyní se podíváme na druhou variantu, která může nastat. Tou je fakt, že se vývojáři zaměří více na detaily a nebudou brát grafiku v nich jako výzvu. Sice zde bude extrémně výkonný hardware, ale stále nebude dostatečně využit. A to i přestože budou modely velmi detailní až předetailované. Například si řekne: "Udělejme hru ze světa žab" a půl hry budete koukat na každičký detail žáby. Berte to prosím jako příklad a vzpomeňte si na něj, až uvidíte nějaký thriller, v kterém budou extrémně detailní záběry na obličej hlavního hrdiny, ale okolí bude bez detailů. V tomto případě si budeme hrát ve stále opakujícím se prostředí, ale ono prostředí bude perfektně detailní. Výrobci se nám budou snažit vnutit, že je to to pravé ořechové a že to máme hrát. K čemu nám je detail, když příběh či jakákoli myšlenka se vytratila? Vývoj takové hry však může stát také nemalé množství peněz. Ba dokonce stejně či více než toho, kdo nasadí generátory a skripty.
Bohužel tato budoucnost je velmi reálná a možná se nakonec i vyplní. Pro vývojáře je totiž stále jednodušší vymodelovat si kousek lesa s žabičkou. Návratnost této investice bude rychlejší. Také marketing bude této variantě více nakloněn. Ono je totiž daleko jednodušší prezentovat extrémně detailní model. Různě jej přibližovat a oddalovat, točit se kolem něj. Na prezentacích to vypadá daleko lépe. Bylo by však dobré, kdyby se naučili zacházet i s "časovou přímkou A" a ukazovat, jak je území jejich hry rozlehlé a že pokud se přiblíží k chajdě, má každá jiné dveře a les vypadá opravdu jako les.
Budoucnost je zkrátka dost nejistá a hlavně reálně černá. Pokud se totiž vývojáři her nechytí za nos, dostaneme se do časové "přímky B" a herní průmysl bude v budoucích letech jedno a to samé. Ovšem ve všem špatném je něco dobré. To dobré je fakt, že jakmile se něco (cokoli) zavede do krajnosti a stane se z toho pouze dojná kráva, zákazník se dříve nebo později vzbouří. Je pouze otázka, jestli to bude dříve nebo později.
Není to jen o hrách
I přestože jsou hry takovým hnacím motorem ve vývoji počítačů, není to jen o nich. Např. takové profi 3D programy svůj boom už zažily a dnes jsou vesměs stejné. Zcela typickým příkladem je Autodesk 3ds Max. Produkt v dobách, kdy patřil ještě Discreetu se postupně vyvíjel a vylepšoval. V majoritní verzi přibyl např. ray-traicing, radiosita apod. Zkrátka vždy něco velkého. Nyní? Změna v GUI a vylepšený viewport. To je trochu málo. A je to vlastně cítit prakticky ve všech programech, ať už od Autodesku nebo od někoho jiného. Ony velké věci se již udály a pokud se zákazník nevzbouří, výrobce bude provádět změny jen opravdu nerad. Zde je největší šance pro nově vznikající firmy. Ty mají zcela odlišný přístup k celé koncepci a myslí v jiném měřítku. Obvykle myslí v daleko větším měřítku. Typickým příkladem je například program Luxology Modo. Ten dokázal ukázat, že i v dnešní době má nový projekt velkou šanci stát se lukrativním a vyvolat bolest hlavy ostatním.
No a co tedy očekávat od budoucnosti? Osobně jsem věčný optimista a tak věřím, že se kvalita grafiky brzy opět posune o nějaký ten skok kupředu. A nebudou za to moci pouze konzole, ale obecně přístup vývojářů her. Konzole budou jen takovým odrazovým můstkem.
A otázečka na závěr. Proč jsem nepoužil ani jeden screenshot ze hry pro konkrétní příklady? Odpověd je jednoduchá. Je to protože... :-)