Dota 2-omroepers werken als een database aan reacties op specifieke gebeurtenissen: "je bovenste toren is vernietigd", "de onderste vijandelijke barakken zijn vernietigd", "koerier gedood", enzovoort. Aangepaste omroepers kunnen gemaakt worden door zinnen voor al deze gebeurtenissen op te nemen en de standaardomroeper te vervangen. Op het moment is de makkelijkste manier om een script voor een nieuwe omroeper voor te bereiden door het aangeleverde leerzame scriptsjabloon hieronder te gebruiken, waarin alle benodigde zinnen voor alle omroeperspakketten staan, met een aantal optionele mogelijkheden om op te vallen en een lijst aan richtlijnen om van je omroeperspakket een succes te maken. Wanneer je je script hebt opgenomen, kun je de voorbeeldwerkbladen hieronder gebruiken om een benadering van de gebeurtenisactivatie voor elke zin op te stellen. De voorbeeldwerkbladen tonen voorbeeldactivaties voor de gebeurtenissen in het leerzame scriptsjabloon, maar je kunt een volledige lijst vinden in de lijst met gebeurtenissen voor activatie. We hebben ook een licht geannoteerde versie van de beherende werkbladen voor het uitgebrachte Bastion-omroeperspakket beschikbaar gesteld om te bestuderen en voor inspiratie.
Middelen:
Leerzaam scriptsjabloon - Updated 07/16/2013
Lijst met gebeurtenissen voor activatie - Updated 07/18/2013
Voorbeeldwerkblad voor omroepers - Updated 07/18/2013
Voorbeeldwerkblad voor megakills-omroepers - Updated 07/18/2013
Werkblad Bastion-omroeper - Updated 07/18/2013
Werkblad Bastion-megakills-omroeper - Updated 07/18/2013
Intensiteit, persoonlijkheid, beknoptheid en bovenal verscheidenheid zijn de sleutels tot het creëren van een succesvolle omroeper.
Elke regel die je opneemt zal vele keren worden gehoord door elke speler die de gebeurtenis activeert. In één spel zou een speler vijftien "toren is vernietigd"-gebeurtenissen, drie "Roshan is verslagen"-gebeurtenissen en meer dan dertig "je [gebouw] wordt aangevallen"-gebeurtenissen kunnen horen. Als je wilt dat een omroeper niet saai wordt, zou elke gebeurtenis een groot aanbod aan verschillende regels moeten hebben. De Juggernaut-omroeper heeft ongeveer drie variaties op elke regel, terwijl de Dr. Kleiner-omroeper er in sommige categorieën wel vijf heeft. Je kunt ook gebruikmaken van het opvolgingsmechanisme als manier om variatie te creëren door de omroeper toe te staan een basisgebeurtenis ("je bovenste toren is vernietigd") te mengen met een andere set opvolgingsregels ("dat ziet er niet goed voor je uit"). De Bastion- en Axe-omroepers maken vaak gebruik van de opvolgingsfunctie. Let er ook op dat we een limiet van 600 regels hebben voor Workshop-omroepers.
Alleen de prestaties tellen nu nog! Om uit te blinken moet je omroeper een goede indruk bij de luisteraar achterlaten, met slechts een paar woorden. Door elke regel intens en persoonlijk te maken, zorg je ervoor dat je personage uniek wordt. Je moet nu ook ten minste één "normale" versie van elke belangrijke gebeurtenis opnemen in de stem van je personage. Als je renaissance-omroeper een regel heeft met "Let op! Je bovenste toren wordt belegerd!", dan moet je ook een standaard "Je bovenste toren wordt aangevallen!" opnemen in dezelfde stem. Hiermee voorkom je dat overdreven regels te vaak worden gebruikt, aangezien ze dan in mindere mate kunnen worden gemixt met de duidelijke regels.
Hou het netjes en positief! Dota 2 heeft een erg groot aantal spelers en we willen er zeker van zijn dat elke omroeper voor zoveel mogelijk mensen aantrekkelijk is. Probeer, wanneer je het script voor je omroeper schrijft, de humor zo netjes mogelijk te houden en dialogen met seksistische, racistische of anti-religieuze opmerkingen te vermijden. Dota 2 kan daarnaast een erg stressvol spel zijn. Als het team van een speler aan het verliezen is, is het laatste wat ze willen horen een omroeper die ze beledigt en hun speelkunsten belachelijk maakt. Probeer je omroeperscommentaar zo veel mogelijk positief, grappig of in ieder geval aanmoedigend te houden. We raden je ook af om verwijzingen naar auteursrechtelijk beschermde dingen als liedjes of films te gebruiken of opmerkingen over echte mensen te maken.
Hou er rekening mee dat Dota 2 een chaotisch spel kan zijn en dingen snel kunnen gebeuren. Probeer de zinnen van je omroeper kort te houden, aangezien de pauze tussen het vernietigen van een toren en het praten van een held hooguit maar een paar seconden zal zijn. Lange zinnen kunnen afleidend zijn voor de speler wanneer ze hun held in leven proberen te houden. Langere zinnen worden sneller saai en hebben meer kans dat ze onderbroken worden door andere omroeperszinnen. Probeer als vuistregel je zinnen onder de drie seconden te houden en nooit langer dan vijf seconden te maken.
Toeschouwerzinnen, die alleen kunnen worden gehoord door spelers die je omroeper gebruiken en een spel toeschouwen, kunnen langer zijn en meer inhoud bevatten, omdat toeschouwers niet goed hoeven te luisteren om belangrijke informatie voor het spel te kunnen horen. Je kunt elke zin als specifiek voor toeschouwers markeren, zodat toeschouwers en spelers voor dezelfde gebeurtenis compleet verschillende dialogen kunnen horen. In het voorbeeldwerkblad horen spelers "je toren wordt aangevallen", terwijl toeschouwers voor dezelfde gebeurtenis "de toren van de Radiant wordt aangevallen" horen.
De instructies voor omroepersjablonen bevatten meer informatie en advies.
Het creëren van materiaal van professionele kwaliteit voor evaluatie zou een van je hoogste prioriteiten moeten zijn. Degelijk opnamemateriaal en een dito opnameruimte, goede microfoonbeheersing en -afstand en correct beheerde geluidsniveaus kunnen de uiteindelijke beoordeling van je omroeperspakket drastisch beïnvloeden.
Het gebruik van een microfoon op een headset om een omroeperspakket op te nemen dat zal worden ingezonden wordt niet geaccepteerd.
Wij raden je ten zeerste aan een studio te huren of een audiohobbyist met een projectstudio te zoeken. Een professionele ingenieur of audiohobbyist die de fijne kneepjes van stemopnamen kent, zal ons voorzien van materiaal van de beste kwaliteit.
We raden je aan de originele audio in mono op te nemen en gebruik te maken van een bestandsindeling met volledige resolutie (zoals WAV of AIFF), met een diepte van minimaal 16 bit en een samplefrequentie van minimaal 44,1 kHz. Wanneer je omroeper opgenomen is en je met het bewerken van het materiaal begint moet je goed luisteren of je nergens harde plosieven of vervormde pieken gemist hebt - het zou kunnen dat je die opnames opnieuw moet vastleggen of volledig moet verwijderen. Behoud ook een kwart seconde omgevingsgeluid van de oorspronkelijke opname aan het begin en het einde van elke clip voor geluidstechnische doeleinden.
Als je inzending wordt geaccepteerd zullen we contact met je opnemen voor de originele bestanden van de beste kwaliteit. Het is misschien wel makkelijker om de audio van je oorspronkelijke Workshop-inzending te comprimeren tot een .mp3-formaat met behulp van een programma zoals SoundForge of iTunes, zodat je het sneller kunt verplaatsen en er makkelijker mee kunt werken.
Verpak en verzend je gecomprimeerde audio en je werkblad met gebeurtenissen voor activatie naar ons als workshopitem via de spelclient.
Na het opnemen en renderen van je bestanden is het aangeraden om een werkblad te maken waarop je kunt bijhouden welke bestanden bij welke gebeurtenissen horen. De volgende afbeelding geeft bijvoorbeeld aan dat je wilt dat "announcer_battle_begin_02 " speelt nadat de hoorn aan het begin van het spel luidt.
A | B | C | D |
announcer_battle_begin_02 | The battle begins! | Custom | IsGameStart |
OPMERKING: Bij een aantal uitzonderingen (opvolgingen, respawnen en kopen) hebben alle regels die worden geactiveerd door een omroeper "Custom" in de C-kolom.
Je kunt verschillende regels voor dezelfde gebeurtenis specificeren, zoals in dit voorbeeld uit de Dr. Kleiner-omroeper:
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 |
In bovenstaande situatie zal het spel announcer_fort_rad_01, announcer_fort_rad_02, announcer_fort_rad_03 of announcer_fort_rad_04 kiezen om af te spelen wanneer het Radiant-team ("good") de Glyph of Fortification gebruikt. Overal waar meerdere rijen identieke criteria hebben, worden ze beschouwd als alternatieve regels voor dezelfde gebeurtenis.
In sommige gevallen bevat de kolom D van het werkblad meerdere criteria. Deze criteria bepalen samen de gebeurtenis waarop de regel reageert; de regel zal alleen afspelen als ze allemaal waar zijn. Bovendien zal het systeem kiezen welke regel het hoogste totale aantal criteria behaalt, wanneer zich gedeeltelijke overeenkomsten voordoen. In onderstaand voorbeeld speelt announcer_rax_fall_yr_top af wanneer aan alle van de volgende voorwaarden wordt voldaan: er is een toren vernietigd, het gebeurde op het bovenste pad en de "kill" was niet het resultaat van het afwijzen van de toren door een team.
announcer_twr_fall_yr_top | Your top tower has fallen. | Custom | IsTowerKilled IsTopLane IsNotDeny |
Sommige optionele criteria kunnen worden toegevoegd aan een D-kolom om verder te specificeren wanneer je wilt dat een regel wordt afgespeeld. Je kunt IsSpectator bijvoorbeeld gebruiken om een regel te definiëren die enkel wordt afgespeeld voor toeschouwers en niet voor spelers.
announcer_rax_attack_dire_bot | Dire's bottom barracks are under attack. | Custom | IsBarracksAttacked IsBadAttacked IsSpectator IsBotLane |
Sommige soorten gebeurtenissen zijn "opvolgingsregels" die optioneel worden afgespeeld nadat andere gebeurtenisregels zijn afgespeeld.
announcer_followup_generic_01 | Bet that hurt! | Followup_Generic | (nothing in column D) |
Let op dat de opvolgingssoort in de C-kolom wordt weergegeven. Opvolgers kunnen worden gebruikt als een generieke gebeurtenis die na elke soort gebeurtenis of alleen na specifieke gebeurtenissen kan afspelen. Omdat er in de D-kolom van deze opvolging niks staat, zal het worden toegevoegd aan de regels die worden gebruikt wanneer er een generieke opvolgingsregel nodig is. Op deze manier kun je regels mengen voor nog meer variatie, zoals bijvoorbeeld "De koerier van de Radiant is gedood... Die arme, weerloze koerier!" door het "koerier is dood"-gedeelte, waarbij de opvolgingsdelen apart worden opgenomen en gedefinieerd.
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% |
Merk op dat de gebeurtenis van de opvolgingsregel generiek is, maar toch dezelfde gebeurteniscriteria bevat als de eerdere regel. Dit geeft aan dat het specifiek voor die gebeurtenis is bedoeld. Dit betekent dat de regel van de gebeurtenis wordt geplaatst in de generieke groep met de andere opvolgers in het omroeperspakket. Deze specifieke clip zal echter enkel worden afgespeeld wanneer de koerier van de Radiant wordt gedood.
Daarnaast heeft het bovenstaande voorbeeld een Chance_25%-criterium. Elke keer dat er een regel wordt afgespeeld, wordt een willekeurig getal tussen de 1 en 100 gekozen. Er wordt aan het Chance-criterium voldaan wanneer het gekozen getal gelijk is aan de vastgestelde percentagekans of eronder ligt. Aangezien ons stemsysteem altijd een regel zal afspelen die overeenkomt met het hoogste aantal criteria, zal het uiteindelijke resultaat van bovenstaand voorbeeld zijn dat announcer_courier_followup_01 altijd zal afspelen, wanneer de koerier wordt gedood en het willekeurige getal dat wordt gekozen 25 of lager is. Door specifieke gebeurtenissen met Chance-criteria te combineren, kun je generieke opvolgingsregels mixen met gebeurtenisspecifieke opvolgingsregels.
Merk ook op dat dezelfde regel announcer_courier_followup_01 opgesteld is als opvolgzin voor zowel de gebeurtenis CourierLostGood ("Radiant") als CourierLostBad ("Dire"). Een enkele regel kan aan zo veel gebeurtenissen worden toegekend als je wilt. Indien je een regel aan elkaar uitsluitende gebeurtenissen wilt toekennen, dienen de activaties voor deze gebeurtenissen apart te worden gemaakt.
Als laatste verschijnen tijdsaanpassers en de links die gebeurtenisregels naar een opvolgingsregel lijden in de E-kolom. Om uit te breiden op de voorbeelden hierboven:
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 |
In deze uitgebreide voorbeelden hier worden drie soorten modificatoren in de E-kolom getoond:
respeakdelay 35 | Dit geeft aan dat deze specifieke regel, zodra die is afgespeeld, niet opnieuw kan worden afgespeeld voor een bepaalde tijdsperiode, in dit voorbeeld 35 seconden. |
speakonce | Dit geeft aan dat de regel, zodra die is afgespeeld, de rest van het spel niet meer zal worden afgespeeld. |
then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 9 | Dit is één handeling. Het geeft het soort opvolging aan om naar toe door te gaan (in dit geval "TLK_DOTA_FOLLOWUP_GENERIC"), met een getal aan het einde dat aangeeft hoeveel seconden er moet worden gewacht voordat de opvolging moet worden afgespeeld, in dit geval 9 seconden. |
Elk type gebeurtenis heeft een natuurlijke herhalingsvertraging, uniek voor die gebeurtenis, om te voorkomen dat de luisteraar overspoeld wordt met herhaalde informatie. Daardoor is het niet nodig om zelf een vertraging aan de meeste zinnen toe te voegen.
Andere opvolgingsconcepten bevatten TLK_DOTA_FOLLOWUP_POSITIVE (bedoeld om gebeurtenissen op te volgen die goed voor de luisteraar zijn afgelopen), TLK_DOTA_FOLLOWUP_NEGATIVE (bedoeld om gebeurtenissen op te volgen die slecht voor de luisteraar zijn afgelopen) en TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING (bedoeld om regels op te volgen die aangeven dat een gebeurtenis bezig is en dat de luisteraar op moet letten of gewaarschuwd moet zijn - bijvoorbeeld "Er komen onweerswolken aan").
Wanneer je klaar bent om je omroepersgebeurtenissen op te bouwen, bekijk je de Lijst met gebeurtenissen voor activatie, Voorbeeldwerkblad voor omroepers, Voorbeeldwerkblad voor megakills-omroepers voor meer informatie en voorbeelden. Je kunt ook kijken naar de Werkblad Bastion-omroeper en Werkblad Bastion-megakills-omroeper voor meer voorbeelden over hoe omroeperregels en -activaties kunnen worden gebruikt en gecombineerd.