Vývojářský deník – UFO: Aftermath 01

Miroslav Žák – 18/06/2017

Když jsme dokončili Original War, náš vydavatel Virgin Interactive Entertainnment nám nabídl pokračovat ve vývoji jedné z nejočekávanějších her současnosti, volně inspirované slavnou sérií X- COM, s názevm UFO: Aftermath. O co půjde?

Vesmírná loď neznámého původu vypustí do horních vrstev atmosféry Země rychle se množící spóry, které po sedmi dnech klesnou na povrch planety a zahubí vše živé. Přežije jenom hrstka lidí v podzemních krytech, která se po několika týdnech, kdy se spóry rozpadnou, vrátí na povrch a začně bojovat s neznámým nepřítelem.

UFO: Aftermath spojuje taktické mise muže proti vetřelci a globální strategii na celoplanetární úrovni. Specifický soubojový systém se současnými tahy kombinuje výhody realtimových a tahových strategií; náhodně generované mise se odehrávají v různých geografických zónách; silné RPG prvky zdůrazňují význam každého vojáka samozřejmě na vás čekají i desítky zákeřných nepřátel a mimozemských zbraní.

Jedním z prvních problémů, který jsme museli rozlousknout, byla tvorba strategických misí, kde budete s malou skupinou vojáků potírat tu pakáž z vesmíru. Na výběr byly dvě možnosti: cesta většiny her, které mají mise sestaveny předem a engine „pouze“ korektně zobrazuje dynamické efekty (výbuchy apod.), nebo cesta obtížnější, spočívající v dynamické tvorbě úrovní.

V našem případě jsme odhadli, že na nejvyšší obtížnost hráč vybojuje přibližně 100 misí, a protože náš virtuální svět je rozdělen do pěti geograficky rozdílných oblastí, mohli bychom vytvořit řekněme 5×30=150 různých misí a dát je na CD. Vždyť kdo dnes hraje hru více než jednou, maximálně dvakrát?

Na druhou stranu generování misí přináší výhodu v „nekonečnosti“ možností i při opakovaném hraní a dostatečné variabilitě pro strategickou hru, která nemá sklouznout v pouhé memorování několika opakujících se map. Tahle možnost se nám, nejen díky vyvinutému egu, jevila mnohem vhodnější, a proto jsme se vrhli do její realizace. Nebo spíše do problémů.

Úkolem našeho grafického enginu se totiž rázem stala spousta „drobností“: nejen vlastní realizace map s ulicemi, lampami, auty, mimozemskými loděmi a dalšími prvky tak, aby všechny části logicky navazovaly, ale také jejich denní a noční osvětlení a samozřejmě zmíněné dynamické výpočty. A to vše pro každou misi zvlášť. Jak dlouho je ale hráč ochotný čekat, než je vygenerována nová mise?

Abychom si ulehčili práci, vytvořili jsme jakýsi „katalog“ základních částí úrovně s jasnými pravidly pro jejich zobrazení. Například „ohořelý strom“ se může v jedné úrovni vyskytovat maximálně třikrát a musí být nejméně 10 metrů od jiného stromu. Se stovkami takových bloků jsme pak vytvořili náš první level. Na první pokus to nebylo špatné, ale opakující se textury a ploché osvětlení z naší úrovně stvořilo neživý architektonický model. Do našeho města musíme vnést světlo!

I zde máme dvě cesty jak problém realistického osvětlení řešit. První je použití tzv. hardware lights – světel s určitou intenzitou, barvou a směrem. Počet těchto světel je ale omezen a výpočet jejich efektu je příliš náročný. Jednodušší cestou je využití tzv. lightmap, černobílých textur, které v kombinaci s barevnými texturami ztmaví části, které mají být tmavé, a naopak. Díky nízkému rozlišení zabírají méně paměti a příprava výsledného efektu je výrazně kratší.

Teď už bylo jasné, že naše město bude složené z jednotlivých a samostatně osvětlených bloků, jejichž světelné mapy budou předem vypočítané a tak připravené k rychlému použití. Kombinací bloků tak vznikne námi požadovaný level. Pokud zvážíme, že máme k dispozici stovku různých bloků a každá úroveň se průměrně skládá z 5×5=25 bloků, dostáváme ohromující číslo – 242,519,269,720,337,121,015,504 kombinací, které jistě budou stačit naprosté většině hráčů.

A teď už máme úrovně, které odpovídají našim představám. Opuštěná města s šedivými okny, popraskané ulice, zničená auta a ohořelé stromy v přízračném světle zatažené oblohy vytvářejí příjemně postapokalyptickou atmosféru. S po zuby ozbrojenými vetřelci to bude ještě lepší, ale o tom si povíme až někdy příště.

Martin Klíma

Miroslav Žák

České a slovenské hry sbírám od roku 2001. Více než o samotné hraní se zajímám o vývoj a archivaci. Mojí hlavní zbraní je motivace.

Komentáře

Sdělte nám svůj názor

Zatím žádný komentář.