Hrdinské války

. Posted in Novinky Zobrazeno: 83

Příběh o tvorbě projektu Wryn Pendragon: Umbramancer pro Heroes VII

Prolog

„Svět se změnil. Cítím to v modelech. Cítím to v texturách. Cítím to ve zdrojovém kódu. Mnohé, co kdysi bylo, je ztraceno, neboť již nehraje nikdo, kdo by to pamatoval.

Vše začalo kováním velkých PR-stenů. Tří dostali giganti herních webů, nesmrtelní, nejaktuálnější a nejpravdivější ze všech. Sedm dostali páni youtubeři, skvělí improvizátoři a řemeslníci ze síní pod horami krabic od pizzy a plechovek energetických nápojů. A devět, devět PR-stenů bylo darováno plemeni herních redaktorů, kteří ze všeho nejvíc touží po moci preview verzí. V PR-stenech byla spoutána síla a vůle k opanování každého monitoru a displeje. Všichni však byli podvedeni, neboť byl ukován další PR-sten. V zemi Ashan, v ohních Hory ztraceného připojení, pán Serwan tajně ukoval vládnoucí PR-sten, aby ovládal všechny ostatní. Jeden PR-sten, aby vládl všem.“

 

Kapitola 1.: Modovací panic

Rozhodnutí o vytvoření vlastního modu (modifikace -pozn. autor je moc líný psát to dlouhé slovo, když ho stejně nikdo jiný nepoužívá a ušetří tím pár znaků místa na nekonečném digitálním papíře) padlo téměř okamžitě poté, co jsem zjistil, že další díl HoMaM (podle vyhlášky Ministerstva jediného PR-stenu nově znám jako Might and Magic: Heroes) pojede na Unreal enginu, resp. UDK (Unreal Development Kit = free verze UE3). Tento engine byl přímo stvořený na vlastní mody, a tak jsem si řekl, proč to nezkusit, není přece co ztratit, že?

Rovnou přiznávám, že jsem s modováním ani jakýmkoliv herním enginem do té doby neměl žádné zkušenosti. A slova jako zdrojový kód, skriptovací jazyk či kompilátor ve mně vyvolávala stejný pocit úzkosti, jako kontingenční tabulka v Excelu. Byl jsem de facto modovací panic, a i přes to jsem se pustil do největšího projektu, který mě bude ve snech děsit ještě mnoho let.

 

Kapitola 2.: Potěmkinova věž

Prvním impulzem ke spuštění Heroes VII editoru v jeho rozšířené verzi (alias UDK nasosaný daty ze hry) byl článek vývojářů o naprosté volnosti při modování. Ještě dnes si pamatuji na godzilloidního modrého Kabira, kterého spolu s vlastním hrdinou (hrdinkou) autor vytvořil. Dokonce ukázal i legendární město Tower z Heroes III v enginu Heroes VII… jenže to byl jen obrázek bez funkcí, taková Potěmkinova věž, která mě měla nalákat – a také se jí to podařilo!

 

Kapitola 3.: Vstup na vlastní nebezpečí!

Spuštění tenkrát silně nestabilního editoru zabralo několik minut a ihned po otevření bylo třeba zakázat automatické ukládání. Bylo to z jednoduchého důvodu – každý pokus o uložení vaší práce měl na začátku zhruba 70%, nyní už „jen“ 35% šanci na okamžitý pád programu a ztráty všeho, co jste vytvořili. Bylo tedy třeba ukládat často, ale ne zas moc často, aby program nespadl. Zároveň když jste udělali byť sebemenší chybu při nahrazování vazeb nebo jste chtěli zkopírovat více položek naráz, následovalo ono zlověstné: „Program přestal pracovat“ a pád do Windows.

Tohle vše by každého normálního člověka odradilo a fungovalo by to jako výstražná tabule: „Vstup na vlastní nebezpečí!“. Jenže já nebyl (a pořád nejsem a už asi ani nikdy nebudu) normální, takže jsem tu výstrahu ignoroval a zastíněn vidinou vlastního modu vstoupil na nestálou půdu editoru.

 

Kapitola 4.: Mesh není Mash

Jako první pokus bylo stvoření jednotky, konkrétně Mrchožrouta. Šlo to celkem snadno – stačilo překopírovat původní archetypy (soubory definující jednotku) a následně je upravovat/modifikovat k obrazu svému. A jelikož nejsem ani grafik, abych si vytvořil vlastní textury a ani 3D umělec, abych si vytvořil vlastní modely, musel jsem sáhnout po těch zdarma. Jenže těch bylo ještě méně, než splněných slibů zvolených politiků, takže přišly na řadu modely placené. Byl to kompletní servis včetně animací, textur a meshe (mesh – 3D model objektu, mash – oblíbený seriál). Možnost použití už hotových modelů jednotek z jiných her jsem zavrhnul, chtěl jsem mít „originální mod“ a tím pádem i modely. Kdybych tušil, kolik mě toto rozhodnutí bude nakonec stát (peněz i úsilí), asi bych zůstal u osvědčeného importu modelů jednotek z jiných her.

 

Kapitola 5.: Připravit, pozor, blah!

Když byl Mrchožrout téměř hotov, narazil jsem na první vážný problém. Zvuky a hudba. Naivně jsem si myslel, že stačí pouze importovat jakýkoliv zvuk či hudbu do editoru a následně ji přiřadit k jednotce, městu či události a je to. Jenže chyba lávky! Veškeré audio bylo řešeno skrze externí utilitu Wwise od Audiokinetic. Jakýkoliv zvuk byl ve formě AkEventu, který se následně sdružoval pod tzv. zvukové banky (SoundBank). Takže z jednoduchého importu audio souboru (wav, mp3) se stalo martyrium pokusů a omylů o vytvoření fungující zvukové banky, eventu a následný import do editoru. Nebudu vás napínat – nepodařilo se, a tak jsem byl nucen používat jen a pouze zvuky a hudbu, která v editoru už je. Což dost omezilo (zvukovou) rozmanitost nových jednotek. Měl jsem už připravenou i skladbu pro nové město (zatím jen v hlavě, ale i tak, byla připravená!). Sen o upírech a jejich ikonickém zvolání (Heroes II) při útoku: „blah!“ se tak rozplynul.

 

Kapitola 6.: Vychytávky Dana Singletona

Po prvním nezdaru s novými zvuky a asi po dvaceti pádech editoru jsem se rozhodl kontaktovat tehdy ještě na Heroes VII aktivně pracující vývojářské studio Limbic Entertainment. Nečekal jsem mnoho. Vlastně jsem nečekal vůbec, že se ozvou. A byl jsem překvapen! Nejen, že se ozvali, ale pomohli mi vyřešit všechny (až na ty zpropadené zvuky) moje problémy. Především jsem díky jejich pomoci zvládnul všechny ty vychytávky, které jste mohli vidět v oficiálních kampaních. Nejvíce kritiky kvůli zpackanému sedmému dílu Heroes se sneslo právě na jejich hlavy a já sám jsem si také na jejich konto zanadával, jak vůbec mohli vytvořit tolik map a kampaní na něčem tak nestabilním, jako je Heroes VII editor! Jenže pak jsem pochopil, že oni se na rozdíl od Ubisoftu, který ořezal budget (balík peněz, který na váš projekt vedení milostivě uvolní, čímž si bude muset odpustit extra jemný toaletní papír s vůní čerstvě rozkvetlé louky na svých VIP toaletách) na minimum, alespoň snažili z toho něco dostat.

Spolupráce s Danem (člen studia) tak byl jeden ze světlých bodů na jinak potemnělém nebi mého čerstvě vznikajícího projektu.

 

Kapitola 7.: SNT

Když jsem se zmínil o tom dobrém, je na čase zmínit i to zlé. První SNT okamžik (Kašlu Na To –pozn. mravní policie: první slovo bylo záměrně upraveno, aby nedošlo k narušení mravního vývoje rodičů již tak mravně narušené mládeže) nastal v onen osudný den, kdy jsem jako každý den ukládal svou práci a modlil se, aby to zase nespadlo… a hádejte co? Spadlo to! Jenže tentokrát to spadlo tak nešťastně, že se při pádu během ukládání narušila struktura souboru a ten již nešel, opakuji NEŠEL znovu otevřít! V tu chvíli jsem měl chuť rozmlátit něco hodně drahého o něco ještě dražšího. Bohužel rozbitím vázy z dynastie Mänk z IKEA bych si moc nepomohl, takže jsem si jen naplno zařval z otevřeného okna (což vyvolalo hromadný úprk bezdomovců z okolních popelnic na tříděný odpad).

Po zklidnění jsem smutně hodil poškozený soubor do koše a začal úplně od začátku. Mohl jsem se na to vykašlat, mohl jsem to svést na chybu editoru, mohl jsem se stát premiérem a nechat si svůj mod proplatit z evropských dotací. Ale já prostě znova sednul k editoru, pronesl tiše modlitbu za stabilní ukládání a od tohoto dne také začal vytvářet pravidelné zálohy souboru.

 

Kapitola 8.: Příliš umělá inteligence

Práce na projektu pokračovala dál a díky softwarovému bohu se už podobná komplikace poškození souboru neopakovala. Nové jednotky přibývaly a nastal čas na tvorbu jejich schopností. Říkal jsem si (už zase), že na tom nebude nic těžkého, jen zkopírovat původní a upravit dle libosti. Což o to, vytvoření schopností bylo bez problému a i testování na lidských hráčích (při tomto testování nebyl zraněn žádný člověk, skřet ani křeček) proběhlo s kýženými výsledky. Ale když jsem předal kontrolu nad novou jednotkou s novou schopností počítači, nebo chcete-li umělé inteligenci, nastal problém. Počítač si nedokázal poradit s aktivní schopností (je třeba ji aktivovat, na rozdíl od pasivní, která probíhá po splnění podmínek sama). Jednoduše ji ignoroval a dál vesele pobíhal po bojišti tak, jak měl ve svém mozečku plném 0 a 1 napsáno. Zřejmě autoři nepočítali s tím, že by si někdo chtěl vytvářet vlastní schopnosti, které by pak měl počítač rozumně používat v boji. On totiž horko těžko zvládne používat i ty základní, které ve hře jsou, a sesílání kouzel je pak kapitola sama pro sebe.

Nebyl čas na hrdinství, a tak jsem musel (skoro) všechny aktivní schopnosti předělat na pasivní, které mají určitou % šanci na spuštění při splnění podmínky (znáte ze starších dílů Heroes).

 

Kapitola 9.: Parádní odraz

Při práci na projektu jsem si už připadal jako pacient s diagnózou maniodepresivní psychózy. Chvíli jsem byl v mánii, kdy vše fungovalo tak, jak má. Editor spokojeně vrněl (a nepadal) a já měl radost z toho, jak to všechno pěkně do sebe zapadá. Pak se ale dostavil vtíravý depresivní pocit a s každým pádem editoru zesílil. Náhle nic nefungovalo tak, jak jsem si představoval, a měl jsem černé myšlenky na softwarovou sebevraždu – prostě to všechno smazat a mít klid!

Jenže když klesnete na úplné dno, máte dvě možnosti: buď tam zůstat a už se z toho bahna nevyhrabete, a nebo seberete poslední síly a ode dna se odrazíte. Já naštěstí ještě sílu měl a odraz to byl parádní! Podařilo se mi konečně proniknout do tajů měst a samotných městských obrazovek. A aby toho nebylo málo, získal jsem na svou stranu i bratránka, toho času začínajícího umělce-ilustrátora, který mi namaloval naprosto originální městskou obrazovku mimozemské rasy Xel. Vše v duchu původních 2D obrazovek, takže se zdálo, že mám(e) vyhráno.

 

Kapitola 10.: Když jeden SNT nestačí

Asi si říkáte, že se určitě něco zase poskládalo… a taky že jo! Respektive ne něco, ale někdo – já. Po týdnu úprav jednotlivých textur všech budov města, po dalším týdnu importování všech těchto textur do editoru a následné tvorbě všemožných masek a vrstev, které si městská obrazovka vyžadovala, po tom všem jsem zjistil, že… jsou městské obrazovky již hotové, uzavřené prefabrikáty, které jsou jako jeden jediný soubor vložené do editoru, který je následně snímán speciální kamerou a vytváří tak dojem městské obrazovky (ač se nachází v 3D prostoru, je složena z 2D textur a nikoliv 3D modelů). Prostě jsem se nemohl do již hotových obrazovek města dostat, abych nahradil původní textury svými. Nastal SNT moment číslo dvě.

V naprostém záchvatu zuřivosti jsem začal divoce klikat myší na ten prokletý prefabrikát městské obrazovky a stalo se něco, co považuji za malý zázrak. Nějak jsem jej rozdělil na dílčí vrstvy, a jak mi v amoku ujela ruka i s myší, posunul jsem jednu z vrstev stranou. Chvíli jsem na tu scénu jen tak koukal, ale uvnitř už jsem cítil, jak se začínám uklidňovat. Postupně jsem rozebíral celou městskou obrazovku, kus po kusu. Představte si to jako loutkové divadlo: vzadu a všude kolem je jakýsi rám, který vytváří iluzi ohraničení a zároveň drží vše pohromadě. Před ním jsou různé vrstvy pozadí a následně se pak umisťují jednotlivé budovy. Jako poslední jsou efekty (mlha, netopýři, světlo).

 

Kapitola 11.: Ty máš svaly, já mám Kismet!

Po úspěchu s městem jsem se rozhodl vyzkoušet sílu vizuálního skriptovacího systému Kismet. Zprvu nepříjemné pocity, kdy jsem se ve změti čar, šipek a různých okýnek s příkazy ztrácel, vystřídalo nadšení malého dítěte. Formou pokus-omyl jsem tak přišel na to, jak silný pomocník Kismet ve skutečnosti je. Krom toho, že mi umožnil vytvářet puzzly (hádanky) a pasti přímo na mapě dobrodružství, nebo vysoušet vodní plochy. Dal mi i šanci otestovat své vlastní limity. Rozhodl jsem se, že nechám Kismet, resp. skripty, řídit zcela náhodný systém počasí, který ovlivní hrdiny i jednotky na bojišti. Tak se zrodil systém Atmos, který dokáže například vytvořit sněhovou bouři, sílící s každým dalším kolem stráveným na bojišti, a navíc pozměnit i bojiště daným efektem a postihy pro bojující jednotky. Bylo to vlastně poprvé, co jsem dokázal vytvořit něco vlastního a ne jen neustále kopírovat a upravovat již vytvořené. Naprostý protipól mých SNT epizod.

 

Kapitola 12.: I mistr tesař si někdy usekne ruku

Říká se tomu „manažerské selhání“. Čemu? Tomu, když na konci projektu zjistíte, že jste na začátku přehlédli něco velmi důležitého. VELMI důležitého! A to něco byla velikost mapy, na které jsem vše dával a vytvářel. Když jsem zkoumal možnosti úprav, tak u bojových map šlo naprosto bez problémů změnit kdykoliv jejich velikost. Logickou úvahou jsem dospěl k tomu, že to samé jde i u mapy dobrodružství, která je vlastně větší bojovou mapou. Ověřil jsem si to? Ne. A šlo to pak? No nešlo! Když jsem po téměř 2 letech práce zjistil, že ta malá mapa, na které jsou všechny objekty od jednotek, artefaktů, staveb až po nové město, že nepůjde už zvětšit… blížilo se to k dalšímu SNT, ale tentokrát už bez emocí, naprosto apaticky. Dal jsem tak mému rozsáhlému teamu (tou dobou čítajícímu 3 členy včetně mě) na vybranou: buď budou všechny mapy kampaní na té nejmenší velikosti (S) nebo prostě těch asi 2500 položek jednu po druhé překopíruji z mapy do balíčku (na rozdíl od mapy není balíček omezen prostředím a slouží jen k uchování objektů pro pozdější použití na mapě).

Jednomyslně vyhrála možnost číslo dvě, protože (a to jsem musel souhlasit) velký projekt si zaslouží velké mapy! A tak začalo několikaměsíční období kopírování. Ovšem ne to, co znáte z domova, kdy přetáhnete složku se soubory a jen čekáte, až se to nakopíruje. Ne, ne, milé děti, tady musíte brát jeden soubor po druhém, všechny je procházet a hledat všechny vazby, ve kterých máte staré údaje o objektech na mapě. Ty ručně nahradit novými vazbami o objektech v balíčku. A když všechno klapne a při ukládání celý editor nespadne, můžete si odškrtnout jednu položku z tisíce a vesele pokračovat dál.

 

Kapitola 13.: Konec dobrý, všechno uložené

Na konec by se hodila nějaká (ne)veselá historka z natáčení, ale já jsem je všechny už vystřílel v předchozích 12 kapitolách. Tak snad jen ono klasické ohlédnutí se nazpět a jakési bilancování tohoto projektu.

Kdybych se mohl vrátit časem zpět a vybrat si, zda do toho znova jít nebo si raději rozehrát chlupatého asasína v Hello Kitty Online, volil bych bez zaváhání první možnost. Kočky prominou, ale tolik zkušeností, které jsem díky tomuto projektu získal, bych nevymlátil ani z epického kočkobosse.

 

A rada na závěr? Ukládat, ukládat, ukládat! Nebo se z toho zblázníte.

 

Epilog

Možná se ptáte, jak jsme na tom se stavem projektu teď. A já vám odpovím slovy klasika: „Stále kopíruje, stále kopíruje.“, což znamená, že vše podstatné je hotové a jakmile bude i vše zkopírované, nastane čas na veřejnou betu a testování. To bude okamžik, kdy přijdete na řadu vy, hráči a fanoušci Heroes, abyste nám pomohli vychytat všechny mouchy a brouky!


A to je vše, přátelé! Na shledanou ve světě Mondalar a věřte, že dokud budou fanoušci, bude žít i svět Might and Magic...

Komentovat články mohou pouze registrovaní uživatelé. Zaregistrujte se / přihlašte se na stránkách pro odesílání komentářů.