dex_versions
Jak se vyvíjela Dex
24.1.2017
artstyledex
Jak vznikala vizuální podoba Dex
21.3.2017
Vše

Dex na dalších platformách

dex_multiplatform

Dex začala jako hra pro Windows ovládaná klávesnicí a myší. I když bylo v Kickstarteru slíbeno více platforem, v počátečních fázích jsme se zaměřovali téměř výhradně na PC.

Jednou z předností Dex jsou rozsáhlé ručně kreslené lokace města Harbor Prime. Každé zákoutí a zeď je unikátní, záměr byl vyvarovat se šablonovitosti prostředí.

Nutným důsledkem tedy bylo, že pro vykreslování scén využívá hra velké množství rozměrných textur. A čím více těchto textur musí být v paměti zároveň (což v případě vrstev tvořených popředím, zdmi domů a několika vrstvami pozadí platilo), tím více grafické paměti hra spotřebuje. Většina PC a konzolí tyto požadavky hravě splní, ale menší konzole a mobilní zařízení už ze své podstaty tak výkonné nejsou.

Dex_OUYAJednou z platforem, na které jsme chtěli Dex už od začátku dostat, byla OUYA. Jednalo se o malou herní TV konzoli postavenou na platformě Android a právě kvůli ní jsme začali Dex optimalizovat. Už kvůli svým malým rozměrům nemohla s klasickými PC soupeřit, především ve velikosti paměti. Nejjednodušším řešením by bylo prostě vypnout některé vrstvy pozadí a snížit tak paměťovou náročnost některých scén. To by bylo ale příliš drastické řešení, chtěli jsme alespoň částečně zachovat vizuální kvalitu lokací. Jako kompromis jsme tedy vyrobili speciální verze grafiky scén, ve kterých je “spečeno” více vrstev dohromady. Přišli bychom tím o prostorový efekt nezávisle se posunujících vrstev pozadí, ale ne o vizuální dojem.

Samotný projekt OUYA bohužel po několika letech neuspěl a byl ukončen ještě dříve, než byla Dex vydána.

Během příprav Enhanced Edition Dex na PC jsme vylepšili i podporu ovládání pomocí gamepadu. Jako klasické RPG obsahuje ovládání Dex mnoho ovládacích prvků a akcí, které může hráč provádět současně. To vše bylo nutné převést z klávesnice na gamepad tak, aby bylo ovládání konzistentní se zažitými akcemi z jiných gamepadových her (např. střílení pomocí triggeru namísto tlačítka), ergonomicky pohodlné (např. možnost chůze s vytaženou zbraní v zákleku a nezávislé míření) a vnitřně smysluplné (podobnost ovládání AR i mimo něj). To vše prošlo mnoha iteracemi a i kvůli mnoha odlišným konfiguracím běžně prodávaných gamepadů jsme na PC ponechali možnost vlastního nastavení.

Velmi záhy po vydaní Enhanced Edition Dex na Steamu jsme začali pracovat na vydání Dex pro konzole – Playstation 4 a Xbox One.

Moderní konzole jsou minimálně stejně výkonné, jako klasická PC, proto jsme si nemuseli dělat velké starosti s optimalizací výkonu. Jsou zde ale kladeny mnohem vyšší nároky na kvalitu vydávaných her – bylo třeba doplnit prvky nápovědy, vylepšit tutoriály, umožnit využití hráčského profilu, synchronizace uložených her s cloudem, achievementy atd.

Oproti původním plánům jsme se rozhodli využít příležitosti a vydat Dex i na mobilní konzoli Playstation Vita. Dosavadní verze Dex byly designovány na velkou obrazovku, první nutné úpravy se tedy týkaly úpravy uživatelského rozhraní – zvětšení nápisů, tak aby byly i na menší obrazovce dobře čitelné. Kvůli odlišnému počtu a rozložení tlačítek bylo nutné přemapovat a v některých případech i předesignovat systém ovládání.

vitaPodobně jako dříve zmíněná minikonzole OUYA, i tato konzole má z rozměrových důvodu k dispozici méně paměti, což by v případě Dex znamenalo rozsáhlé úpravy. Právě v této chvíli se nám proto přišly vhod úpravy textur, které jsme provedli již dříve kvůli konzoli OUYA. Nestačilo však pouze “zapéct” dohromady vrstvy textur. Bylo zároveň nutné snížit jejich velikost – díky menšímu rozlišení displeje jsme si to mohli dovolit. I když byla velikost grafiky stlačená na minimum, pro optimální výkon bylo potřeba ze hry vymáčknout ještě další uspořenou paměť a na řadu přišlo “hackování” samotného kódu.

Namísto všech dialogů s postavami ve hře jsme v paměti ponechali vždy pouze text toho, který právě probíhal. Stejným způsobem jsme v paměti ponechali vždy pouze texty a popisky v aktuálně používaném jazyce, namísto všech osmi podporovaných jazyků. Pokud scéna obsahovala více místností, ponechali jsme v paměti vždy pouze tu, ve které se hráč právě nachází a při vstupu do interiéru byla místo ní načtena jiná. Díky těmto a dalším trikům se nám nakonec hru podařilo dostat do hratelné podoby.

Přestože jsme Dex portovali na mnoho odlišných zařízení a platforem, celou dobu jsme pracovali se stále stejnými zdrojovými kódy, obsahující jen tu a tam instrukce o tom, co se má na které platformě chovat odlišně a jak. Výhodou bylo, že při jakékoliv dodatečné změně jsme nemuseli dělat zvlášť úpravy v několika kopiích projektu, ale stačilo tak učinit na jednom místě. Velkou zásluhu na tom má engine Unity, který nám portování výrazně usnadnil.