6. 4. 2011

Konzole – brzda vývoje počítačové grafiky

Když se jistý rakouský malíř rozhlédl po německých luzích a hájích, zamyslel se, jak nejsnadněji získat popularitu a moc. Bylo nasnadě vybrat nejjednodušší cíl. Stačilo vybrat někoho, kdo byl dost na očích, dostatečně odlišný a koho mohly běžné davy lidí třeba i z něčeho podezírat. Zveličením a propagandou tak brzy dosáhl svého. Jak to tehdy dopadlo asi víme všichni, nechci to zlehčovat. Každopádně princip populismu a hledání nejsnadnějí nalezitelného viníka funguje. Herní konzole disponují omezeným výkonem, čímž brzdí vývoj PC grafiky na tolik žádanou fotorealistickou úroveň. Vždyť jak vypadaly špičkové hry na PC před pěti lety a jak dnes? A jaký je rozdíl mezi grafikou PC her v letech 1995 až 2000? Je tedy na první pohled logické obvinit konzole, hardwarově nemožné vyššího výkonu, že neposkytují programátorům prostor pro fotorealismus a tím pádem hry vypadají tak, jak vypadají už pět let. Je tento nejjednodušší pohled na věc správný?

Je to začarovaný kruh. Kdo za co může, kdo brzdí koho a kdo žene co dopředu. Společný jmenovatel je jediný – peníze. Zbývá se tedy s nadhledem zaměřit na ten kolotoč a podívat se, co se „doopravdy“ děje, bez bázně a hany.

Nejprve obecně – herní konzole mají svou popularitu založenou mimo jiné na tom, že hardware je unifikovaný, čili každý majitel má vždy záruku, že mu koupená hra poběží tak, jak je nejlépe možné. Jejich životní cyklus má obvykle délku 5-7 let a rozdělují tak časovou osu na takzvané generace (dneska máme osmou například). Skoky ve výkonu mezi generacemi reprezentují pokrok, který mezitím PC platforma udělala plynule. Obvykle tak konzole na krátkou dobu předstihnou běžná PC co do hlediska grafického a i když PC velice rychle srovná krok a předstihne pevně daný výkon konzolí, trvá to opět několik let, než vyjde nová generace. Tímto pravidlem se řídí celý trh.

Druhou věcí je závažnější problém – je vůbec možné udržet tempo vývoje PC grafiky? Od roku 1995 pozorujeme extrémní boom výkonu počítačů a prakticky každý rok vycházejí hry, které překračují hranice roku loňského. Lze ale celkem snadno pozorovat, že čím více se grafika zlepšovala, tím hůře byly znatelné rozdíly v kvalitativním pokroku. I když Quake 2 a Quake 3 opravdu představují jasně patrný skok, jak lze pak pohlížet na rozdíly mezi Quake 3 a dejme tomu Unreal Tournament 2003? Obě hry dělí tři roky, skoro stejně, jako tři roky od sebe dělí Quake 2 a 3. Nedívejme se na design, ale na efektivitu technologie. Vývoj se začal jakoby zpomalovat. Není to ale náhodou přirozený jev? Něco ve smyslu „čím rychleji se pohybujeme, tím více energie potřebujeme na to, abychom zvýšili svou rychlost“? Vnímat křivku vývoje počítačové grafiky jako strmou rovnou čáru je podle mne nesmysl.

Třetí věcí je opět obecná otázka – existují vlastně dneska nástroje, díky kterým bychom dokázali efektivně využít do poslední mrtě současných špičkových enginů a tedy i hardwaru? Při pohledu na reprezentativní demonstrace technologie jako například Cryengine3 se mi čelist odmítá zvednout z podlahy. Jak je ale možné, že žádná hra, ani „referenční“ od Cryteku zkrátka a dobře nevypadá ani zdaleka tak dobře, jako demonstrační video? Odpověď je myslím jasná – přestože engine a výkon stačí na opravdu perfektní scenerie, na vytvoření počítačové hry je potřeba vytvořit stonásobné množství grafiky, animací a efektů. Objem práce při zachování kvality začíná přesahovat přijatelné meze, projekt se nepřiměřeně prodražuje. Nemluvě o tom, že hry / enginy nejsou jenom o grafice, ale také o fyzice či umělé inteligenci. K tomu taky dobrá poznámka – čím je komplikovanější prostředí, tím více přepínáčů je potřeba implementovat do umělé inteligence a tím pádem sežere mnohem více výkonu, než třeba v Doomovi, ale přesto se chová vlastně „stejně hloupě“. V současné době neexistují nástroje, které by při zachování grafické komplexnosti dokázaly za přiměřenou cenu a čas vytvořit nějakou delší hru. V tom vidím poměrně velký problém.

Jsem fanda počítačové grafiky a sním o fotorealistické úrovni (už mnoho let), ale na druhou stranu mi je celkem fuk, jestli to přijde letos, příští rok nebo za deset let. Se současnou úrovní grafiky jsem naprosto spokojený a už mám za sebou období, kdy jsem masturboval u SVGA obrázků proto, že jsou SVGA. Rozumím ale tomu, že hráči spotřebitelé chtějí víc – já také! Jenom vidím problémy někde trochu jinde – přesněji řečeno v tom nevidím žádný problém.

Aniž bych musel nutně zaujímat nějaké stanovisko, je fakt, že mi je sympatické, když se z daného hardwaru ždíme maximum. Moc se mi líbí, co všechno se dá vymačkat ze starých konzolí nebo třeba z Amigy deset a více let po té, co je tento stroj hardwarově znemožněný. Zamlouvá se mi optimalizace až na dřeň. V tomto smyslu vidím u PC zásadní nevýhodu. Díky tomu, že každého půl roku nám firmy cpou nové procesory, grafické karty nebo rovnou nové verze API, je velice těžké se věnovat studiu materiálů a tedy i ždímání výkonu. Než by se programátor začal zabývat pořádnou optimalizací, uplyne půl roku a hle – je tady nový hardware nebo software. Konzole tak mají teoretickou výhodu, že jejich fixní výkon se programátoři teprve učí během let správně používat a mají tak motivaci se předhánět. Na PC se prostě vydá nový hardware a je vyřešeno. V obou případech se ale nedočkáme fotorealismu.

Při současných cenách vývoje her (desítky milionů dolarů plus marketing) si vydavatelé nedovolí riskovat a vydávat hry pro modré oči. Potřebují mít jasný plán, který nejen zaplatí samotný vývoj, ale také nasype patřičnou sumičku do kapes správných osob. Bohužel, platforma, která je schopná poskytnout z hlediska výkonu nejkvalitnější grafiku, je zároveň nejméně výdělečná. Nejde o to, že PC je nejméně výdělečná platforma, ale také jde o ten obrovský odstup od konzolí – všeobecně je poměr prodaných her PC vs konzole přibližně 1:10. Když si k tomu přičteme, že díky devkitům a právě unifikovanému hardwaru je vývoj na konzole levnější, máme jasno. Na PC je tak vyvíjen naprostý zlomek exkluzivních titulů a ani jeden z nich nereprezentuje „maximum“, čeho je hardware schopný. Na plnohodnotné využití není čas, peníze a vzhledem k rychlosti a plynulosti vývoje hardwaru je skoro nemožné vyrábět nástroje, které by dokázaly PC doopravdy využít.

Je na tom vůbec něco k podivení? Nejsem příznivec hraní konzolových portů na PC – taková hra patří na konzolí a hotovo. Nějaké vylepšení textur, vyšší rozlišení nebo plynulejší snímkování nedokáže zamaskovat fakt, že tato hra nebyla vytvořena s ohledem vymačkat z PC maximum. Byla vytvořena, aby vymačkala maximum z konzole. Ta má na rozdíl od PC nějaký strop. Kruhem se pak vracíme k jednoduché argumentační logice – vydavatel chce vydělávat a tak publikuje hry pro výdělečné konzole. Konzole jsou výdělečné, protože je má hodně lidí. Hodně lidí je má proto, že jsou relativně levné a vydrží 5-7 let. Během těch roků nemají lidi důvod upgradovat (či kupovat) herní PC. Kvůli tomu je trh s PC hrami malý a negeneruje vydavatelům zisk. A vydavatel chce vydělávat.

Co si doopravdy myslím? Před mnoha lety jsem vedl jednu z nekonečných horlivých diskuzí na téma „proč jsou konzole fuj a PC je super“. Vtipné na tom mimo jiné je, že jsem dříve býval zarytý PCčkář, který pohrdal vším, co nebylo na osobní počítače, primárně tedy PC. Každopádně jeden z argumentů pro PC byl přibližně ten, že PCčkář není idiot, umí si opravit hardware, odladit ovladače, upgradovat zvukovku a vůbec si se svým miláčkem pohrát tak, aby mohl hrát hry v nejvyšší kvalitě. To konzolista nemůže, takže je to automaticky idiot, kterému jen stačí mačkat dvě tlačítka do zblbnutí. Parádní argumentace, co?

Už někdy před deseti lety jsem v rámci podobné diskuze poznamenal, že cíle obou skupin jsou naprosto stejné. Chtějí prostě bezproblémů hrát hry. Jeden k tomu potřebuje jenom konzoli, druhý nadupadné PC, avšak zbavené chyb. V tomto smyslu je PCčkář vlastně také konzolista. Jenom je na sebe hrdý, že pro bezproblémové hraní musel nastudovat spousty materiálu a být dost šikovný, aby si sestavil PC, odladil Windows a pak se oddal hrátkám. Odladěné a bezchybné PC se tak v očích hráče mění v konzoli. Chybí jenom nějaký globální směr, kterým se bude platforma vyvíjet. Nad PC v té době nestál nikdo, takže se těžko hovořilo o herní platformě v pravém smyslu slova.

Jenže co dneska? Už není potřeba zasahovat do PC tak, jako v dřevních dobách 386, kdy jsme řešili dost volné XMS pro Wizardry 7. Seskládat si PC zvládne každé dítě, všechno je Plug’n’Play a Windows 7 dělají všechno za nás. Hry si kupujeme centrálně na Steamu, nemusíme hnout ani prstem s nějakou složitou konfigurací, jsme jen omezeni rychlostí našeho připojení k internetu. Pak už jen klikneme na ikonku a všechno jede samo. Tyto aspekty vedou k jedinému závěru – z PC se morálně vzato stala konzole. Nikdo si nekupuje PC na hraní proto, že může strávit hodiny a hodiny nastavováním a laděním, nikoliv hraním (zní to takto napsané divně, že? Před pár lety to bylo pro PC plus!). Je to více méně centralizovaná platforma, kde se dají instantně hrát hry bez nutnosti být naduživatel.

Jenže jelikož počet platících hráčů na PC je oproti konzolím zdaleka nejmenší, logicky se pro něj vydává nejméně exkluzivních her a vzhledem k charakteristice platformy a nákladům na vývoj se můžeme v současnosti rozloučit s vidinou lepší grafiky.

Ale přijde doba, kdy se nástroje na vývoj grafiky vylepší, zdokonalí a kdy klesne cena vývoje, takže se opět dočkáme opravdového skoku vpřed. Bude se tak dít pravidelně jednou za pět až sedm let, kdy další generace konzolí vydělá natolik, aby bylo možné přejít na další generaci s vyšším výkonem a lepší grafikou. Do konzolí nyní počítám i PC, které se de facto konzolí stalo.

Konzole samozřejmě žádný vývoj počítačové grafiky nebrzdí. Jenom ho jinak dávkují, ve svých pravidelných rytmech. PC, které je schopno vyšší kvality, se tomu musí chtě nechtě přizpůsobit. Vzhledem k nízkým prodejům je to naprosto pochopitelné. Musíme rozlišovat mezi potenciálem výkonu PC a pak realitou, kdy nikdo neinvestuje desítky či stovky milionů dolarů do projektu, který by z současných nadupaných PC opravdu vymačkal fotorealismus, skvělou umělou inteligenci a fyziku. Pokud tedy někdo tvrdí, že vývoj her pro konzole brzdí vývoj grafiky na PC, plete si zkrátka příčinu s důsledkem. PC historicky nikdy nebylo v hledáčku herních vydavatelů, když hovoříme o čistém zisku. A (pro Pcčkáře v tomto smyslu bohužel) pouze čistý zisk definuje standardy.

Nepropadejme panice, oznámení nové generace konzolí a tedy skok v kvalitě grafiky pro všechny platformy, není daleko.

P.S.: U té optimalizace - nejde čistě jenom o hledisko programového kódu, ale i o přístup k věci. Právě Rockstar ukazují, jak využitím nových postupů a nápadů lze do stávajícího enginu vložit takové grafické prvky, které jsme od této generace vůbec nečekali. Čili optimalizovat lze i selským rozumem. To si ale bohužel v dnešní uspěchané a na penězích závislé době může dovolit jen velice málo studií. Díky za ně.