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

Chaser World Studio 2000 návod

 

 

Kapitola 6. - Entity a jejich použití:

Nedílnou součástí každé mapy jsou takzvané entity, ať už funkční, které lze vidět v mapě (zbraně, munice), nebo systémové entity, které sice vidět ve hře nejsou, ale jejich důležitost je stejně vysoká. Bez entit by vlastně ani mapa nemohla fungovat, neboť slouží k tak základním věcem, jako je startovní pozice hráče, světlo, zvuky, ale i různé funkce jako efekty, skripty či třeba rotace objektů. Entity jsou zkrátka různorodé funkce, které buď fungují samy o sobě, nebo po spojení s některým objektem v mapě, ať už s dveřmi, výtahem, rotorem větráku atd... Pokud tedy budete chtít vaši mapu úspěšně zprovoznit v samotné hře, musíte se s nimi naučit pracovat, a proto si práci s těmi nejzákladnějšími a nejdůležitějšími entitami popíšeme v této kapitole.

Nabídku veškerých entit vyvoláte stiskem klávesy "E". Podobně jako v nabídce textur máte i zde vlevo sloupec s hlavními kategoriemi, v nichž jsou entity roztříděny podle svých funkcí. Tento levý sloupec se jmenuje "Entity list" a najdete v něm tedy například kategorii "light" (světlo), "sounds&music" (zvuky a hudba), "weapons" (zbraně) atd. Každou kategorii pak podobně jako u textur můžete rozbalit a zobrazit tak již samotné entity, které jsou pod nimi zařazeny.

 

Startovní pozice

Pro začátek si vyzkoušíme do naší malé místnosti umístit tu nejdůležitější entitu, a tou je startovní pozice hráče. Bez ní by nemohla v žádném případě mapa fungovat. Rozbalte si tedy v nabídce entit kategorii "respawn_points". Jak vidíte, v této kategorii se nacházejí čtyři různé entity. Je tu "deathmatch", což je startovní pozice pro multiplayerové mapy typu Deathmatch a Team Deathmatch, kde hráči bojují sami za sebe proti ostatním hráčům nebo ve dvou týmech. Proto se jich umisťuje do takové mapy hned několik, alespoň čtyři - záleží na velikosti mapy a na tom, pro kolik hráčů ji plánujete. Další dvě "blue_team" a "red_team" jsou pak startovní pozice, které se umisťují do map, kde proti sobě bojují dva týmy hráčů, tedy Capture The Flag, kde si týmy kradou vlajky, a Shock Troops, ve kterém každý tým plní určité úkoly. Poslední "single_player" je startovní pozice pro levely, které jsou určeny jen pro jednoho hráče, v nichž bojujete proti NPC postavám řízeným počítačem. A jelikož chci tento návod soustředit především na levely pro jednoho hráče, bude nás zajímat právě tato entita.

Kliknutím tedy vyberte "single_player". Nyní se vám v okně "Parameters", viz. obrázek vpravo, zobrazí veškeré nastavitelné parametry této entity. Naprostá většina entit má různé parametry, které lze nastavit tak, jak potřebujete, a k tomu právě slouží toto okno. Parametry buď můžete nastavit hned, jak entitu vyberete z nabídky, nebo až po jejím vložení do mapy, když si entitu označíte a vyvoláte klávesou "E" toto okno s nastavením.

Námi vybraná startovní pozice má parametrů deset. První "type" vás vcelku nemusí nijak zajímat, protože ji nevyužijete. Zato druhý "weapon" už uplatnění občas najde. Tento parametr totiž udává, jakou zbraň bude mít hráč po načtení do hry v rukou. Pokud kliknete na tento parametr myší, zobrazí se vám v pravém sloupku "Constant" nabídka veškerých zbraní. Prozatím ale nechejme "sig", což je klasická pistole.

Třetí parametr "class" a čtvrtý "model_script" slouží pro výběr modelu postavy a jejího skinu. "Class" určuje druh postavy a "model_script" pak již samotný model. Všechny dostupné možnosti se opět zobrazují v pravém panelu "Constant". Můžete tak třeba vybrat model Chasera, který je navlečený do zimního kožichu. Při hře je sice ze samotného Chasera vidět jen ruka držící zbraň a do in-game animací se používá samostatný model, nicméně i zde je důležité pohlídat si, aby například v zimních levelech nebyl Chaser v krátkém a jeho ruka tak nebyla holá. Vypadalo by to trochu divně, pokud by tedy tvůrce levelu nechtěl ukázat, jak je Chaser otužilý a že se nebojí jít do zimy na lehko.

Pátý parametr "orientation" udává, jakým směrem se bude hráč dívat po načtení do mapy. Úhel pohledu se udává od 0° do 360°. Můžete si všimnout, že pokud kliknete na tento parametr, vpravo, kde se třeba u parametru "weapon" zobrazila nabídka jednotlivých zbraní, se zobrazí "Angle value" s osmi tlačítky, které udávají úhel pohledu po 45°. Ty jsou shodné s půdorysovým pohledem na mapu. Jestliže tedy již máte představu, v jakém rohu místnosti bude startovní pozice umístěná a jakým směrem se bude dívat, můžete již teď nastavit úhel, který potřebujete. Nicméně k nastavení úhlu se ještě vrátím níže, jakmile bude startovní pozice již umístěná v mapě, proto tam zatím nechte původní hodnotu.

"IS_ACTIVE" je šestý parametr a udává, zda bude startovní pozice po načtení mapy aktivovaná, nebo deaktivovaná. "TRUE" znamená, že bude aktivovaná, "FALSE" pak znamená, že tato entita po načtení mapy nebude funkční a hráč se tedy v mapě nezobrazí. Proto ponechejte "TRUE", neboť chceme, aby tato startovní pozice byla aktivní a hráč se nám mohl díky ní zobrazit v mapě.

Následující dva parametry slouží k udání zdravotního stavu hráče. "Energy" je zdraví, které je standardně nastaveno na "100.00", což znamená, že hráč bude mít po načtení mapy zdraví na 100%. "Body_armor" je pak samozřejmě parametr pro hodnotu brnění. "0.00" tedy znamená žádné brnění, "100.00" pak brnění na 100%.

Předposlední parametr "do_not_drown" jsem dosud nikdy nevyužil a popravdě ani pořádně nevím, k čemu slouží. Mělo by to snad souviset s tím, zda chcete, nebo nechcete, aby se hráč po načteni ponořil do vody. Ale tento parametr, jak jsem řekl, nemám vyzkoušený a víc vám tedy k němu neřeknu.

Desátý a zároveň poslední parametr "has_nightvision" slouží k tomu, zda chcete, aby měl hráč po načtení u sebe brýle nočního vidění, které se ve hře vyvolávají klávesou "F", nebo ne. "TRUE" tedy znamená ano, "FALSE" ne.

Nyní, když jsme si tedy prošli jednotlivé parametry, startovní pozici umístíme do mapy. Není to nic složitého. Vkládání entit funguje téměř stejně, jako vkládání brushů, které jsme si již vysvětlili v druhé kapitole tohoto návodu. Když tedy teď máme v nabídce vybranou entitu startovní pozice "syngle_player", okno zavřete a přesuňte kurzor myši do půdorysového 2D pohledu. Nyní stiskněte a podržte "levý Ctrl" a poté stiskněte "pravé tlačítko myši". Tím se nám v seznamu námi vybraná entita vložila do mapy s parametry nastavenými před jejím vložení. Teď ji přesuňte klasickým způsobem jako u brushů na místo, kde chcete startovní pozici mít, třeba do pravého horního rohu místnosti. Přitom dbejte na to, aby kvádr znázorňující postavu nikde nezasahoval do zdí, podlahy či stropu. Zpravidla by se mělo dodržovat i to, aby žlutá kružnice znázorněná ve 2D pohledech byla ve volném prostoru a do ničeho nezasahovala, ale pokud vám někde zasahuje do zdí, zas tak moc to nevadí. Viz. obrázek vlevo na ukázku.

Pokud chcete jakoukoliv entitu odznačit, funguje to naprosto stejně jako u brushů, a to stiskem klávesy "Esc" (výmaz "Backscape"). Označování už však funguje trochu jinak. Zatímco brushy se označují kombinací kláves "levý Shift + levé tlačítko myši", entity se označují stiskem kláves "levý Shift + pravé tlačítko myši". Kombinace kláves "levý Ctrl + levý Shift + pravé tlačítko myši" funguje podobně jako u brushů k postupnému označování několika entit. Zda je entita vybraná, poznáte opět díky jejímu červenému zbarvení.

Nyní se vrátíme k již jednou zmiňovanému nastavení úhlu pohledu. Možná jste si všimli, že ze středu naší startovní pozice vychází malá čárka. Ta znázorňuje směr pohledu, v našem případě úhel 0°. Jelikož jsme entitu umístili do pravého horního rohu místnosti, směřuje pohled hráče přímo do zdi, a proto teď úhel změníme, aby se hráč díval do středu místnosti. Pokud nemáte, označte si startovní pozici výše popsaným způsobem, aby entita zčervenala, a poté stiskněte klávesu "E" pro vyvolání již známého okna s parametry. Tam vyberte parametr "orientation" a vpravo ve sloupku "Angle value" podle potřeby vyberte správný úhel, v našem případě "135". Viz. obrázek vpravo. Tímto jsme úspěšně do naší malé mapy vložili a nastavili první entitu. Nyní tedy okno s parametry zavřete a startovní pozici odznačte, abychom se mohli vrhnout na další, neméně důležitou entitu - světlo.

 

Světlo

Každý level je po spuštění hry sám o sobě tmavý. Proto je třeba pomocí světel level nasvítit. Je to velmi důležité, neboť by jinak hráč v levelu nic neviděl. Nestačí však jen po levelu bezmyšlenkovitě rozmístit několik světel - i zde je třeba světla umisťovat tak, aby působila věrohodně. Správně rozmístěná světla totiž zvyšují zážitek z designu mapy. K nasvícení se nejčastěji používají dvě základní entity "lights", o kterých si teď budeme povídat.

Stiskem klávesy "E" si tedy opět vyvolejte okno s entitami a jejich parametry. Ze sloupku "Entity list" vyberte a rozbalte kategorii "lights" (světla). Pod ní najdete pět entit souvisejících se světly. Jelikož se nyní učíme teprve základy tvoření map, bude nás zatím zajímat pouze první entita "ambient_light" a třetí entita "point_light", které využijete nejčastěji.

Nejprve si povíme něco o "point_light", což je nejdůležitější světelný zdroj. "Point_ligt" nasvítí jen určitou část mapy ve svém okolí. Jeho dosah i svítivost závisí na nastavení, které mu zadáte. Svým způsobem lze tuto entitu nazvat jakousi virtuální žárovkou, neboť světlo vychází jen z jediného bodu a s určitým dosahem. Umisťuje se tedy například do lamp vytvořených z brushů, tam, kde je třeba něco nasvítit, nebo jako zdroj slunečního záření ve venkovních lokacích.

V nabídce "lights" si tedy označíme "point_light". Tato entita, jak asi vidíte, má osmnáct parametrů. Vysvětlím tedy jen ty nejdůležitější, protože ty ostatní se již týkají dynamických světel, projekcí a stylů, kterým se budu věnovat v jiné kapitole. Nás teď především zajímá vytvoření zdroje stálého světla v naší malé místnosti.

Parametr "intensity" slouží k zadání, jak intenzivní svítivost má světlo produkovat. Standardně je nastavena hodnota "1.00", což je 100%. Zde není třeba nic upravovat, neboť je tato hodnota dostačující. Samozřejmě lze intenzitu snížit nebo zvýšit - záleží na situaci, kam světlo umisťujete a co od něj vyžadujete - v našem případě ale doporučuji ponechat hodnotu na "1.00", tedy na 100%.

"Color" slouží k vybrání barevného odstínu světla. Můžete tak nastavit, zda světlo bude svítit červeně, modře, zeleně atd. Pokud na tento parametr dvakrát kliknete "levým tlačítkem myši", zobrazí se vám paleta barev, kde si můžete vybrat barvu podle svých představ. Můžete samozřejmě ponechat barvu bílou, která je nastavena automaticky, nicméně ani skutečná žárovka neprodukuje čisté bílé světlo. Proto vybereme například slabý odstín oranžové. Kolonky RGB - červená, zelená a modrá - lze nastavit i ručně v rozsahu od 0 do 255. Podobně lze nastavit i odstín, sytost a světlost. Viz. obrázek vlevo.

Posledním parametrem, který nás bude zajímat, je "range". Ten určuje dosah světla. Standardně je nastaveno "512", což je tak akorát pro naši malou místnost. Lze ale hodnotu zvyšovat i snižovat - dle potřeby, a to příkazovým řádkem "Parameter value" hned pod panelem s parametry. Na světlo vycházející například z nějakého ovládacího prvku tedy stačí nastavit "64", u světla tvořícího sluneční světlo ve venkovních lokacích pak lze nastavit klidně i hodnotu "40 000". Po vložení "point_light" do mapy se vždy tento dosah ve 2D pohledech znázorňuje žlutou kružnicí. Lze si tak přibližně představit, kam až světlo dosvítí, a podle toho ho případně upravit.

Tyto tři parametry nám tedy stačí k nastavení jednoduchého světelného zdroje. Zbývající parametry se již týkají dynamických světel, které umožňují přidávat světlu různé vlastnosti, ale o tom si budeme povídat jindy. Nyní už jen stačí tuto entitu umístit do mapy - na místo, odkud chceme, aby světlo vycházelo. To bude nejlepší někde ve středu naší místnosti. Okno s parametry tedy zavřete, potom stiskněte a podržte "levý Ctrl" a v některém z 2D pohledů, nejlépe v půdorysu (X/Z), klikněte "pravým tlačítkem myši". Pokud je třeba, světlo přesuňte na požadované místo a poté ho odznačte klávesou "Esc", abychom se mohli podívat na další entitu světla, kterou je "ambient_light".

Zatímco "point_light" funguje v levelu jako žárovka a vyzařuje světlo z jediného bodu, "ambient_light" slouží ke kompletnímu osvícení celého levelu. Zpravidla se tato entita umisťuje do mapy jen jedna, na rozdíl od "point_light", ale může jich být i víc, nebo ji můžete dokonce i úplně vynechat. Slouží jen k tomu, aby i ten nejtmavší kout či stín nebyl úplně tmavý. Představte si třeba venkovní prostředí odehrávající se za bílého dne. Entita "point_light" fungující jako zdroj slunečního světla nasvěcuje mapu z jediného bodu, a tak vytváří stíny, přičemž odvrácené stěny předmětů či budov nejsou osvíceny vůbec. Pokud byste v takovém levelu nepoužili "ambient_light", byly by tyto stíny i neosvícené strany budov či předmětů zcela černé. Podívejte se ale ven z okna a uvidíte, že i ten nejtmavší stín není zcela černý - světlo je zkrátka všude. "Ambient_light" tedy osvítí každičkou stěnu ve vaší mapě takovou intenzitou, jakou nastavíte.

Pokud máte odznačenou entitu "point_light", kterou jsme před chvílí umístili do mapy, otevřete si opět klávesou "E" okno s entitami a vyberte z nabídky entitu "ambient_light". Tato entita světla již nemá tolik parametrů jako "point_light" - má pouze dva, a to "intensity" a "color". Vysvětlit si jejich funkce tedy již nebude nikterak složité.

"Intensity" slouží stejně jako u "point_light" k nastavení intenzity osvícení a nastavuje se opět přes řádek "Parameter value". Nastavena je zde opět hodnota "1.00", tedy 100%. To je ale příliš mnoho, jestliže má tato entita jen nepatrně nasvítit level, aby nikde nevznikala zcela tmavá zákoutí, proto hodnotu přenastavte. Já zpravidla používám nastavení "0.30" pro venkovní prostředí za bílého dne, "0.15" pro vnitřní prostory budov a "0.05" pro podzemní prostory. Tam občas i tuto entitu úplně vynechám, abych docílil úplné tmy. Ale teď v našem případě nastavíme hodnotu intenzity na "0.15", což pro naši malou místnost bohatě stačí.

Druhý parametr "color" samozřejmě opět slouží k nastavení barvy osvícení. Pokud na tento parametr dvakrát kliknete "levým tlačítkem myši", zobrazí se vám paleta barev, kde si můžete vybrat barevný odstín, kterým chcete level nasvítit. V našem případě doporučuji ponechat již přednastavenou bílou barvu. Poté okno s parametry zavřete a entitu vložte do mapy kombinací kláves "levý Ctrl + pravé tlačítko myši". Je jedno, kde v místnosti bude umístěná, protože nefunguje jako zdroj světla "point_light" - důležité ale je, aby byla v místnosti a ne někde mimo prostor.

To je asi tak vše, co potřebujete vědět ohledně základního osvětlení. Na závěr bych však chtěl ještě ke světlům říci, že právě s nimi je spojen největší problém enginu CloackNT, na němž hra Chaser běží. Světla totiž v některých situacích špatně nasvěcují prostředí nebo modely. Například jste-li v místnosti s dvěmi světly, které vás osvětlují, model zbraně je nasvícen vždy jen jedním. To by samo o sobě nikterak nevadilo, problém ovšem nastává tehdy, když se hra nemůže rozhodnout, které světlo bude model zbraně nasvěcovat. Pak dochází k nepříjemnému efektu, že nasvícení zbraně přeskakuje od jednoho světelného zdroje k druhému, nebo zbraň není nasvícena vůbec. Viz. můj level "Metro" z multiplayer Map Packu. Tento problém se dá částečně vyřešit tím, že budete dbát na to, aby nebylo v jednom místě příliš "point_light". Jestliže tedy máte v jednom místě několik lamp, nepoužívejte ke každé samostatnou entitu světla, ale třeba jen jednu, nastavenou tak, aby docílila stejného efektu. Zároveň světelné zdroje rozmisťujete dostatečně od sebe, aby se jejich "range" příliš nepřekrývaly. Vzniklá tmavá místa se pak dají kompenzovat nastavením "ambient_light", který tmavá místa prosvítí.

V případě, kde jiná možnost než více světelných zdrojů není, a přesto nechcete, aby docházelo k nežádoucímu efektu, nastavte u těchto světel parametry "dynamic" a "dynamic_lightmap" na "TRUE". Pak bude model zbraně nasvícen těmito světly bez problémů. Tuto variantu ale používejte opravdu jen v nejkrajnějších situacích, neboť dynamická světla zatěžují výkon počítače a mohou tak narušit plynulý chod hry, pokud jich bude příliš mnoho v jedné scéně.

Druhý problém s nasvícením mnohdy dochází v místech, kde na sebe navazují dva brushy. Často bývá jeden nasvícen víc než druhý, což má za následek, že je znatelné, kde se přechod mezi dvěma brushy nachází. Viz. obrázek vpravo. Ke stejnému problému dochází mnohdy i tehdy, přechází-li přes přechod nějaký stín. Může se stát, že se stín na každý brush promítne jinak, a hned je opět vidět přechod. Tento problém se však dá poměrně dobře vyřešit jiným umístěním světelného zdroje či jinak poskládanými brushy, aby problémový přechod byl v jiném místě a byl tedy i nasvícen z jiného úhlu.

 

Zvuky

 Nepostradatelnou součástí každého levelu jsou zvuky. Bez nich by hra rozhodně nikdy nemohla působit dobrým dojmem. Zvuky totiž navozují tu správnou atmosféru, kterou chce designér ve své mapě vyvolat. Ať je to už šum průvanu na pozadí, zpěv ptáku ve stromech či nejrůznější zvuky strojů, dveří a jiných mechanizmů - bez nich to zkrátka nejde.

K reprodukci zvuků v levelu nám slouží několik entit, které najdeme v seznamu "Entity list" pod kategorií "sounds&music". Spolu s nimi zde ještě najdeme zařazenou entitu pro produkci hudby "music", entitu k vyvolávání ozvěny "sound_effector" a další, o kterých si povíme v některé z kapitol kurzu pro pokročilé. Nás teď ale budou zajímat především dvě nejdůležitější entity - a to "ambient_sound" a "global_ambient_sound".

Nejvíce zcela určitě využijete "ambient_sound", což je entita produkující zvuk v určitém místě a do určitého dosahu. Pokud si ji označíte, můžete vidět devět nastavitelných parametrů. První "name" udává cestu ke konkrétnímu zvukovému souboru uleženému v systému hry. Narozdíl od některých jiných herních editorů WS 2000 bohužel neumožňuje přímé přehrávání zvuků v editoru, což značně komplikuje výběr toho správného souboru. Proto doporučuji, abyste si pomocí programu Fs Utility otevřeli soubor "Sounds.fs", který najdete ve složce "Chaser/Data", a následně jeho celý obsah dle návodu rozbalili někam do svého počítače, odkud si pak můžete jednotlivé zvuky ve formátech ".mp3" a ".wav" přehrávat. Pak už jen stačí zvuk, který se vám líbí, dohledat v editoru a aplikovat ho na zvukovou entitu. To provedete buď ručním vypsáním cesty k souboru zvuku přes příkazový řádek "Parameter value", nebo tak, že na parametr "name" dvakrát kliknete myší a pak v dialogovém okně se strukturou adresářů najdete a vyberete požadovaný zvukový soubor. V levém sloupci se zobrazují veškeré dostupné adresáře se zvuky, vpravo se pak zobrazují již jednotlivé zvuky zařazené pod těmito adresáři. Zvuky jsou opatřeny buď růžovou, žlutou nebo kombinovanou krychličkou v závislost na tom, zda je zvuk umístěn v systému hry (v souboru Sounds.fs), nebo v dodatečně přidané složce, kam si třeba umisťujete zvuky vlastní. Vybraný zvuk potvrdíte tlačítkem "Ok" - viz. obrázek vpravo.

Další dva parametry "range" a "falloff" udávají dosah a maximální dosah zvuku. Standardně je nastaveno "512" a "1024". "Falloff" bývá většinou dvounásobek hodnoty "range" a udává maximální dosah zvuku. Oba parametry jsou pak při označené entitě v mapě znázorněny ve 2D pohledech dvěmi kružnicemi. Lze si tak opět udělat představu o dosahu jednotlivých zvukových produkcí. Jelikož jsem vybral na zkoušku zvuk hučícího potrubí, jak můžete vidět na obrázku, a že tudíž plánuji zvuk umístit právě k našemu potrubí, jsou hodnoty dosahu zbytečně příliš velké. Snižte tedy obě hodnoty, "range" na "150" a "falloff" na "300". Takový dosah k našemu účelu bohatě postačí.

Čtvrtým parametrem je "volume", tedy hlasitost zvuku. Já už mám tak nějak odhad hlasitosti v oku, nebo spíš v uchu, ale vám pravděpodobně zpočátku bude dělat problémy odhadnout, jakou hlasitost nastavit. Ve většině případech stačí ponechat hlasitost na hodnotě "100", což je 100%, ale některé zvuky jsou příliš hlasité nebo by v konkrétní situaci narušovaly rovnováhu mezi ostatními zvuky. Pak je dobré hlasitost snížit. U našeho hučícího potrubí tak klidně postačí, když přes příkazový řádek "Parameter value" změníme hlasitost na "90".

Pátý parametr, "loop_count", udává, kolikrát se má daný zvukový soubor přehrát. To se týká především situací, kdy je zvuk spouštěn jen dočasně - například při výbuchu. V takovém případě by se vyplnila hodnota "1", aby se zvuk přehrál pouze jednou. V případě, že se má ale zvuk přehrávat opakovaně a po neomezenou dobu, jako například hukot našeho potrubí, pak stačí ponechat hodnotu "0", která udává neustále se opakující smyčku přehrávání.

Šestým, a zároveň posledním prametrem, který nás bude zajímat, je "on_trigger". V tuto chvíli ho ponecháme vypnutý, tedy na hodnotě "FALSE", ale v případě, pokud chceme mít zpočátku levelu zvuk vypnutý a dodatečně ho aktivovat přes nějaké tlačítko v mapě, by pak musel být nastaven na hodnotu "TRUE". Zbývající tři parametry již pro nás v tuto chvíli nejsou důležité a jen málokdy je uplatníte.

Nyní máme nastavenou naši první zvukovou entitu, takže již nezbývá nic jiného, než zavřít okno s parametry a entitu vložit do mapy. Jelikož jde o zvuk hučícího potrubí, umístěte ji přímo do potrubí. Ovšem, jak jste si asi všimli, dosah zvuku nepokrývá celé potrubí, ale pouze jeho část, což by mělo za následek, že na jedné straně potrubí by zvuk slyšet byl a na druhé ne. Je tedy třeba tuto entitu zduplikovat "Space" a přenést i na druhou polovinu potrubí. Jistě, šlo by i zvýšit dosah zvuku, aby celé potrubí pokryla zvukem jediná entita, ale pak by byl zvuk slyšet i v případě, když byste byli od potrubí vzdáleni dostatečně daleko na to, aby v reálném světě již takový zvuk běžně slyšet nebyl. Proto je třeba zachovat malý dosah a vypomoct si více zvukovými zdroji kopírujícími osu potrubí. Viz. obrázek vlevo.

Druhou entitou týkající se produkce zvuku je "global_ambient_sound". To je entita, která produkuje zvuk na pozadí levelu, a to bez omezení dosahu. Lze tak navodit vzdálený hukot strojů v interiérech budov, vanoucí průvan v jeskyních či městský ruch v ulicích. Zvuk produkovaný touto entitou zkrátka uslyšíte všude, kam se hnete.

Tatoto entita má pouze tři parametry. Prvním je tradičně "name", který udává cestu ke zvukovému souboru, jenž se má přehrávat. Výběr vhodného zvuku provedete naprosto stejně jako u "ambient_sound". Dalším parametrem je opět "volume" udávající hlasitost zvuku. Poslední parametr je pak "on_trigger", který udává, zda se má entita po načtení levelu spustit, nebo čekat, až ji hráč ve hře spustí nějakým tlačítkem či skriptem.

Abychom si vyzkoušeli i tuto entitu, vyberte zvuk dle obrázku vpravo a vložte ji do místnosti, nejlépe hned vedle jíž vložené "ambient_light", abyste tyto dvě globálně fungující entity měli u sebe pro lepší přehlednost.

 

Sound effector

Jednou z poměrně často využívaných entit je takzvaný "sound_effector", a proto jej tu ve zkratce zmíním taky. Tato entita slouží k vyvolání ozvěny v levelu, kterou jsem si osobně velmi oblíbil. V "Entity listu" ji naleznete stejně jako "ambient_sound" v kategorii "sounds&music". V jejím nastavení lze editovat pět parametrů, ale nás budou zajímat pouze dva. Prvním je "room_typ", ve kterém doslova vybíráte typ místnosti. Pokud si tedy na tento parametr kliknete, vpravo ve sloupci "Constant" se vám zobrazí nabídka několika typů ozvěn. Můžete tak vybrat slabou ozvěnu pro středně velké místnosti, dlouhou ozvěnu pro rozsáhlé haly či utlumenou ozvěnu pro malé prostory. Do naší malé místnosti by se hodila nějaká ozvěna slabší a střední délky, a té by asi tak odpovídala ozvěna "Stoneroom".

Druhým parametrem, který nás bude zajímat, je parametr "enabled". Ten určuje, zda má být ozvěna po načtení levelu aktivní či nikoliv. "FALSE" standardně již znamená vypnuto - "TRUE" pak zapnuto. V našem případě tedy nastavte "TRUE" a poté entitu vložte do mapy.

 

 

Music

Co by to bylo za level bez hudby na pozadí, že? U multiplayerových map se hudba většinou nepoužívá, ale v případě map určených pro singleplayer je hudba stejně nepostradatelná, jako samotné zvuky v mapě. I dobře zvolená skladba totiž dokáže výborně dokreslit atmosféru celého levelu, proto si zde nyní popíšeme, jak hudbu do mapy umístit.

Hudbu v každém levelu přehrává speciální entita "music", kterou najdeme v nabídce entit opět v kategorii "sounds&music". Po jejím vybrání se vám zobrazí tři parametry. "File" nám udává cestu k hudebnímu souboru, "fade_time" postupné utlumení a "on_trigger" slouží pro případ, když nechcete po načtení hudbu přehrávat hned, ale až například aktivací nějakého skriptu.

Pro náš účel nám zatím postačí vyplnit pouze parametr první, "file", a ostatní ponechat na přednastavených hodnotách, protože chceme přehrávat hudbu hned po načtení levelu. Všimněte si však, že cesta neodkazuje přímo na zvukový soubor, ale na soubor s koncovkou ".mus". Tento soubor je jakýsi jednoduchý skript, který udává některé parametry přehrávané hudby. Takový skript si buď musíte vytvořit, především v případě, chcete-li použít hudbu vlastní, a nebo použít již existující skript samotné hry. Ty jsou uloženy v datovém souboru "Scripts.fs", který najdete v adresáři "Chaser/Data". Pokud si ho pomocí programu Fs Utility otevřete, tyto hudební skripty naleznete ve složce "Scripts/Music". (Pozor! Pokud běží současně i editor, Fs Utility datový soubor Scripts.fs neotevře.)

Abychom mohli v naší malé zkušební mapce přehrávat hudbu, pak musíme v parametru "file" entity "music" odkázat na jeden z těchto souborů. Bohužel, kliknete-li dvakrát na tento parametr, editor žádné soubory tohoto typu nenajde, proto je třeba cestu zadat ručně. Pokud tedy máte parametr "file" označený, vyplňte v řádku "Parameter value" například cestu k souboru "Scripts\Music\CHM01.mus", což je hudba z prvního levelu odehrávajícího se na stanici Majestic. Pak již stačí potvrdit "Enter", okno s parametry zavřít a entitu vložit do mapy ("levý Ctrl + pravé tlačítko myši"). Viz. obrázek.

 

Předměty

Dosud jsme si povídali jen o základních systémových entitách, které v mapě nejsou vidět, ale způsobují nějaký viditelný nebo slyšitelný efekt. Pod složkou "items" a "weapons" v "Entity listu" však nalezneme celou řadu předmětů, které hráč v mapě může sbírat. Jedná se především o lékárničky, munici, brnění a v neposlední řadě i zbraně samotné. Pojďme si tedy stručně říci ještě něco o těchto nepostradatelných entitách.

Většina těchto entit má od čtyř do sedmi parametrů, z nichž nejdůležitější pro nás bývají především společné parametry "respawn_time", "orientation" a "auto_respawn". "Orientation" jako u všech ostatních udává, v jakém úhlu má být předmět otočen. "Auto_respawn" pak uvádí, zda se má či nemá automaticky předmět načíst po startu do mapy, nebo zda je spjat s nějakým skriptem, který ho vyvolá. Pokud požadujete, aby byl předmět po načtení mapy aktivní, ponechte nastaveno "TRUE". "Respawn_time" se pak týká předmětů v multiplayerových mapách a udává čas, po jakém se má předmět po sebrání opět zobrazit.

Zatímco brnění a lékárničky naleznete v "items", zbraně a munici naleznete v "weapons". U některých zbraní se pak ještě můžete setkat s parametrem "world_anim", u něhož lze v pravém panelu "Constant" vybrat určitou animaci. Animací teď nemám na mysli klasickou pohybovou animaci, ale pozici, v jaké zbraň bude. Lze si tedy vybrat například zbraň položenou naležato, nastojato či opřenou hlavní o zeď.

V kategorii "weapons" si můžete všimnout, že je zde poměrně dost předmětů. Na výběr je z různých typů zbraní a munice, neboť spousta zbraní má svou specifickou munici. Pojďme si tedy nějakou tu výzbroj vložit do naší mapky, ať si to vyzkoušíme v praxi. Z nabídky vyberte například zbraň "aksu_74" a vložte ji do mapy, například na bednu, kterou tam máme již z minula. Přitom si rovnou vyzkoušejte otečení zbraně přes její parametr "orientation" - například nastavit na hodnotu "45.00". Munici, která je k této zbrani přiřazena, poznáte dle jejího názvu. Většinou po "Ammo" následuje ráže a poté v závorce vypsané zbraně, pro něž je tato konkrétní munice určena. Pro naši zbraň tedy vyberte položku "Ammo_5,56x45__(Aksu,Colt)" a vložte ji taktéž do mapy.

Dále si zkusme vložit do mapy zbraň "famas" a k ní odpovídající munici, abychom si ukázali uplatnění parametru "world_anim" na této zbrani. Zbraň si proto umístěte těsně ke stěně sudu. Poté v jejích parametrech nastavte "world_anim" na "world_02", což je pozice opřené zbraně o zeď. Poté k ní přidejte nějaké to balení munice. Ale pozor - tato zbraň je smíšená, proto má dva druhy munice. Jedná se o klasické střely "Ammo_4,7x28__(G11,Famas)" a granáty "Ammo_40mmFrag_(Famas)".

Nakonec si z kategorie "items" v "Entity listu" někam do mapy vložte brnění ("armor_large" - velké brnění, "armor_small" - malé brnění) a nějakou tu lékárničku ("medikit_large" - velká lékárnička, "medikit_medium" - střední lékárnička a "medikit_small" - malá lékárnička). Rozmístění všech předmětů záleží zcela jen na vás, ale klidně můžete použít takové, jaké jsem zvolil já - viz. obrázek.

 

 

Tipy a triky na závěr

Každé poslední nastavení konkrétní entity si editor pamatuje do svého restartu. Abyste však i příště nemuseli složitě nastavovat parametry jednotlivých entit, je zde možnost každé nastavení uložit pro pozdější použití. Usnadní vám to tak práci s nastavováním, které je třeba u nepřátel poměrně složité. Pokud některou entitu nastavíte a počítáte s tím, že stejné nastavení budete používat i v budoucnu, můžete toto nastavení parametrů uložit pomocí tlačítka "Save Templ", které najdete pod oknem s parametry. Později toto nastavení můžete zpětně vyvolat před vložením entity do mapy, nebo ho přímo aplikovat na již v mapě vloženou entitu.

Každou entitu vloženou do mapy lze také konvertovat na jakoukoliv jinou entitu. Pokud například chcete světlo změnit na entitu zvuku, stačí tuto entitu označit, poté si klávesou "E" otevřít okno s parametry a v levém sloupci "Entity list" vybrat entitu zvuku. Editor se vás zeptá, zda ji skutečně chcete konvertovat na vybranou entitu, a pokud potvrdíte, provede se konverze.

 

To by asi tak bylo vše. Samozřejmě k entitám by se toho dalo říci mnohem více a mohli bychom probrat i ostatní entity z nabídky. V této kapitole jsem vás ale chtěl seznámit především s těmi nejdůležitějšími entitami a s jejich základním nastavováním a používáním. Podrobněji se jednotlivým entitám budeme věnovat v kapitolách kurzu pro pokročilé, kde si již povíme něco o jejich všestranném uplatňování. V následující kapitole se teď ale budeme věnovat dalšímu, neméně důležitému tématu, a to portálům a buňkám.

 

 

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

 

 

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

Stránku vytvořil Duke, 2010.