17/04/09

Dáma berie kráľa

Určite poznáte ten kravsko blbý mýtus o finančne nákladnejšom vývoji tej istej third party hry na PS3ke ako na Xcrape. Konkrétne dodatočne náklady na strane programátorskej. Sú to dezinformačne opité lži. Zahmlievanie. Skutočný problém dnes leží niekde úplne inde. A bude horšie. Je to adekvátne rýchla produkcia kvalitných herných HD asetov, výstavba herného prostredia, pružnosť pri integrácii pixel/vertex/geometry/compute shaderov, a stovky ďalších operácii. A neuveriteľné rýchlo rastúca cena tejto práce. Na zx spectre si dodnes kreslím obrázky v rozlíšení 256 x 192 pixlov, v 15 farbach. Na PS3 to však priemerne beží v 1280 na 720 rozlíšení s miliónmi farieb, vrstiev, modelov, textúr, metre audia a 50 hz animácie. Inými slovami horúci zemiak dnes držia v rukách artisti a dizajnéri /bežne 50-70% z celkového počtu zamestnaných darmožráčov/. Aby som to ešte viac vyhrotil. Musíte akceptovať fakt, že je nutné obetovať značnú časť výkonu na úkor pohodlia nepogramatórskej sebranky. Je tomu tak napríklad aj pri God of War 2. Tam to bolo možné urobiť dvoma spôsobmi. Maximálna efektivita kódu /viac polygónov, objektov, surovej exhibície/, alebo maximálna pružnosť a komfort na strane grafikov/dizajnérov. Nevolili to prvé.

Riešenia. Útok hrubou silou ala Assassin dvojka, kde na tom tvrdo maká 240 členný tím. To čo vlastne konzumovalo tie mesiace času pri tvorbe KZ2 bolo práve hľadanie rozumného konsenzu, a spôsobu ako vydrbať s programátormi. Grafik, dizajnér potrebuje voľné ruky, nie reštrikcie zo strany herného enginu, a čakanie až to kamoš progiš vedľa od stola nejako vyrieši. Keď hrajete na klavíri, ani sekundu vášho času nemusíte stratiť rozmýšlaním o tom, že po pár úderoch a opakovane - budete potrebovať pomoc remeselníka, čo ho vyrobil. Hnusí sa mi pohľad na staré vyhorelé "programátorské" esá, a žvatlálkov ako Carmack, Gabe, Yerli - tie ich herné nepodarené technologické demá pod ich vedením.

Prvá verzia pracovného prostredia-editora KZ2 vyžadovalo neustále zásahy zo strany programátorov. Mesiac práce 30 ľudí na jeden MP level. Ručne ladenie každej kraviny od LOD modelov, cez ligtmapy, fyziku. Mimoriadne komplikované art vedenie. KZ2 engine je vlastne trojjediná osoba. Primárny deferred engine /komplet nasvietenie/, sekundárny /transparentné materiály/, a terciarný /partikle, rekurzia - častice vznikajúce po zrážke dvoch iných/ forward engine. Po radikálnej úprave to bolo 9 ľudí/1 mesiac práce na MP mapu, a 12/1 pri SP levely. Z môjho pohľadu stále nezmyselne pomalé, lebo rovnaký počet robošov pod gestapáckym vedením postaví v rovnakom čase jeden malý dom. Zrýchlenie v GG dosiahli okrem iného centrálnym skladom výstavbových prvkov. Takmer celá hra, alebo 90% akéhoľvek miesto v nej sa dá pokladať z 1500 základných lego blokov. To isté platí pre pixel shader fragmenty. Nemanuálne vytváranie LODov, a kopy ďalších kravín /viď úplne prvý link/. Mimochodom už to čítam asi z tretieho zdroja, KZ2 takmer iste nepodporuje streaming textúr. Všetko čo vidíte, je napchané v pamäti hneď na začiatku.

A posledných pár viet ku KZ2. Do tretieho dielu okrem výrazného vylepšenia grafiky /hehe/, plánujú práve tzv. "programovanie štetcom". Automatizovanie, maximálne zjednodušovanie nevyhnutných non art krokov, kreatívna voľnosť, odstránenie programátora a jeho zhubného vplyvu na design hry a hrateľnosť. Samozrejme patent na rozum nemajú iba holanďania. Ide o svetový trend, na ktorý nabehol aj Crytek s CryEnginom3, Offset /Intel/ alebo Gamebryo /nadstavba Lightspeed/. Design herného sveta s okamžitou spätnou vazbou /na integrované subsystémy - animácia, fyzika, svetlo, AI/, v reálnom čase a naživo. Takže už je vám asi definitívne jasné, kde to viazne pri GT5ke. Čim viac tam toho chcete, tým dlhšie to bude trvať. Táto generácia je skutočne prechodová. Prechádzame od nikam nevedúceho amatérskeho hardcore "carmack tomu velí" low level vývoja po žiadúce profesionálne hollywoodske soft techniky. Alebo Hitchock to zariadi.

No comments:

Post a Comment

**** pre vloženie hypertextového odkazu do komentára použi CSS kód: hyperlink ****