Gli annunciatori di Dota 2 funzionano come un database di frasi di risposta ad eventi specifici : "la tua torre superiore è stata distrutta", "le caserme inferiori del nemico sono state distrutte", "il corriere è stato ucciso" e così via. È possibile creare degli annunciatori personalizzati e registrare delle frasi per ognuno di questi eventi, sostituendo la voce predefinita dell'annunciatore con un'altra creata da te. Attualmente, il modo più facile per iniziare un nuovo progetto e preparare un copione di un annunciatore è lavorare a partire dalla Guida sulla creazione degli annunciatori riportata di seguito, la quale elenca tutte le frasi richieste per ogni pacchetto dell'annunciatore, diverse opportunità opzionali per consentire al tuo pacchetto di distinguersi dagli altri, ed una lista di linee guida per aiutarti a creare un annunciatore che riscontri un esito positivo. Una volta che hai registrato le frasi del tuo annunciatore, puoi usare il foglio esemplificativo riportato di seguito per indicare a grandi linee quali saranno gli attivatori di eventi per ogni frase. I fogli esemplificativi mostrano degli esempi di attivatori per gli eventi descritti nella Guida sulla creazione degli annunciatori, ma per una lista ancora più dettagliata, consulta la lista degli attivatori di eventi. In aggiunta, ti offriamo una versione con alcune annotazioni del foglio utilizzato per il rilascio del pacchetto dell'annunciatore di Bastion, in modo da poterlo studiare e trarne ispirazione.
Risorse:
Guida alla creazione degli annunciatori - Updated 07/16/2013
Lista degli attivatori di eventi - Updated 07/18/2013
Esempio di foglio per l'annunciatore - Updated 07/18/2013
Esempio di foglio per l'annunciatore di serie di uccisioni - Updated 07/18/2013
Foglio per l'annunciatore (Bastion) - Updated 07/18/2013
Foglio per l'annunciatore di serie di uccisioni (Bastion) - Updated 07/18/2013
Intensità, personalità, brevità, e soprattutto varietà, sono molto importanti per la creazione di un annunciatore di successo.
Ogni registrazione del tuo annunciatore verrà ascoltata molte volte dai giocatori che attivano un determinato evento. In una singola partita, i giocatori potrebbero sentire la frase "la torre è stata distrutta" per ben quindici volte, tre volte la frase "Roshan è stato ucciso" e più di trenta volte "[edificio] è sotto attacco". Per fare in modo che un annunciatore non diventi ripetitivo dopo poche partite, è bene che ad ogni evento sia associata una grande varietà di registrazioni. L'annunciatore di Juggernaut dispone di circa tre variazioni per ogni frase, mentre l'annunciatore di Dr. Kleiner ne ha almeno cinque in certe categorie. Potresti anche voler utilizzare un meccanismo di sequenza per creare una maggiore varietà e permettere all'annunciatore di combinare un evento base ("la tua torre superiore è stata distrutta") con un'ampia scelta di frasi pertinenti con quell'evento ("sembra che le cose si stiano mettendo male"). Gli annunciatori di Bastion e Axe sono due perfetti esempi dell'utilizzo di questo meccanismo di sequenza. Ti ricordiamo anche che gli annunciatori del Workshop hanno un limite di 600 registrazioni.
Mostraci quello che sai fare! Per distinguersi dal gruppo, il tuo annunciatore deve riuscire ad intrattenere l'ascoltatore con l'ausilio di poche e semplici parole. Aggiungere intensità e personalità ad ogni frase di dialogo renderà unico il tuo personaggio. Inoltre, è necessario registrare almeno una versione "pulita" di ogni evento principale nella voce del tuo personaggio. Per esempio, se il tuo annunciatore medievale ha una frase del tipo "Attenzione, Sua Maestà! Le truppe del regno vicino stanno assediando la nostra torre!", è anche necessario registrare la classica frase "La tua torre superiore è sotto attacco!" con la stessa voce. Ciò impedirà alle frasi più stravaganti di diventare ripetitive, considerando anche che possono essere mischiate con le frasi più dirette ad una frequenza minore.
Chiarezza e positività! Considerando che Dota 2 vanta un pubblico vastissimo, vogliamo assicurarci che ogni annunciatore possa piacere al maggior numero di persone possibile. Quando scrivi le frasi per il tuo annunciatore, cerca sempre di utilizzare un umorismo relativamente pulito, evitando dialoghi sessisti, razzisti o religiosi. Bisogna considerare anche che Dota 2 può spesso risultare un gioco molto stressante. Quando la squadra di un giocare inizia a perdere più e più volte, l'ultima cosa che vogliono sentire è un annunciatore che li insulta o deride il loro modo di giocare. Dove appropriato, cerca di mantenere le frasi del tuo annunciatore positive, divertenti, o quantomeno incoraggianti. Inoltre, ti sconsigliamo di inserire riferimenti ad opere protette da copyright, come film o canzoni, o di inserire commenti riguardanti persone reali.
Ricorda: Dota 2 può essere un gioco frenetico in cui le azioni si susseguono velocemente. L'annunciatore deve usare frasi brevi, poiché l'intervallo tra la caduta di una torre e la battuta di un eroe può durare solo una manciata di secondi. Le frasi troppo lunghe possono distrarre i giocatori concentrati a cercare di tenere in vita il proprio Eroe. Inoltre, queste frasi possono diventare ripetitive ed è molto probabile che vengano interrotte dalla registrazione di un altro annunciatore. La regola generale da seguire è quella di far durare le frasi meno di tre secondi e di non farle durare in nessun caso oltre i cinque secondi.
Le frasi che vengono riprodotte solamente per gli spettatori di una partita che hanno equipaggiato il tuo annunciatore hanno un maggior margine di lunghezza e contenuto, in quanto gli spettatori non si devono concentrare per ascoltare informazioni importanti relative alla partita come nel caso dei giocatori. Ogni frase può essere contrassegnata come esclusiva per gli spettatori, in modo tale che spettatori e giocatori sentano dialoghi completamente diversi per uno stesso evento. Nel foglio esemplificativo, i giocatori sentono "la tua torre è sotto attacco", mentre gli spettatori sentono "la torre dei Radiant è sotto attacco".
La guida alla creazione degli annunciatori contiene ulteriori informazioni e consigli.
Una delle tue priorità principali dovrebbe essere quella di creare del materiale di qualità professionale per il tuo progetto. Fattori come una buona qualità dei dispositivi di registrazione, un uso consapevole del microfono e della sua posizione, ed una corretta gestione dei livelli acustici sono estremamente importanti per far sì che il tuo pacchetto dell'annunciatore riscontri un esito finale positivo.
Non è permesso usare il microfono delle cuffie per registrare un pacchetto degli annunciatori per il Workshop.
Ti consigliamo vivamente di stipulare un contratto con uno studio di registrazione, oppure di trovare un professionista del suono che abbia uno studio personale a disposizione. Un ingegnere o un esperto di suoni in grado di soffermarsi anche sui più piccoli dettagli durante la registrazione di una voce ti aiuterà sicuramente a creare del materiale di altissima qualità.
Dovresti registrare il tuo audio originale in mono, utilizzando un formato ad alta risoluzione (ad esempio WAV o AIFF) con profondità minima di 16 bit e una frequenza di campionamento minima di 44.1 kHz. Quando avrai registrato il tuo annunciatore e iniziato la fase di editing del materiale, ascolta attentamente la registrazione in cerca di clipping e distorsioni che potresti non aver notato, eventualmente registrando una seconda volta le parti interessate o rimuovendole del tutto. Per motivi tecnici, ti chiediamo di includere un quarto di secondo (0,25 s) di suono ambientale all'inizio e alla fine di ogni registrazione.
Se il tuo file audio viene accettato, ti verrà chiesto di fornire i file originali in alta risoluzione. Tuttavia, per ridurre le dimensioni del file iniziale e facilitarne spostamenti e modifiche, ti conviene comprimere il tuo file audio nel formato .MP3 usando un programma come SoundForge o iTunes prima di caricarlo.
Comprimi ed inviaci il tuo file audio e il tuo foglio di lavoro riguardante gli attivatori come prodotto del Workshop tramite il client di gioco.
Dopo aver registrato e prodotto i tuoi file, dovresti compilare un foglio di lavoro per specificare le correlazioni tra file ed eventi. Ad esempio, il caso seguente indica che vorresti riprodurre "announcer_battle_begin_02" dopo il suono del corno di "inizio della partita".
A | B | C | D |
announcer_battle_begin_02 | The battle begins! | Custom | IsGameStart |
NOTA: a parte rare eccezioni (sequenze, rinascita e acquisto), tutte le frasi pronunciate da un annunciatore riportano "Custom" nella colonna C.
È possibile specificare più di una registrazione per lo stesso evento, come nel caso di questo esempio dall'annunciatore di Dr. Kleiner:
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 |
Nel caso sopra indicato, il gioco sceglierà una registrazione tra quelle disponibili (announcer_fort_rad_01, announcer_fort_rad_02, announcer_fort_rad_03 o announcer_fort_rad_04) da riprodurre quando la squadra dei Radiant ("good") utilizza il Glifo della fortificazione. Le registrazioni che possiedono gli stessi criteri verranno considerate come registrazioni alternative per lo stesso evento.
In alcuni casi, la colonna D del foglio ha criteri multipli. Insieme, questi criteri definiscono l'evento a cui la frase si riferisce; la frase verrà pronunciata se tutti i criteri vengono soddisfatti. Inoltre, in caso di corrispondenze parziali, il sistema sceglierà la frase che soddisfa un numero maggiore di criteri. L'esempio sottostante announcer_twr_fall_yr_top viene riprodotto quando tutti i seguenti criteri vengono soddisfatti: una torre nella corsia superiore è stata distrutta e l'"uccisione" non è stata "negata" dalla squadra alleata.
announcer_twr_fall_yr_top | Your top tower has fallen. | Custom | IsTowerKilled IsTopLane IsNotDeny |
Alcuni criteri opzionali possono essere aggiunti nella colonna D per specificare ulteriormente quando vuoi che una frase sia pronunciata. Per esempio, puoi usare IsSpectator per indicare se una frase deve essere sentita esclusivamente dagli spettatori e non dai giocatori.
announcer_rax_attack_dire_bot | Dire's bottom barracks are under attack. | Custom | IsBarracksAttacked IsBadAttacked IsSpectator IsBotLane |
Alcuni tipi di evento corrispondono a delle frasi "in sequenza" che vengono pronunciate occasionalmente subito dopo la riproduzione di altre frasi.
announcer_followup_generic_01 | Bet that hurt! | Followup_Generic | (nothing in column D) |
Ricorda che il tipo di sequenza è indicato nella colonna C. Le sequenze possono essere costruite come un evento generico che si verifica dopo un qualsiasi tipo di evento o dopo un evento specifico. Considerato che non è indicato niente nella colonna D, la sequenza sarà aggiunta al gruppo di frasi che verranno successivamente riprodotte quando ci sarà bisogno di una generica frase in sequenza. Questo ti permette di mischiare e abbinare le frasi a tua disposizione per una varietà ancora maggiore, come nel seguente esempio: "Il corriere dei Radiant è stato ucciso... Quel povero corriere indifeso!". Ciò è reso possibile registrando e definendo separatamente la frase "il corriere è stato ucciso" e le frasi in sequenza.
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% |
Nota che l'evento della frase in sequenza è generico, ma contiene gli stessi criteri dell'evento della frase precedente, ad indicare che si tratta di una frase specifica per quell'evento. Ciò significa che l'evento della frase verrà inserito in un gruppo generico con le altre sequenze del pacchetto dell'annunciatore, anche se questa specifica registrazione verrà riprodotta soltanto alla morte del corriere dei Radiant.
Inoltre, la sequenza riportata di sopra presenta il criterio "Chance_25%". Ogni volta che una frase viene riprodotta, il sistema sceglierà un numero da 1 a 100. Il criterio viene soddisfatto qualora il numero scelto sia uguale o inferiore alla percentuale indicata. Considerando che il nostro sistema vocale riprodurrà sempre una qualsiasi frase che corrisponde al numero più alto del criterio, il risultato finale dell'esempio sopra citato è il seguente: se un corriere viene ucciso e il numero casuale scelto è uguale o inferiore a 25, announcer_courier_followup_01 verrà sempre riprodotta. Combinare eventi specifici con il criterio "Chance" è un modo per mischiare frasi in sequenza generiche con frasi in sequenza per degli eventi specifici.
Nota anche che la stessa frase announcer_courier_followup_01 è indicata come frase in sequenza sia per l'evento CourierLostGood ("Radiant") e per l'evento CourierLostBad ("Dire"). Una singola frase può essere usata per un numero indefinito di eventi specifici. Se vuoi assegnare reciprocamente una frase a diversi eventi esclusivi, ciascun attivatore di quegli eventi dovrà essere costruito separatamente.
Come ultima cosa, i modificatori di tempo e i collegamenti che influenzano le frasi degli eventi e le frasi in sequenza vengono mostrati nella colonna E. Per espandere gli esempi precedenti:
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 questi esempi dettagliati vengono mostrati tre tipi di modificatori nella colonna E:
respeakdelay 35 | Questo indica che, dopo essere stata pronunciata la prima volta, una specifica frase non potrà più essere riprodotta per un determinato periodo di tempo, in questo caso 35 secondi. |
speakonce | Questo indica che, dopo essere stata pronunciata la prima volta, la frase non potrà più essere riprodotta per il resto della partita. |
then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 9 | Questa è un'operazione che esprime il tipo di sequenza da utilizzare (in questo caso "TLK_DOTA_FOLLOWUP_GENERIC"), con il numero alla fine che indica quanti secondi aspettare prima di riprodurre la sequenza (in questo caso 9 secondi). |
Ogni tipo di evento ha uno specifico ritardo predefinito di ripetizione per impedire che l'ascoltatore venga continuamente riempito di informazioni, quindi non è necessario includere un modificatore di tempo nella maggior parte delle frasi.
Altri esempi del concetto di sequenza comprendono TLK_DOTA_FOLLOWUP_POSITIVE (pensato per seguire gli eventi che hanno avuto un esito positivo per l'ascoltatore), TLK_DOTA_FOLLOWUP_NEGATIVE (pensato per seguire gli eventi che hanno avuto un esito negativo per l'ascoltatore) e TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING (pensato per seguire le frasi che indicano un evento in progresso sul quale l'ascoltatore dovrebbe essere avvisato, come ad esempio "Il temporale si sta avvicinando").
Quando sei pronto a costruire gli eventi del tuo annunciatore, guarda Lista degli attivatori di eventi, Esempio di foglio per l'annunciatore, Esempio di foglio per l'annunciatore di serie di uccisioni per maggiori informazioni ed esempi. Potrebbe anche interessarti Foglio per l'annunciatore (Bastion) e Foglio per l'annunciatore di serie di uccisioni (Bastion) per altri esempi su come gli attivatori e le frasi dell'annunciatore possono essere usati e combinati.