Jste návštěvník číslo:

Chaser World Studio 2000 návod

 

 

Kapitola 9. - Kompilace mapy a její spuštění:

V této kapitole si již konečně naši malou mapku zkompilujeme a zahrajeme. Pojďme si ale nejprve vysvětlit, co to vlastně ta kompilace je a jak ji provedeme.

Kompilace je složitý proces, jenž z naší uložené mapy vytvoří plnohodnotný soubor, se kterým již pracuje samotná hra. Editor totiž nepracuje s výsledným formátem mapy, ale se zjednodušenou verzí, která má koncovku ".wsp". Takový soubor lze otevřít v editoru a obsahuje veškeré údaje o rozmístění brushů a entit. Nicméně hra tento soubor otevřít neumí. Její levely jsou ve formátu ".cew". Ten již obsahuje krom základních informací i složité výpočty renderování světel a stínů, bez nichž se zkrátka level spustit nemůže.

Soubor s koncovkou ".cew" vytvoří editor kompilací mapy ve formátu ".wsp". Při tomto procesu se vypočítá vše, co je v mapě zadáno. Délka tohoto procesu pak závisí na zvolené kvalitě kompilace a obsáhlosti samotné mapy. Přirozeně tedy platí, že čím je mapa větší, tím déle bude kompilace trvat. Oproti hrám na Quake enginu však detailní kompilace u velkých levelů většinou nepřesáhne ani půl hodiny a u levelů menších je to otázka jen několika minut či dokonce vteřin.

 

Nastavení kompilace

Než přejdeme k samotné kompilaci, je třeba nejprve nastavit její parametry. Toho docílíme v okně, které vyvoláme klávesou "F8".

V zobrazeném okně, vlevo nahoře, máme panel "Compilation", v němž můžeme různými nastaveními ovlivnit dobu kompilace, ovšem na na úkor její kvality. "Lighting Method" slouží ke zvolení kvality výpočtů světel. První parametr "No Light" znamená, že se světla nebudou vypočítávat vůbec a level bude osvícený celý jednotným nasvícením. "Quick Illumination" je metoda, která sice již světla vypočítá, ale při jejich dosahu nebude brát ohled na to, zda je někde stěna, nebo ne. Takže světla budou stěny prosvěcovat. Zaškrtněte tedy třetí, poslední možnost "Reytracing" pro maximální kvalitu osvětlení.

Vedlejší panel se jmenuje "Lightmap Detail" a slouží k zadání kvality nasvícení levelu, to jest i včetně stínování. "Low" je nejnižší, "Medium" je střední a "High" je nejlepší kvalita. Opět zaškrtněte třetí, poslední možnost "High".

Pod těmito dvěma panely se nachází dalších pět políček, které lze zaškrtnout. Nás bude zajímat pouze políčko "World Subdivision". Pokud váš level obsahuje portály a buňky, pak je třeba toto políčko zaškrtnout, protože jinak by se při kompilaci buňky nevypočítaly a nevytvořily se, a třebaže jsme je tam dali, ve hře by level běžel jako jediná buňka. My ovšem chceme, aby buňky fungovaly, proto políčko zaškrtneme.

Dále tu máme kolonku "Buffer Detail", standardně hodnota "128". Tato hodnota nám udává dosah "očí" buněk. Doporučuji z vlastní zkušenosti nastavit hodnotu dvounásobnou, tedy "256" - oči toho pak uvidí mnohem více a vyvarujete se tak situacím, kdy některé brushy oči nevidí a ve hře se pak nevykreslují.

Hned vedle je pak další kolonka, a tou je "Map File", tedy název výsledné mapy ve formátu ".cew", pod nímž se nám uloží do hry. Vyplňte tedy například název "mistnost" (bez uvozovek a diakritiky samozřejmě).

To je v podstatě z nastavení kompilace vše. Pokud vytváříme mapu pro jednoho hráče, z čehož vycházím a k čemu je taktéž tento návod zaměřen, již nemusíte vyplňovat nic. V případě, že se však jedná o mapu multiplayerovou - pro více hráčů, je třeba ještě vyplnit položku "Multiplayer Games", která nám definuje, pro jaké módy má být mapa určena. V pravém sloupku "Available Games" tedy vyberte módy, pro které je váš level určen, a šipkou mezi políčky je přesuňte do levého sloupku "Selected Games". Stejně tak je třeba vyplnit vpravo "Map Name", pokud chceme, aby byla multiplayerová mapa v nabídce map uvedena pod nějakým konkrétním názvem. V případě singleplayerových map není třeba toto políčko vyplňovat.

 

Spuštění kompilace

Jakmile je vše nastaveno, okno můžete zavřít křížkem v pravém horním rohu - nastavení si editor pro danou mapu již bude pamatovat. Nyní již stačí spustit samotnou kompilaci, a to provedete stisknutím ikony modrého ozubeného kolečka "Compile world", kterou najdete na hlavní liště nástrojů, popřípadě stisknutím klávesy "F7". Po spuštění kompilace se zobrazí dialogové okno, kde se budou zapisovat všechny probíhající operace kompilace a jejich čas. Viz. obrázek.

Po úspěšném dokončení kompilace si můžete také povšimnout, že se vám ve 3D pohledu editoru vyrenderovalo osvětlení. Díky tomu si můžete udělat představu o tom, jak nasvícení bude vypadat ve hře a popřípadě doladit detaily a nepřesnosti v osvětlení, aniž byste museli spustit hru.

Proces kompilace je též možné spustit přes panel "Tools" na hlavní liště editoru. Po rozbalení mezi různými nástroji naleznete ke kompilaci určené dokonce tři položky. Je tu výše popsaný "Compile world" ("F7") pro zkompilování mapy se vším všudy. Následující dvě položky v této chvíli asi nevyužijete, ale později se mohou ukázat jako velmi užitečné. "Compile entities" ("Ctrl + F7") provede pouze kompilaci entit, která se přičte k mapě zkompilované již někdy předtím, ale ostatní zůstane beze změn. Je to dobré v situacích, kdy například od poslední úplné kompilace v mapě změníte pouze nastavení některých entit a vám se nechce čekat při kompilování dlouhé minuty, obzvláště je-li váš level už větší. Stejně tak funguje i "Compile entities + visibility" ("Ctrl + Shift + F7"), což zkompiluje nejen entitiy, ale přepočítá i buňky.

V případě, že se však změny ve vaší mapě týkají entit světel "lights", je nutné ovšem provést klasickou kompilaci, neb kompilace samotných entit nestačí. Pokud jste například v nastavení světel změnili jejich dosah, je již třeba přepočítat renderování osvětlení v celé mapě, jinak by se změny neprojevily, a to lze jen úplnou kompilací "Compile world".

 

Chyby

V průběhu kompilace mapy může dojít hned k několika chybám, a to především při procesu vypočítávání buněk. Dojde-li k nějaké chybě, kompilace se přeruší a zobrazí se malé okno s výčtem všech chyb. Pojďme si tedy popsat ty nejzákladnější a vysvětlit si, co je způsobilo a jak jim předejít.

Chyba s označením "M" znamená "Multiple cells", neboli v některém prostoru mezi portály jsou místo jedné buňky dvě a více. Dojít k tomu může snadno tehdy, když zapomenete jedno "oko" propojit linkou se soustavou ostatních "očí" v dané buňce. Editor pak na jedné straně portálu, který rozděluje jednotlivé prostory mapy, detekuje víc buněk, neb jak soustavu "visibility_eye", tak i zapomenuté "oko" editor bere jako dvě odlišné buňky, nejsou-li propojeny linkou. Stejně tak k této chybě může dojít tehdy, když vytvoříte dvě buňky z "visibilite_eye" a zapomenete je od sebe oddělit portálem. Jak jsem již psal v kapitole o buňkách - žádné oko jedné buňky nesmí vidět přímo na oko jiné buňky - jedině přes portál. Chybu tedy odstraníte buď propojením obou buněk či připojením zapomenutého oka k buňce, v případě druhém doplněním portálu.

Chyba je vždy spjata s některým portálem, na jehož jedné straně editor detekoval víc než jednu buňku. Pokud si v chybovém okně na daný portál kliknete dvakrát, portál se vám v mapě označí. Stisknutím klávesy "Q" pak editor ve 3D zobrazení upoutá váš pohled na označený portál a vy se k němu pak snadno můžete přesunout. Opětovné stisknutí klávesy "Q" pohled opět uvolní pro běžný pohyb v mapě. Též si můžete pod tímto portálem v chybovém výpisu rozbalit záložku, v níž najdete "Side 1" a "Side 2" - to jsou jeho strany. Když si každou stranu rozbalíte, najdete pod ní již konkrétní buňky "Cell", které jsou k těmto stranám portálu přiřazeny. U té strany, kde je "Cell" víc než jedna, je chyba. Na každé straně portálu smí být buňka pouze jedna. Pokud si tedy odkliknete i konkrétní buňky "Cell", naleznete pod nimi vypsané i konkrétní "visibility_eye", které do těchto buněk patří. Lze tedy snadno dohledat, které "oko" zůstalo osamoceno a vyvolává nám tuto chybu, neb když na něj opět dvakrát kliknete, označí se vám v mapě a vy můžete chybu napravit. Klávesa "Q" vás tentokrát ve 3D pohledu přímo přesune na pozici dané entity.

Všimnout si můžete i toho, že při této chybě dojde i k chybě "Wrong one cell entities". To znamená, že v dané oblastí editor nedokáže entity přiřadit žádné buňce, neb tam jsou v jednom prostoru díky chybě buňky dvě a editor se mezi nimi nemůže rozhodnout. V tomto případě se chyba napraví výše popsaným postupem, protože vznikla v souvislosti se zdvojenou buňkou.

Chyba "Wrong entities" vzniká tehdy, když některou entitu v mapě nelze přiřadit k žádné buňce. Krom výše popsané souvislosti s chybou "M" (zdvojené buňky, kdy se editor nedokáže rozhodnout, ke které z buněk ji má přiřadit), dochází k této chybě také tehdy, když tuto konkrétní entitu žádné oko nevidí. Ať už z důvodu, že oku ve výhledu na entitu něco cloní nebo že je entita již mimo dosah "visibility_eye" nebo také že je entita umístěna někde uvnitř brushu, kde ji taktéž žádné "oko" nevidí. Řešení je tedy velmi jednoduché - stačí problémovou entitu propojit linkou s nejbližší "visibility_eye" buňky, do které má patřit, a to ve směru od entity k "oku", a problém je vyřešen. V případě, že je entita jen mimo dosah "oka" nebo že je skryta za nějakým předmětem, stačí do její blízkosti přidat další "oko" - "visibility_eye" - tak, aby na entitu vidělo - a propojit ho linkou s ostatními "visibility_eye" místní buňky.

Pokud si v chybovém okně rozbalíte položku "Wrong entities", zobrazí se vám pod ní jednotlivé entity, které nelze k žádné buňce přiřadit. Po dvoukliku na některou z entit se vám v mapě označí, a vy ji tak můžete snadno dohledat a učinit opatření, aby již k chybě nedošlo, buď propojením s "visibility_eye" nebo přesunutím entity na dohled "oka". Klávesa "Q" vás opět přesune na konkrétní pozici.

Chyba s označením "N" - "No cell" - znamená, že jste někde vložili portál mezi dva prostory, ale na jedné straně portálu jste zapomněli vytvořit buňku. Pokud mají portály úspěšně tvořit hranici mezi dvěmi buňkami "očí", musejí být tyto buňky na obou stranách tohoto portálu, respektive - na obě strany portálu oddělujícího dvě buňky od sebe musí vidět alespoň jedno oko z buňky z dané strany. Svým způsobem však může k této chybě dojít i tehdy, kdy na obou stranách portálu buňky máte, ale pravděpodobně jedna strana portálu není žádným "okem" viděna. A to buď z důvodu značné vzdálenosti nejbližšího "oka" od portálu, že ho již nevidí, nebo předmětu, který "oku" ve výhled na portál cloní. Řešením je tedy takové uspořádání "očí" buněk, aby obě strany portálu byly příslušnými buňkami viděny.

Pokud si konkrétní portál, kterého se chyba týká a který je vypsaný v chybovém okně, rozbalíte, opět se vám pod ním zobrazí "Side 1" a "Side 2" - obě jeho strany. U jedné z nich bude chybět zapsaná buňka "Cell", což je právě chyba. Stačí tedy na vypsaný portál opět dvakrát kliknout a on se vám v mapě označí. Pak není těžké ho najít a chybu napravit doplněním chybějící buňky či jejím uspořádáním tak, aby buňka na portál viděla.

V případě, že tato chyba vznikne v důsledku toho, že jste skutečně na jedné straně portálu zapomněli vytvořit buňku, ale v daném prostoru jsou již jiné entity, může též dojít k chybě "Wrong entities", protože editor opět neví, k jaké buňce tyto entity přiřadit, když tam žádné "oko" není. Řešení tedy opět spočívá v opatřeních popsaných výše. Jakmile doplníte chybějící buňku, již budou entity přiřazeny k ní.

 

Spuštění mapy ve hře

Pokud se vám podařilo úspěšně mapu zkompilovat, finální soubor by měl být uložen v adresáři "Chaser/Maps" - z jiného umístění hra mapy přehrávat neumí, pokud již nejde o mapu aplikovanou do datového souboru ".fs" - o tom ale později. Nyní vám nic ve spuštění vašeho prvního levelu nebrání.

Spuštění levelu můžete provést třemi způsoby. Nejjednodušší je pomocí ikony "Game mode" na hlavní liště editoru - ikona joysticku, hned vedle "Compile world". Tato funkce vás přesune do hry a automaticky načte mapu právě otevřenou v editoru. Je to rychlé, účelné, nicméně použitelné jen pro ty, kteří mají editor a základní projekt mapy ve formátu ".wsp", což většinou koncový uživatel nemá, neboť k němu se již dostává finální mapa ve formátu ".cew". A ne každý umí s editorem samozřejmě zacházet.

Z toho důvodu je dobré ke každé mapě přibalit i samostatný spouštěcí soubor, kterým může hráč váš level snadno spustit bez editoru, což je druhá možnost spuštění mapy. Výroba tohoto jednoduchého spouštěcího souboru není nikterak složitá. V poznámkovém bloku, který je součástí každého Windows, zapište do řádku následující příkaz: "Chaser.exe Maps\levelname.cew" (bez uvozovek a levelname = jméno vaší mapy). To vše uložte ne jako ".txt" dokument, ale jako soubor s koncovkou ".bat", popřípadě později textovému dokumentu přepište jeho koncovku. Jako název souboru doporučuji použít jméno levelu, kterého se soubor týká. Tento soubor ".bat" pak umístěte do hlavního adresáře hry "Chaser" a je hotovo. Po spuštění námi vytvořeného souboru se dle příkazu nejprve spustí "Chaser.exe" a poté se načte uvedená mapa.

Třetím způsobem je spuštění mapy přes příkazový řádek v konzole hry. Abyste však mohli konzolu hry používat, je nejprve třeba tuto funkci zapnout. To provedete spuštěním hry s uvedeným příkazem "-console". Než však upravovat zástupce hry na ploše a připisovat mu tento příkaz do cesty, je mnohem snazší vytvořit obdobný spouštěcí soubor ".bat", jako jsem popisoval výše, který však bude obsahovat příkaz "Chaser.exe -console". Jestliže pak spustíte hru přes tento soubor, je pak možné během hraní klávesou "~" vyvolat konzolu a do ní psát různé příkazy. Příkaz k načtení jakékoliv mapy je "\map levelname" (bez uvozovek a levelname = jméno vámi požadované mapy).

Tvoření spouštěcího souboru k vaší mapě rozhodně nepodceňujte, pokud se jedná o mapu singleplayerovou. Stáhne-li si ji hráč, který nemá nebo neovládá editor a neumí vyvolávat konzolu hry, je tento spouštěcí soubor jeho jedinou možností, jak si zahrát váš level. Proto vždy ke své singlplayer mapce přidávejte i spouštěcí soubor! Do něj pak můžete použít ještě jeden příkaz, a to: "@echo off", který po načtení mapy uzavře vzniklé okno, jenž by tam jinak zůstalo tak dlouho, dokud byste ho manuálně nezavřeli křížkem. Příkaz napište do prvního řádku, příkaz ke spuštění již samotné mapy pak do řádku druhého.

V případě, že je vaše mapa multiplayerová, není spouštěcí soubor vůbec třeba. Každá mapa určená pro některý ze čtyř módů síťové hry se automaticky ukazuje v nabídce všech multiplayerových map v menu, odkud je též možné ji spustit.

 

Závěrem

Tímto uzavírám kurz pro začátečníky. Nyní byste již měli být obeznámeni se všemi základy, které jsou třeba k úspěšné práci v editoru. V následujících kapitolách, které již budou spadat do kurzu pro pokročilé, se budu věnovat jen tvorbě konkrétních věcí, ať už jsou to dveře, výtahy, skriptované události a spousta jiných věcí, které znáte z původní hry. Proto pokud ještě nějaké základy nechápete, doporučuji vám dobře je nastudovat, popřípadě podívat se do map přiložených u editoru a přiučit se od mistrů z Cauldronu, jelikož dále se jim už věnovat nebudu s předpokladem, že je již umíte.

Jestliže vám ohledně tvorby map není něco jasného, nebojte se taktéž obrátit se svým dotazem do diskuze, kde vám rád poradím, bude-li to v mých silách. Stejně tak si můžete stáhnou ukázkovou mapu, kterou jsem dělal současně s tímto návodem. Prohlédnout si tak můžete všechny věci zmíněné v tomto návodu přímo uplatněné v praxi, což je často neocenitelný zdroj informací pro lepší pochopení problematických témat. Balíček obsahuje projekt mapy, finální mapu i spouštěcí soubor - vše rozmístěno ve složkách tak, jak je třeba pro správné spuštění. Ke stažení zde.

Ti z vás, kteří nechtějí čekat na vydání dalších kapitol, si mohou rovněž stáhnout i tento balíček. Ten obsahuje několik menších ukázkových map, v nichž si můžete prohlédnout řadu funkcí v praxi. Jedná se například o žebřík, výtah, dveře, oblohu a podobně, ale i o poněkud složitější skriptování událostí či úkolů. Přiloženy jsou samozřejmě také projekty, takže si je můžete otevřít v editoru a podívat se na to, jak jsou tyto věci v mapě udělány. Věřím, že vám to ledasco pomůže pochopit.

Nuže doufám, že tento obsáhlý návod přiláká nové nadšence k práci na mapách do Chasera, že mnohým z vás pomůže a stane se zdrojem neocenitelných informací, a že již brzy se objeví nové levely do hry Chaser. Hra je to vskutku dobrá a myslím si, že i dnes si stále zaslouží pozornost nezávislých tvůrců. Takže - designu zdar!

 

 

<< Zpět na úvod <<    >> Další kapitola >>

 

 

Autorovy stránky: Vixey.cz, Kamenitý vrch, DoomMap.

Stránku vytvořil Duke, 2010.