Hlasatelé ve hře Dota 2


Jak vytvořit hlasatele pro hru Dota 2

Hlasatelé ve hře Dota 2 fungují jako databáze reakcí na určité herní události, například zničení Vaší vrchní věže, zničení spodních kasáren nepřátelského týmu, zabití kurýra atp. Vlastní hlasatele můžete vytvořit tak, že nahrajete hlášky pro každou z těchto událostí a nahradíte jimi výchozího hlasatele. Momentálně je nejjednodušší připravit scénář pro nového hlasatele za použití vzorového scénáře dostupného ke stažení níže, který obsahuje všechny vyžadované hlášky, několik hlášek volitelných a seznam nápadů a pokynů, jak učinit Vašeho hlasatele tím nejlepším. Až nahrajete všechny své hlášky, můžete pomocí ukázkové tabulky (též dostupné ke stažení níže) připravit pravidla pro jejich spouštění. V ukázkové tabulce sice naleznete příklady událostí popsaných ve vzorovém scénáři, nicméně jejich podrobný seznam je dostupný až v samostatném souboru nazvaném „Seznam spouštěcích událostí“. Pro ukázku jsme také připravili částečně popsané verze tabulek použitých pro vydaný balíček hlasatelů Bastion.

Zdroje:
Vzorový scénář s instrukcemi - Updated 07/16/2013
Seznam spouštěcích událostí - Updated 07/18/2013
Ukázková tabulka hlasatele - Updated 07/18/2013
Ukázková tabulka hlasatele (série zabití) - Updated 07/18/2013
Tabulka hlasatele Bastion - Updated 07/18/2013
Tabulka hlasatele Bastion (série zabití) - Updated 07/18/2013


Doporučení

Klíčem k vytvoření co nejlepšího hlasatele je intenzita, osobnost, stručnost a především různorodost.

Každou z Vámi nahraných hlášek uslyší hráči vždy poté, co dojde k nějaké specifické události a v jednom zápase tak mohou například patnáctkrát zažít zničení věže, třikrát zabití Roshana a třeba až třicetkrát útočení na jednu z budov. Aby se hlasatel neoposlouchal po několika zápasech, měli byste pro každou událost připravit více hlášek (resp. jejich verzí). Pro příklad hlasatel Juggernaut má tři verze každé hlášky, zatímco hlasatel Dr. Kleiner má v určitých kategoriích až pět verzí každé hlášky. Pestrost hlášek můžete také navýšit pomocí mechanismu „následujících hlášek“, který Vám umožňuje spojit výchozí událost a její hlášku (např. zničení věže) s jednou ze souvisejících následujících hlášek (např. „To nevypadá dobře.“). Tohoto mechanismu hojně využívají hlasatelé Bastion a Axe. Pozor však na to, že jeden hlasatel může mít maximálně 600 hlášek.

Pořádně se vžijte do role! Abyste svého hlasatele odlišili od ostatních, musíte za pomoci několika slov udělat výrazný dojem na své posluchače. Do každé hlášky tak zkuste vložit co nejvíce intenzity a osobnosti. Zase to ale nesmíte přehnat a každý hlasatel musí mít pro každou důležitou událost i „formální“ hlášku. Pokud tedy připravujete hlasatele Miloše Zemana a jeho hláška pro zničení věže je „Pane redaktore, podívejte se, Vaše věž jde k zemi jako Váš argument.“, musíte také stejným hlasem říci i „Tvoje vrchní věž byla zničena!“. Tím zajistíte, že se Vaše nadsazené hlášky nezačnou opakovat, jelikož budou prokládány i svými seriózními a formálními verzemi.

Hlasatel by měl být neurážlivý a pozitivní! Hra Dota 2 má nesmírně různorodou fanouškovskou základnu a byli bychom rádi, kdyby každý nový hlasatel zaujal co nejvíce z našich hráčů. Při psaní scénáře se proto snažte, aby nebyl Váš humor příliš urážlivý a vyhněte se hláškám se sexistickým, rasistickým či náboženským podtextem. Nezapomeňte také na to, že hra Dota 2 může být občas velmi stresující a to poslední, co chce prohrávající hráč slyšet, jsou posměšky a urážky od svého hlasatele. Vhodné proto je, aby byl hlasatel co nejvíce pozitivní, nebo alespoň situaci zlehčoval či hráče povzbuzoval i v nejtěžších chvílích. Ještě také musíme dodat, že doporučujeme, abyste svými hláškami neodkazovali na reálné lidi a materiál chráněný autorskými právy, například písně či filmy.

Hra Dota 2 může být občas chaotická a věci se v ní mohou dít velmi rychle za sebou. Hlasatelovy hlášky by proto měly být co nejkratší a nejúdernější, jelikož interval mezi zničením věže a promluvením hrdiny může být dlouhý jen pár sekund. Dlouhé hlášky mohou nejen rozptylovat hráče snažící se udržet své hrdiny naživu, ale také se začnou rychleji opakovat a je u nich větší šance, že budou přerušeny dalšími spuštěnými hláškami. Obecně tak doporučujeme, abyste hlášky dostali pod tři sekundy a jako úplný strop považujeme pět sekund.

Hlášky pouze pro diváky, které slyší pouze hráči, jež jsou hlasatelem vybaveni při sledování hry, mohou být o něco delší a obsahovat více informací, protože diváci se nemusí jako hráči soustředit i na další zvuky a věci ve hře. Každou z Vašich hlášek můžete označit jako specifickou pouze pro diváky, takže diváci uslyší úplně jiné hlášky než hráči. Pro příklad, v ukázkové tabulce je pro hráče hláška „Tvoje věž je pod útokem“ a pro diváky „Věž týmu Radiant je pod útokem“, ačkoli ve hře jde o stejnou událost.

Vzorový scénář s instrukcemi Vám případně může poskytnout další informace.


Kvalita zvuku a formát nahrávek

Mezi Vaše nejvyšší priority by se mělo řadit vytvoření co nejprofesionálnějšího materiálu. Vhodný hardware pro záznam, zázemí, techniky mluvení, zřetelná výslovnost a správně nastavené úrovně zvuku mohou dramaticky zlepšit dojem z Vašeho hlasatele.

Mikrofon u Vašich sluchátek proto pro nahrání hlasatele zcela jistě nebude stačit.

Důrazně doporučujeme, abyste si pronajali nahrávací profesionální studio nebo vyhledali nějakého nadšence s vlastním studiem. Jen díky lidem takto „zběhlým“ v nahrávání hlasu dosáhnete nejvyšší kvality, a to myslíme naprosto bez urážky.

Původní zvuk byste měli zaznamenat monofonně a za použití nekomprimovaného formátu (například WAV či AIF) s bitovou hloubkou zvuku alespoň 16 a vzorkovací frekvencí 44,1 kHz. Až hlasatele nahrajete, důkladně při editování naslouchejte a vyhledejte všechny kazy nebo zkreslené vrcholy. Pokažené hlášky je někdy nutné nahrát znovu nebo úplně odstranit. Pro účely dalších úprav ponechte prosím na obou koncích každé nahrávky alespoň čtvrt sekundy s okolními ruchy z nahrávání.

Pokud se Vašeho hlasatele rozhodneme přidat do hry, požádáme Vás o původní soubory v nejlepší kvalitě, nicméně pro účely prezentace ve workshopu a obecně pro zjednodušení práce s nimi, můžete své nahrávky zkomprimovat do formátu MP3, například pomocí programu SoundForge nebo iTunes.

Zkomprimované audio a tabulku se spouštěcími událostmi zabalte a nahrajte do workshopu skrze klienta hry jako jednu položku.


Editace tabulky hlasatele

Po nahrání a upravení Vašich souborů s hláškami byste měli vyplnit tabulku s přiřazením souborů k událostem ve hře. Příklad níže ukazuje, jak propojit soubor „announcer_battle_begin_02“ se začátkem zápasu.

A B C D
announcer_battle_begin_02 The battle begins! Custom IsGameStart

POZNÁMKA: Kromě několika výjimek (následujících hlášek a hlášek při nákupu či oživení) mají všechny hlášky ve sloupci C uvedeno „Custom“.

Pro jednu událost můžete také specifikovat několik hlášek, viz níže příklad hlasatele Dr. Kleinera:

announcer_fort_rad_01 I've never seen Radiant's structures looking so fortified. Custom GlyphUsedGood
announcer_fort_rad_02 Radiant's structures are beautifully fortified. Custom GlyphUsedGood
announcer_fort_rad_03 Radiant's structures are fortified. Custom GlyphUsedGood
announcer_fort_rad_04 Radiant's structures are fortified. There appears to be some sort of magic at work. Custom GlyphUsedGood

V příkladu výše vybere hra poté, co tým Radiant (hodní, tedy „good“) použije schopnost Glyph of Fortification, jednu ze čtyř hlášek („announcer_fort_rad_01“, „announcer_fort_rad_02“, „announcer_fort_rad_03“ nebo „announcer_fort_rad_04“). Když má více řádků stejná kritéria, jsou považovány za alternativy pro jednu událost.

V některých případech sloupec D obsahuje několik kritérií. Ta dohromady vytváří událost, při které je přehrána vybraná hláška – hláška se tedy přehraje pouze, pokud jsou splněna všechna kritéria. Pokud dojde k tomu, že je splněno pouze několik kritérií, systém automaticky vybere a přehraje hlášku, která těchto kritérií splňuje nejvíce. V příkladu níže se hláška (resp. soubor) „announcer_rax_fall_yr_top“ přehraje pouze v případě, že dojde ke zničení věže, která byla na vrchní lince a nezničil ji její vlastní tým (nebyl jí tedy udělen „deny“).

announcer_twr_fall_yr_top Your top tower has fallen. Custom IsTowerKilled IsTopLane IsNotDeny

Do sloupce D lze také přidat volitelná kritéria, kterými blíže specifikujete hlášku, jež má být přehrána. Jestliže například chcete, aby se hláška přehrála pouze divákům, přidejte do sloupce D „IsSpectator“.

announcer_rax_attack_dire_bot Dire's bottom barracks are under attack. Custom IsBarracksAttacked IsBadAttacked IsSpectator IsBotLane

Některé hlášky jsou „následující“ a mohou být přehrány po jiných hláškách.

announcer_followup_generic_01 Bet that hurt! Followup_Generic (nothing in column D)

Povšimněte si, že „následování“ je uvedeno ve sloupci C jako „Followup_Generic“. Následující hlášky lze nastavit buď tak, aby se přehrály po libovolné hlášce nebo pouze při určitých událostech. Jelikož výše je sloupec D prázdný, bude hláška přidána k dalším hláškám, které se mohou přehrát, když je zavolána obecná následující hláška. Pokud však chcete, můžete hlášky vhodně spojovat a navýšit různorodost hlasatele. Například na hlášku „Kurýr týmu Radiant byl zabit!“ můžete navázat hlášku: „Chudák malý.“

announcer_courier_rad_dead_01 Radiant’s Courier has been killed. Custom CourierLostGood
announcer_courier_dire_dead_01 Dire’s Courier has been killed. Custom CourierLostBad
announcer_courier_followup_01 That poor, defenseless courier! Followup_Generic CourierLostGood Chance_25%
announcer_courier_followup_01 That poor, defenseless courier! Followup_Generic CourierLostBad Chance_25%

Jak můžete vidět výše, následující hláška je sice obecná, nicméně ve sloupci D má stejné kritérium jako jí předcházející hláška, díky čemuž je specifická pro tuto jednu událost. Následující hláška bude tedy přidána k dalším sobě rovným hláškám, nicméně bude přehrána pouze v případě, že umře kurýr týmu Radiant/Dire.

Mimo toho příklad výše ukazuje použití kritéria „Chance_25%“. Pokaždé když je přehrána libovolná hláška, vybere hra náhodné číslo od 1 do 100. Kritérium „Chance“ je splněno, pokud je vybrané číslo menší nebo rovno uvedené procentuální šanci. Jelikož náš systém vždy přehraje hlášku, která splňuje nejvíce kritérií, výsledkem příkladu výše bude, že vždy dojde k přehrání hlášky „announcer_courier_rad_dead_01“ (pokud tedy umře kurýr týmu Radiant), ale jen v případě, že bude při přehrání vybráno číslo 25 nebo menší, bude přehrána i následující hláška „announcer_courier_followup_01“. To umožňuje dosáhnout dalšího stupně různorodosti a využít obecné následující hlášky u více specifických událostí.

Hláška „announcer_courier_followup_01“ je také použita jak pro událost „CourierLostGood“ (tedy kurýr týmu Radiant), tak „CourierLostBad“ (tedy kurýr týmu Dire). Jednu hlášku můžete použít pro libovolný počet událostí, avšak pokud jde o vzájemně neslučitelné události, musí být nadefinovány zvlášť.

Závěrem si ještě představíme sloupec E, ve kterém se mohou nacházet modifikátory načasování a nastavení spojení hlášek. Fungování si ukážeme vylepšením příkladu, se kterým jsme pracovali doteď:

A B C D E
announcer_courier_rad_dead_01 Radiant’s Courier has been killed. Custom CourierLostGood respeakdelay 35 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 9
announcer_courier_followup_01 That poor, defenseless courier! Followup_Generic CourierLostGood Chance_25% speakonce

Nakonec jsme ve sloupci E použili tři typy modifikátorů:

respeakdelay 35 Tento modifikátor určuje, že jakmile je přehrána vybraná hláška, nemůže být po určenou dobu (zde 35 sekund) přehrána znovu.
speakonce Tento modifikátor určuje, že jakmile je hláška přehrána, nemůže být až do konce zápasu přehrána znovu.
then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 9 A zde můžete vidět nastavení. Konkrétně toto určuje, na jaký typ následující hlášky má být přejito („TLK_DOTA_FOLLOWUP_GENERIC“), přičemž číslo na konci upravuje, kolik sekund má hra počkat, než tuto následující hlášku přehraje (9 sekund).

Každý typ události má už od základu nastaveno, jak často se může opakovat, aby hráč nebyl bombardován stále stejnými informacemi, takže kromě výjimečných případů není třeba modifikátory časování přidávat.

Mezi další nastavení patří „TLK_DOTA_FOLLOWUP_POSITIVE“ (hláška následující pozitivní událost pro posluchače), „TLK_DOTA_FOLLOWUP_NEGATIVE“ (hláška následující negativní událost pro posluchače) a „TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING“ (hláška následující probíhající událost, o kterou by se hráč měl ve vlastním zájmu starat, hláška to může být například: „Blíží se bouře.“)

Pro více informací a další příklady navštivte následující stránky: Seznam spouštěcích událostí, Ukázková tabulka hlasatele, Ukázková tabulka hlasatele (série zabití) . Krom toho si také můžete prostudovat fungování již existujícího upraveného hlasatele na stránkách: Tabulka hlasatele Bastion and Tabulka hlasatele Bastion (série zabití) .