Metro 2033 po technické stránce
O vlivu grafiky a vyspělého enginu na herní zážitek.
Oles Shishkovstov, vedoucí programátorů nového kyjevského studia 4A Games, které právě tento týden vydává očekávanou hororovou akci Metro 2033, poskytl Eurogameru zajímavý rozhovor. Předtím pracoval v GSC Gameworld jako programátor X-Ray enginu použitého v sérii STALKER.
EG: Nabízí PC verze Metro 2033 něco navíc kromě vyššího počtu snímků či rozlišení než verze té samé hry pro X360?
Ano i ne. Když máte k dispozici více výkonu, buď se můžete na to vykašlat (a většina her portovaných z konzolí tak dopadá), nebo přidáte další vlastnosti. My jsme se vydali druhou cestou. Přirozeně většina z těchto přidaných vlastností jsou vztaženy ke grafice, ale ne všechny. Použití technologie PhysX bylo na PC zdvojnásobeno, což umožnilo přesnější detekci kolizí.
Hra má téměř dvojnásobek zvuků a když mluvíme o grafice, zde je několik z rozdílů: většina textur je v rozlišení 2048^2 (konzole používají 1024^2), mapování stínů dosahuje až 9.43 Mpix, vylepšené filtrování stínů, parallax mapování je použito na všech typech povrchů, v prašných prostředích se využívá skutečného volumetrického osvětlení, díky DX10 využíváme techniku objektového rozostření (blur), lehké materiály reagují téměř jako ve skutečnosti v případě nastavení "vyšší kvality", díky technologii podpovrchového rozptylu nyní vypadají tváře lidí jako živé, geometrie je detailnější a to nejen díky DX11 teselaci.
EG: Můžete jednoduše vysvětlit výhody vašeho systému osvětlení v Metro 2033 oproti ostatním běžně používaným technikám? Co to dává hře navíc?
Hráč Metro 2033 stráví více než polovinu hry pod zemí, to znamená temné tunely a špatně osvětlení místnosti (jediné zdroje elektřiny jsou generátory). Vytvořit toto prostředí zajímavé, přesvědčivé a strhující vyžadovalo z pohledu engine velké množství menších lokálních zdrojů světla. Proto je technologie „deferred lighting“ skvělou volbou.
EG: Jak se váš přístup liší od studia Guerrilla Games s jejich hrou Killzone 2?
Jejich implementace v Killzone 2 je strašně špatně optimalizovaná. Proč by jinak používali předpočítané mapování světel? Proč používají jinou dynamiku světel pro vnější svět a místnosti? Vypadá to, že se zcela minuli s původním návrhem výkonu.
EG: Když pomineme úžasnost PhysX v různých tech-demech, můžete nám říci, co přináší fyzika pro herní zážitek v Metro 2033?
Nepřidáváme PhysX efekty, pokud nejsou součástí scény. Nepřidáváme efekty jen pro efekt samotný. Lidské oči a mozek jsou trénovány, aby viděly nesrovnalosti. My se jen snažíme odstranit tyto nesrovnalosti, aby nenarušovaly požitek ze hry.
EG: Můžete nám říci něco o umělé inteligenci ve hře Metro 2033? Co je pravdy na tom, že postavy reagují na zápachy? Jak to funguje?
Každá NPC ve hře má své pocity: rozhled, sluch a reakční dobu. Model rozhledu je velmi blízký realitě: postavy vidí v úhlu 120° a věci ve středu jejich rozhledu vidí jasněji, taktéž se bere v úvahu osvětlení a rychlost cíle. Například ve stínu je lépe vidět pohybující se objekt než statický. Ve hře jsou různé úrovně ostražitosti: lehké vyrušení, lehký poplach, poplach, velký poplach a nebezpečí.
Sluch je jen cesta jak upozornit NPC, že se něco děje v jeho blízkosti. Obvykle je to zvuk, ale může to být cokoli s podobnou podstatou. Podobnou v tomto kontextu znamená, že je to omezeno stěnami a vzdáleností. Proto mezi „zvukové události“ řadíme i zápach. Každý zvuk má ve hře svou vlastní značku, která definuje virtuální vzdálenost, do jaké umělá inteligence zareaguje na danou událost. Virtuální vzdálenost bere v úvahu i stěny a koridory, proto NPC na druhé straně zdi neuslyší co se děje, přestože je pouze 5 metrů „vzdušnou čarou“ od zdroje zvuku.
Reakční doba je informací o zásazích způsobených NPC. Jelikož přátelé se nemohou vzájemně zasáhnout, všechny zásahy jsou způsobeny nepřáteli. Vrstva pocitů poskytuje jenom základní informace: objekt (nepřátelská NPC, granát nebo zbraň), pozici a úroveň. Další vrstva je použita k protřídění základních informací a rozhodnutí, co je v tuto chvíli pro NPC důležité. Různé úrovně pocitů jsou spojeny s různými typy chování. Například typická reakce na lehké vyrušení je zvolání „Kdo je tam?“, kdežto velký poplach způsobí, že se NPC vydá najít příčinu poplachu.
EG: Vyplývá ze systému umělé inteligence, že styl stealth hraní je do Metro 2033 standardně zabudováno?
Nejdůležitější věcí pro herní styl „stealth“ je správný pocitový systém. Pokud každá NPC ví, kde je nepřítel, pak „stealth“ nemá smysl. Naším cílem byl systém senzorů jako je ve hře Thief. Další věcí je chování. Hráč nepozná, co se děje uvnitř NPC, jestliže to není zvnějšku nějak vyjádřeno, proto zde máme další chování jako jsou vyhledávání a ostraha. Takže odpověď na otázku je ano. Naše NPC jsou stoprocentně připraveny pro stealth. Samozřejmě i samotný návrh prostředí musí umožňovat použití tohoto systému.