ze-zakulisi-vyvoje-pocitacovych-her-2
Hry Článek Ze zákulisí vývoje počítačových her 2.

Ze zákulisí vývoje počítačových her 2. | Kapitola 2

Aleš Ulm

Aleš Ulm

2. 8. 2008 01:00 22

Seznam kapitol

1. Letem světem vývojářským týmem 2. Programování pro začátečníky

Takže, kde jsme to minule skončili? Aha, jistě. Náš úžasný projekt má zelenou. Podařilo se nám zajistit finance, nějaká ta preprodukce už je hotová a tým nedočkavě čeká, aby všechny ty skvělé nápady začal přenášet do reality. Vidina vlastních tropických ostrovů a renomé hodného rockových hvězd je téměř hmatatelná. Tedy vzhůru do práce...

Reklama
Ze zákulisí vývoje počítačových her 2.
i Zdroj: PCTuning.cz

Prohlídku zakončíme u skriptařů, kteří, ať už to zní sebepřekvapivěji... skriptují. Část z nich budou nepochybně přímo designéři, protože schopnost rychle sám implementovat a otestovat vlastní řešení je pro ně nesmírně důležitá. Návštěva chce ale o skriptování vědět víc, takže jí samozřejmě vyhovíme.
Velká část kvalitních enginů má nějaký skriptovací jazyk a to buď vlastní nebo častěji některý rozšířený a volně využitelný (Lua, Python). Návštěva se podivuje. Před chvílí jsme si řekli, že vývoj enginu probíhá obvykle v C++. Proč tedy situaci komplikovat přidáním nějakého dalšího jazyka? Odpověď je snadná. Paradoxně právě proto, abychom vývoj hry zjednodušili. Programovací jazyk, ve kterém vzniká engine, je nesmírně silný a komplikovaný nástroj. Každou z funkčností je možné implementovat celou řadou různých méně či více vhodných způsobů (proto jsou některé enginy pomalé a některé rychlé). Zvolené řešení musí být kompatibilní se zbytkem enginu, který je vnitřně značně provázaný. Pro většinu problémů navíc neexistuje jednoznačně nejlepší řešení a i kód, který na první pohled dělá, to co má, může způsobovat chyby, které se často projevují na nečekaných místech.

Zdá se to komplikované? Ano, nepochybně. Proto je výhodné tohle všechno nechat řešit pouze programátory enginu a při nastavování toho, co se ve vlastní hře děje ("když zmáčknu tohle tlačítko, otevřou se támhlety dveře") mít k dispozici něco, v čem se dá udělat opravdu jen to, co k přípravě obsahu hry potřebujeme. Je to sice svým způsobem omezující, ale přináší to nesporné výhody. Výsledný kód - tedy skript - je výrazně přehlednější, protože místo volání složitých funkcí v něm mohou být jednoduché příkazy typu MoveCharacter(postava,cilova_pozice,cilova_rotace).

Ze zákulisí vývoje počítačových her 2.
i Zdroj: PCTuning.cz

Skriptař prostě zavolá tuhle funkci a o věci typu animování postavy při chůzi, pathfinding či řešení kolizí se nestará – to vše už se řeší na podstatně rychlejší úrovni enginu. Zjednodušení syntaxe jazyka znamená menší množství chyb, které se navíc snáze odhalují. A díky jednoduchosti skriptovacích jazyků mohou obsah hry skriptovat beze strachu i designéři nebo grafici.

Návštěva je celkem spokojená. "Takže v tomhle složení děláte na hře v klidu ten rok a půl či dva, pak ji odevzdáte a už jen napjatě sledujete, kolik hvězdiček kde dostane?" No... ještě jsme návštěvě vlastně nevysvětlili princip milestonů...

Noční můra jménem Milestone

Ze zákulisí vývoje počítačových her 2.
i Zdroj: PCTuning.cz

Protože vývoj hry stojí nemalé peníze, je poměrně logické, že si publisher svou investici hlídá. Chtěl by, aby hra byla hotová ve slíbeném termínu, obsahovala všechno, co jsme při jejím vychvalování naslibovali a ideálně ještě víc. Proto jsme se museli při podpisu smlouvy uvázat k plnění jistého harmonogramu. Jeho součástí jsou tzv. milestony - termíny (často s odstupem jednoho měsíce), ve kterých budeme muset odevzdat část hry, která je popsána ve smluvě. Z počátku to mohou být hrubá data, první verze ovládání, smluvený počet nových postav, lokací atp. Ke konci už to bude hlavně alfa a beta verze, ruzné verze release candidates a finální goldmaster - vymodlené DVD s finální verzí hry, která se posílá do lisovny a na kterou je obvykle vázána významná část finančních prostředků určených na vývoj. Každý milestone (resp. jemu odpovídající verze) se pošle publisherovi a pokud je jím schválena, je – resp. by měla být - vývojáři proplacena smluvená částka. Pokud není publisher spokojený, verze se předělá/dodělá a pošle znovu. A tak dokola.
Problémem je ovšem skutečnost, že je téměř nemožné nedostat se do menšího či většího časového skluzu, který se pak nabaluje a vyústí v pozdější vydání hry. Je opravdu jen minimum vývojářů, kteří se mohou pochlubit tím, že by vždy stihli všechny milestony a jejich hra vyšla v původně stanoveném termínu.

Ze zákulisí vývoje počítačových her 2.
i Zdroj: PCTuning.cz

Jak je to možné, ptá se návštěva. Přece na začátku víme, co všechno musíme udělat, harmonogram jsme odsouhlasili a když nebudeme líní, nemůže výrazné zpoždění nastat...
Může a často taky nastane - z mnoha různých důvodů. Pracuje se s neustále se rozvíjející se technologií. To, co v době podepsání smlouvy představovalo technologickou špičku a objevovalo se v demech výrobců grafických karet, je při dokončování hry už často featurou, která se ve hře tak nějak očekává. Pokud jste kdysi v projektu počítali na vodní hladinu jen s primitivním odrazem falešné oblohy a mezitím se začaly masivně objevovat hladiny zobrazující reálné reflexe objektů ve scéně, budete je chtít ve hře taky - a co teprve váš publisher. Jasně určit, co je dobré ještě implementovat i za cenu jistého zdržení a co už zavání nekonečným vylepšováním a v důsledku tedy další hrou s přídomkem „Forever“, je jedno z těch těžších rozhodnutí.
Často se aktuální technologie ukáže být nedostatečná a zásah do enginu bude mnohem větší, než se čekalo. Řekněme, že jste počítali, že hlavního hrdinu budete sledovat z nadhledu pod jistý daným maximálním úhlem. Při testech se ukáže, že hra je mnohem zajímavější, když je kamera sklopená více za zády. Proč hráči neumožnit podívat se do dálky? Protože tahle na první pohled nevinná úprava může znamenat, že se vám do pohledu kamery najednou dostane řádově o desítky až stovky tisíc polygonů víc, než jste počítali a co to udělá s plynulostí hry je zřejmé. Pokud k takové výrazné změně v průběhu vývoje "dobrovolně" přistoupíte, strávíte na dodatečných optimalizacích a řešení průběžně se objevujících problémech enormní množství času.

Změňte tohle, tamto … a kde že je to video?

Ze zákulisí vývoje počítačových her 2.
i Zdroj: PCTuning.cz

Často se do skluzu dostanete i díky přímým požadavkům publishera. Komunikace s ním může mít různé podoby a různé stupně porozumění, ale s velkou pravděpodobností po vás bude požadovat změny a úpravy, ze kterých nebudete příliš šťastní. Budete x-krát sahat do hotových animací, měnit textury a upravovat modely. Někdy nakonec uznáte, že výsledku to prospělo, jindy budete považovat provedené změny za ztrátu času. Publisher je ale ten, kdo platí, takže...
V průběhu vývoje po vás navíc bude vydavatel poměrně často požadovat nějaké nové PR materiály - od screenshotů (vždy musí být unikátní, protože tentokrát jsou přece pro web XY), přes teasery, trailery až po hratelné verze pro interní prezentace partnerům. Pokud je podobných požadavků více, což se děje především před velkými veletrhy typu E3 a GDC a vaše společnost je menší, může být vlastní vývoj hry přípravou zmíněných materiálů na jistou dobu výrazně zpomalen nebo i částečně paralyzován. Nabrat větší množství použitelných screenshotů totiž netrvá pár minut, k připravení hratelné ukázky hry nestačí říct "jasně, jen udělám exáč z aktuální verze a pošlem to" a k vytvoření traileru je třeba víc, než pustit videozáznam a dvě minuty hrát.

Návštěva soucitně přikyvuje. Za odměnu, že nám tak pozorně naslouchala, ji vezmeme jí do zasedačky na kafe (základní to atribut vývojářského studia). Je zřejmé, že by se ještě chtěla na pár věcí zeptat, takže jí ušetříme námahu, nadechneme se a řekneme jí rovnou deset věcí, které chtěla vědět o vývoji her, ale bála se zeptat. Ale až příště - musíme jí nechat trochu vydechnout :)

Obrázky zdroj www.igda.org

První
Poslední
Reklama
Reklama

Komentáře

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Rychlé přihlášení přes:

Google Seznam
Reklama
Reklama