Jak vznikají hry II.

1. 7. 1998

Sdílet

Počítačová zábava je nejen jeden z¦rozšířenějších způsobů využití počítačů, tím pádem i obchodu, ale...


Počítačová zábava je nejen jeden z¦rozšířenějších způsobů
využití počítačů, tím pádem i obchodu, ale i dosti složitá a
zajímavá tématika. V¦minulém díle přišla na přetřes obecná
teorie, nyní se podívejme na praktický postup a způsob výroby.

Etapy vývoje hry

Především je třeba si uvědomit, že vytvořit kvalitní hru vůbec
není hračka.V podstatě je práce na multimediální hře svou
náročností velice podobná práci na moderním trikovém filmu.
Zpravidla se jedná o rozsáhlý projekt, který mnohdy trvá i
několik let a podílí se na něm několik desítek lidí.

Základem všeho je myšlenka. Myšlenka, kterou je třeba rozvinout
do podrobného scénáře, na jehož základě je možné začít s tvorbou
hry. Jakmile je hotov scénář, jenž kromě dějové linie samozřejmě
zahrnuje i pravidla a styl hry, započne práce na programu
(herním enginu) a grafice. Vzápětí následuje hudba, zvukové
efekty a návrh jednotlivých úrovní hry. Po celou dobu probíhají
beta-testy a úpravy všech částí tak, aby hra v době svého
uvedení na trh vyhovovala trendu a neustále vzrůstajícím nárokům
herního průmyslu.

Scénář

Kvalitně zpracovaný scénář je stabilním základem pro úspěšné
dokončení hry. Může se zdát, že přikládám scénáři příliš
důležitou úlohu, ale věřte, že vím o čem mluvím. Scénář je
středem celého projektu, od nějž se odvíjí vše ostatní. Pokud
není zpracován scénář, jednotliví členové týmu nevědí, podle
čeho mají postupovat a k jakému cíli jejich snažení povede. Na
podcenění důležitosti scénáře již skončil nejeden projekt!
Vězte, že mluvím z vlastní zkušenosti. Základem každého scénáře
je příběh. V některých typech her je důležitější (adventure,
RPG), v jiných méně důležitý (simulátory, akční hry), ovšem
najdeme jej všude. Vedle příběhu je třeba specifikovat žánr hry,
způsob zpracování, pravidla hry, a pokud možno i odhad
náročnosti projektu na čas, finance a lidské a materiální zdroje.

Program

Programování her je programování jako každé jiné. Avšak na
rozdíl od kancelářských aplikací a databází, klade vyšší nároky
na znalost i těch nejmenších detailů hardwaru a operačního
systému. Je tomu tak proto, že hry jsou optimalizovány více než
většina ostatních aplikací. Dokud se programovalo pod DOSem, byl
důraz kladen především na detailní vědomosti o hardwaru, přechod
pod Windows 95 pak znamená pro programátory obrácení pozornosti
směrem k operačnímu systému. Je tomu tak proto, že pod Windows
95 se velká část operací neřeší přímou komunikací mezi programem
a hardwarem, nýbrž se používá volání služeb operačního systému.
Zatímco pod DOSem byla pro programátora znalost assembleru
nutností, pod Windows 95 se bez něj docela klidně obejde.
Windows 95 přinesla jednotné programové rozhraní pro vývoj her,
nazvané DirectX. To se skládá ze čtyř částí, kde každá část
zastupuje určitou množinu funkcí: DirectDraw -- 2D grafika,
Direct3D -- 3D grafika, DirectSound -- zvuk a hudba a DirectPlay
--propojení počítačů. Zatímco význam prvních tří částí je zřejmý
na první pohled, čtvrtá si zaslouží stručné objasnění. Během
posledních dvou let nebývale vzrostla obliba her pro více hráčů.
Ovšem více hráčů u jednoho počítače jaksi není to ono, takže
přišly na pomoc sítě. V době DOSu byl králem síťových her
jednoznačně Doom, který šel dokonce hrát ve dvou režimech:
kooperativním a deathmatch (tzn. souboj) -- ten byl obzvláště
oblíbený. Opravdový příval síťových her však přišel až s Windows
95, a to především díky DirectPlay, které slouží pro
zjednodušení komunikace mezi více počítači (po sériovém kabelu,
lokální síti nebo přes Internet). Přes Internet se dnes hrají
již desítky her a každým dnem přibývají další. Ale pozor,
možnost síťového hraní není jen výsadou PC, již před rokem byly
na trh uvedeny speciální modemy pro konzoly a existuje již celá
řada her, které lze přes tyto modemy hrát.
Programování konzoly je kapitola sama pro sebe. Obvykle se
programuje v jazyce C za použití SDK (Software Developer's Kit),
dodaného výrobcem konzoly. Jedná se o soubor optimalizovaných
knihoven low-level funkcí, které jsou zapotřebí pro ovládání
konzoly. Většina těchto SDK existuje jen pro pracovní stanice
Silicon Graphics (SGI), což představuje nezanedbatelnou bariéru
pro mnohé potenciální vývojáře.

Grafika

Grafická stránka hry je mnohdy to první, podle čeho hráč hru
posuzuje, proto je třeba grafickému zpracování věnovat obzvláště
velkou pozornost. Grafika ve hrách má mnoho podob, my se zde
však budeme věnovat pouze dvěma základním směrům, a sice grafice
pro renderované sekvence a grafice pro real-time 3D akční hry.
Tyto dva představitele jsem nevybral náhodně, uplatňují se u
nich totiž dva diametrálně odlišné přístupy k tvorbě grafiky.
Renderované sekvence - renderované sekvence jsou dnes zastoupeny
již u všech žánrů her. Setkat se s nimi můžeme přinejmenším při
úvodních a závěrečných animacích. Některé adventury se celé
odehrávají v kompletně renderovaném prostředí a hráč během hry
buď přechází mezi jednotlivými předrenderovanými statickými
obrazovkami, nebo je při přechodu z jedné lokace do druhé
spuštěna animace, která se jednoduše přehraje. Pro
předrenderované obrázky je charakteristická preciznost, čistota
a dokonalost (někdy působící až příliš nepřirozeným dojmem).
Příprava grafiky pro úvodní či závěrečnou sekvenci zahrnuje
mnoho činností, jejichž popis je nad rámec tohoto článku, proto
jen heslovitě: vymodelování, rozanimování, a vyrenderování scén
(včetně nasvětlení, přiřazení textur a materiálů), postprodukce
(včetně kompozic a speciálních efektů) a nakonec sestříhání.
Grafik může používat všech dostupných nástrojů a ve finále je
omezen pouze grafickým rozlišením a barevnou hloubkou grafického
režimu, ve kterém hra poběží. Zde z porovnání PC a herní konzoly
výjimečně vychází vítězně PC, jež nabízí výrazně vyšší rozlišení
a v některých případech i větší barevnou hloubku. Zvláště při
vyšších rozlišeních se také projeví výhoda kvalitních monitorů
PC v porovnání s běžnými televizory, ke kterým se připojují
herní konzoly.
Grafika pro realtime 3D akční hry - jak jsem se zmiňoval již v
přehledu herních žánrů, patří právě 3D akční hry mezi
nejpopulárnější typ her na všech platformách. Grafika, se kterou
se v těchto hrách setkáváte, se převážně počítá v reálném čase,
a proto jsou na ni kladena mnohá omezení, a to hned v několika
směrech. Tak především je to složitost a typ modelů, použitých v
prostředí hry (krajiny, budovy, dopravní prostředky, monstra,
postavy...), dále pak počet světelných zdrojů a počet použitých
barev (256, 64k, TrueColor).
Typ modelů - prozatím žádná z herních platforem nepodporuje jiný
typ modelů než polygonální. Grafici se proto musí rozloučit s
hladkými plochami, které je možné vytvořit pouze pomocí B-spline
a NURBS. Navíc každá platforma si rozumí jen s určitým typem
polygonů (trojúhelníky, 2D čtyřúhelníky, 3D čtyřúhelníky,
mnohoúhelníky). Je proto třeba si předem rozmyslet, pro kterou
platformu bude hra určena. Samozřejmě se jednotlivé typy
polygonů dají mezi sebou vzájemně konvertovat, ale každá
konverze přináší problémy a zanáší do modelů chyby.
Složitost modelů - když se bavíme o složitosti modelů, máme na
mysli počet polygonů, z nichž je model složen. Obecné pravidlo
zní: čím méně, tím lépe. Je to logické, protože méně polygonů se
počítá kratší dobu (a v 3D akčních hrách se vše musí počítat v
reálném čase = 30 snímků/s), na druhou stranu jednoduché modely
vypadají hůře. Je proto třeba najít správný kompromis mezi
složitostí a kvalitou modelu. Na pomoc modelářům přicházejí
různé nástroje pro redukci polygonů, které vezmou původní
detailní model a snaží se jej pomocí různých algoritmů
zjednodušit. Dále je třeba mít při tvorbě modelů pro 3D akční
hry k dispozici opravdu kvalitní nástroj pro mapování a úpravu
textur přímo na objektech. Právě díky přesnému namapování
textury a dokreslení detailů přímo na objektu je možné dosáhnout
velice věrohodně vypadajícího modelu, který je přitom tvořen jen
nejnutnějším počtem polygonů.

Hudba

Úloha hudby bývá ve hrách často podceňována a tomu odpovídá i
úroveň jejího zpracování. To je ale chyba! Všichni přeci víme,
že hudba je nedílnou složkou celkovém vjemu. Uvědomili jste si
např. při sledování hororu v televizi, jak velký vliv na
atmosféru filmu má právě hudba? Schválně si zkuste při nějaké
obzvláště strašidelné scéně vypnout nebo alespoň ztišit zvuk.
Okamžitě se vám zážitek z filmu smrskne na polovic. Stejná
situace je i u her. Hra bez hudby je jen poloviční hra. Ovšem ne
vždy padá vina za nekvalitní hudbu jen na herní vývojáře. Ti
jsou totiž nuceni, stejně jako v dalších aspektech hry, podvolit
se hardwarovým možnostem platformy, pro kterou hru vyvíjejí.
Na konzolách je situace z pohledu vývojáře celkem jasná: k
dispozici má celou řadu špičkových 16bitových zvukových
procesorů, přičemž systém je optimalizován tak, aby šlo naráz
mixovat několik desítek zvukových stop. Toho se využívá zejména
pro současné přehrávání hudby a zvukových efektů. Hudba je
standardně přehrávána přímo z CD v odpovídající kvalitě (16
bitů, 44,1 kHz). Překvapením může být, že herní konzoly lze po
připojení na zesilovač používat i jako přehrávače běžných
hudebních CD.
Na PC je nabídka hudebních formátů a typů daleko rozmanitější.
Setkáváme se s třemi hlavními formáty: MIDI, MODuly a digitální
záznam.
MIDI je dobře známé všem hudebníkům jakožto standard pro
vytváření a přenos hudby mezi počítačem a hudebními klávesami.
Mezi vývojáři a hráči her však MIDI příliš oblíbeno není. To je
dáno především výslednou kvalitou hudby, které lze při použití
MIDI na běžných zvukových kartách dosáhnout. Aby totiž MIDI
jakžtakž znělo, je třeba mít zvukovou kartu podporující
wavetable syntézu. Ačkoli je takových karet na trhu dostatek a
za velice rozumnou cenu, stále mezi hráči převažují zvukové
karty s FM syntézou, na kterých zní MIDI opravdu strašně. Další
nevýhodou je různorodost vzorků nástrojů, jež se na wavetable
kartách vyskytují. Může se vám tak jednoduše stát, že stejná
skladba bude na dvou wavetable kartách znít odlišně. Naopak
výhodou pro vývojáře je přímá podpora MIDI formátu ve Windows.
Stačí jen zadat příkaz: hraj skladbu XY, a o zbytek se postarají
Windows.
Dalším jmenovaným formátem je MODul, což je pokus o emulaci
wavetable syntézy i na kartách, které samy o sobě podporují
pouze FM syntézu. Dosahuje se toho tak, že v samotném hudebním
souboru jsou vedle not a efektů uloženy i vzorky nástrojů
(samply). Při přehrávání MODulu se pak softwarově mixují a
upravují jednotlivé samply podle notového zápisu. Výsledek je
velice slušný (přibližuje se kvalitě wavetable syntézy), ovšem
za cenu nemalého zatížení procesoru. Některé vývojové týmy však
dokázaly přehrávací rutiny doladit tak, že zátěž procesoru byla
více než snesitelná (cca 10% na Pentiu). MODuly a jejich
varianty (S3M, IT, MOD...) jsou velice populární především na
demoscéně, kde se jednotlivé demoskupiny snaží ve svých
produkcích vždy vymáčknout z počítače co to dá. Od příchodu
Windows 95 se bohužel demoscéna stále zmenšuje. To je dáno tím,
že veškerá dema byla optimalizována na maximum a potřebovala pro
svůj chod naprostou kontrolu nad děním v počítači, čehož je
možné dosáhnout pouze pod DOSem.
Jako poslední hudební formát jsem uvedl digitální záznam. Jedná
se vlastně o jakoukoli hudební nahrávku převedenou do formátu
WAV, která se přehrává jako jeden dlouhý zvukový efekt. Tento
jediný formát odstraňuje podstatné omezení obou předešlých, a
sice nemožnost začlenit do hudby zpěv. V MODulech je možné tak
maximálně použít sem tam nějaký výkřik či povzdech, ale to je
vše. V MIDI možnost zpěvu (řeči) naprosto chybí. Na druhou
stranu má digitální záznam jednu špatnou vlastnost, a to objem,
jaký zvuková data zabírají. V případě MIDI souborů se velikost
jedné skladby pohybuje řádově v desítkách kilobytů, u MODulů už
jsou to stovky kilobytů a u digitálního záznamu jsou to desítky
megabytů. Pokud ovšem vezmeme v úvahu, že prakticky jediné
médium, na kterém se dnes hry distribuují, je CD-ROM, tak nás
objem dat nemusí moc trápit. Současným trendem v hudebním
doprovodu pro počítačové hry je jednoznačně digitální záznam.
Zatímco před pár lety převládaly jednoduché MIDI skladby, dnes
se můžeme těšit z kvalitních nahrávek předních populárních
skupin a oblíbených skladatelů. Někdy je hudba dokonce tak
kvalitní, že se vydává i jako samotný soundtrack, jenž je k
dostání i v běžných obchodech s hudebními CD. Příkladem mohou
být hry WipeOut 2097, Battle Isle IV, Wing Commander Prophecy
nebo Atlantis.

Zvukové efekty

Kvalitní zvukové efekty jsou kořením každé hry. Nejjednodušší
způsob, jak získat zvukové efekty do připravované hry, je zajít
do profesionálního studia a vybrat si přímo z databáze zvuků.
Takové databáze mnohdy obsahují i několik desítek tisíc
zvukových efektů, takže je opravdu z čeho vybírat. Někdy se ale
ani při nejlepší snaze nepodaří požadovaný zvuk nalézt, a tak
nadchází čas pro vlastní výrobu. Existují v zásadě dva přístupy
k tvorbě zvuků. Buď se používá speciální software, v¦němž lze
zvuky přímo vytvářet, anebo (a to je u her častější) se zvuky
nahrávají do počítače přes mikrofon a tam se dále zpracovávají a
upravují. Asi byste se divili, jakých pomůcek se používá pro
docílení originálních zvukových efektů. Matně si vzpomínám na
rozhovor s jedním z členů vývojového týmu hry Doom, který
vyprávěl o tom, jak vytvářeli zvuk jedné ze zbraní, jež se ve
hře používají. Bylo to tak, že si mladší bratr programátora hrál
s plechovkou od dopité Coca-Coly a při tom omylem zavadil o
ostří nože, který měl před sebou na stole. Zvuk, jenž se při tom
ozval, programátora natolik zaujal, že si obě pomůcky (plechovku
a nůž) vzal druhý den do práce a společně s kolegou zvukařem
dotyčný zvuk nahráli. V počítači jej pak pustili pozpátku a zvuk
zbraně byl na světě! Toto není ojedinělý případ, vlastně by se
dalo říci, že je to naprosto typický přístup při tvorbě efektů
pro hry. Co se týče kvality zvukových efektů, nejběžnější je
samplování na 22kHz stereo, setkat se ale můžeme i s 11kHz mono,
to záleží na typu hry.

Návrh úrovní

U některých typů her (především 2D/3D akční, simulátory a RPG)
je třeba navrhnout prostředí, ve kterém se bude hra odehrávat,
společně s dílčími úkoly, jež musí hráč splnit, aby mohl
postoupit ve hře dále. Hra se tak rozdělí do určitých úrovní,
kdy jedné úrovni může například odpovídat jedno patro budovy
nebo jedno nepřátelské území. Každá úroveň je charakteristická
jednak typem prostředí, a jednak typem, množstvím a rozmístěním
nepřátel a objektů (zbraně, klíče, atd.). Pokud porovnáme řadu
žánrově stejných her, jež mají obdobnou technickou úroveň
zpracování (grafika, hudba, efekty), pak je to právě kvalita
jednotlivých úrovní, která hry rozdělí na dobré a špatné. Toho
jsou si vývojáři velice dobře vědomi, a tak věnují návrhu úrovní
dlouhou dobu a podrobují je neustálému testování.

Beta-testy

Jakmile je hotov relativně funkční úsek hry, ihned se předává
alfa-testerům. Ti mají za úkol vyhledat zjevné chyby ve hře a
okamžitě je hlásit vývojovému týmu. Ten začne obratem chyby
opravovat a novou verzi opět předá alfa-testerům. Poté, co se
hra dostane do závěrečné etapy vývoje, se poskytne
beta-testerům. Ti mají stejný úkol jako alfa-testeři, ale na
rozdíl od nich, je beta-testerů zapotřebí daleko větší množství
(někdy i stovky). Hra se odzkouší na mnoha rozmanitých
konfiguracích počítačů a je tak velká šance, že se podaří
odchytit většinu chyb, ještě před vydáním finální verze. Z
pohledu kvality odvedené práce beta-testerů a doby věnované
testování si nejhůře stojí USA. Americké hry jsou proslulé tím,
že vzápětí po jejich vydání následuje série oprav a patchů, jež
se snaží "zalátat" chyby, které nebyly během testování odhaleny.
Evropští distributoři her proto často vyčkávají s vypuštěním
amerických her na evropský trh až do chvíle, kdy se hry
nacházejí ve stabilním stavu. Za to jim budiž dík.

Jak hru vydat

Když je hra hotova a otestována, nastává vhodný okamžik k jejímu
vydání. To se ovšem snáze řekne, než udělá. Vydání hry sestává z
několika nelehkých úkolů: je třeba vytvořit a graficky upravit
manuály a obal (krabičku) hry, dále zajistit vylisování CD a
fyzickou výrobu manuálu a obalu, a nakonec se postarat o to, aby
se hra dostala k co možná nejširšímu okruhu potenciálních
zákazníků. Pokud je vývojový tým finančně silný, dá se první
část (fyzické vytvoření balíčku se hrou) zvládnout ve vlastní
režii. Horší už je to s distribucí produktu. Ačkoli existuje
celá řada cest, jak dostat hru mezi lid, ani jedna není
jednoznačně nejlepší. V zásadě se nabízejí následující možnosti:
shareware, OEM prodej, vlastní distribuce a profesionální
distribuce.
Shareware - pokud jste si až dosud mysleli, že touto cestou se
rozšiřují pouze hry průměrné až podřadné, tak vás vyvedu z
omylu. Právě cestu shareware volí i jeden z nejpopulárnějších
vývojových týmů současnosti, firma, která má na svém kontě
takové trháky jako Wolfenstein 3D, Doom nebo Quake. Nejedná se
samozřejmě o nikoho jiného než o ID Software. ID Software vždy
vypouštějí první úroveň své nové hry jako shareware, a každý
koho hra zaujme, může poslat objednávku přímo ID Software, která
mu obratem odešle plnou verzi, obsahující všechny úrovně.
Existuje celá řada firem, jež se zabývají rozšiřováním a
registracemi sharewaru -- jednou z nejznámějších je Apogee, u
nás pak Jimaz. Služeb těchto firem využije každý uživatel
(hráč), kterému se nechce, nebo který nemůže komunikovat přímo s
autory sharewaru, jejž hodlá registrovat. Pro autory her je
forma sharewaru finančně velice výhodná, neboť nemusí platit
nemalá procenta ze zisku distributorům.
OEM prodej - pokud se vývojovému týmu podaří uzavřít smlouvu s
velkým prosperujícím výrobcem počítačů, ve které se výrobce
zavazuje, že bude ke každému prodanému počítači dodávat i
vyvíjenou hru, tak je tým tak říkajíc "za vodou". Nemusí totiž
pracně shánět zákazníky a taktéž náklady na fyzickou výrobu hry
se sníží, neboť OEM software se dodává bez barevných krabic.
Vlastní distribuce - ačkoli se může tento způsob na první pohled
jevit zajímavým pro malé začínající vývojové týmy, opak je
pravdou. Vlastní distribuci si mohou dovolit jen opravdu velké
firmy vlastnící rozsáhlou síť prodejen, ve kterých mohou hru
nabízet.
Profesionální distribuce - dle mého osobního názoru je toto ta
správná cesta pro většinu vývojových týmů. Nejenže se takový
distributor postará o to, aby se hra dostala i do toho
nejmenšího obchůdku s¦počítačovou zábavou, ale často je i
producentem hry a tak na něj spadne i odpovědnost za její
propagaci a fyzický vznik. Pokud je hra opravdu kvalitní, tak je
pro tým cesta přes profesionálního distributora (producenta) tím
nejlepším způsobem, jak se proslavit. Jakmile se tým jednou
proslaví, má cestu k dalším projektům otevřenou a také se daleko
snadněji shánějí případní sponzoři a producenti. Nevýhodou může
být relativně malý podíl týmu na zisku (cca 30-40 %), ale
absolutní částka, kterou lze takto získat, mnohdy výrazně
převyšuje zisky dosažené při jiném způsobu distribuce.
Celosvětově je tento způsob nejpoužívanější a nejúspěšnější.

Jak vypadá situace u nás, a jak ve světě?

Nemá smysl si zastírat, že situace s vývojem her u nás má k
dokonalosti hodně daleko. To je dáno celou řadou faktorů, z
nichž nejvýznamnějším je časové zpoždění, s¦nímž se u nás hry
začaly vyvíjet. Je sice pravdou, že i za dob socialismu tady
vznikaly počítačové hry, ale jednalo se převážně jen o hry
textové (tj. žádná grafika, hudba, efekty), které byly určeny
pro omezený okruh uživatelů domácích počítačů. Ve stejné době už
v západním světě vznikaly profesionální týmy zaměřené na vývoj
her a získávaly tolik potřebné zkušenosti, díky kterým jsou z
nich dnes dobře zavedené firmy se solidním zázemím. Naše
vývojáře tato fáze teprve čeká. Vždyť když se podíváme, kdo v
českých zemích a na Slovensku vyvíjí hry, zjistíme, že se jedná
o skupinky nadšených studentů středních a vysokých škol. Zatímco
vývoj průměrné hry ve světě vychází přibližně na 1 milion USD, u
nás se jedná o částky řádově nižší (v závislosti na typu
projektu 100 000 - 900 000 Kč). Zatímco v zahraničí je běžné, že
se na jedné hře podílejí stovky profesionálů z jednotlivých
oborů, u nás vše vytváří skupiny maximálně deseti lidí takřka na
koleně. Vzhledem k nedostatku finančních prostředků si vývojáři
nemohou dovolit koupit či najmout profesionální vybavení. To ve
svém důsledku znamená, že české a slovenské hry jsou zpracovány
v podprůměrné kvalitě, a tak nemají šanci se prosadit na
světovém trhu. A přitom pouze orientace na zahraniční trhy je
jedinou možností, jak získat tolik potřebné prostředky, které je
nutno investovat do vybavení vývojových týmů. Jak vidíme, jedná
se o začarovaný kruh. Nicméně pohled na vývoj nových domácích
her mě naplňuje optimismem. Několika týmům se podařilo obrátit
na svou stranu zámožné sponzory, kteří situaci chápou a rozhodli
se do vývoje her investovat. Již dnes se pracuje na projektech,
jež se v porovnání se světovou konkurencí nemají za co stydět, a
některé ji dokonce v mnohém převyšují. Doufejme jen, že tyto
první vlaštovky nezůstanou osamoceny, a že se z nich postupně
vyvinou týmy světové úrovně.