Les annonceurs Dota 2 fonctionnent comme des bases de données de réponses à des évènements spécifiques : « Votre tour supérieure a été détruite », « Les bâtiments inférieurs de l'équipe ennemie ont été détruits », « Coursier assassiné », etc. Les annonceurs personnalisés peuvent être créés en enregistrant les textes de chacun de ces évènements et en remplaçant la voix de l'annonceur par défaut. Pour le moment, la manière la plus facile de préparer un script pour un nouvel annonceur est de travailler à partir du modèle de script instructif disponible ci-dessous. Celui-ci liste tous les textes requis pour chaque pack d'annonceurs, plusieurs opportunités permettant à votre pack de se démarquer, et une liste d'indications pour vous aider à la réussite de votre pack d'annonceurs. Une fois que vous aurez enregistré votre script, vous pourrez utiliser l'exemple de tableur ci-dessous pour construire une approximation de l'évènement se déclenchant pour chaque ligne de texte. Ce tableur affiche les déclencheurs d'exemple détaillés dans le modèle de script instructif. Nous vous conseillons également de consulter la liste « Déclencheurs d'évènements » pour plus d'informations et une liste plus complète. Nous vous proposons aussi une version annotée et plus légère des tableurs applicables utilisés avec le nouveau pack d'annonceurs Bastion.
Ressources :
Modèle de script instructif - Updated 07/16/2013
Liste des déclencheurs d'évènements - Updated 07/18/2013
Exemple de tableur d'annonceurs - Updated 07/18/2013
Exemple de tableur d'annonceurs (Killing Spree) - Updated 07/18/2013
Tableur d'annonceurs Bastion - Updated 07/18/2013
Tableur d'annonceurs Bastion (Killing Spree) - Updated 07/18/2013
De l'intensité, une personnalité, une brièveté et par dessus tout, la variété sont les clés de la création d'un annonceur réussi.
Chaque ligne de texte que vous enregistrez sera entendue plusieurs fois par chaque joueur déclenchant l'évènement associé à la ligne de texte. Durant une partie, un joueur entendra peut-être quinze évènements « Une tour a été détruite », trois évènements « Roshan a été tué », et plus de trente évènements « Votre [insérer un bâtiment ici] est attaqué ». Pour qu'un annonceur reste original et se « renouvelle », chaque évènement doit avoir une variété de lignes de texte différentes. L'annonceur Juggernaut possède environ trois variations pour chaque ligne, tandis que l'annonceur Dr. Kleiner en possède jusqu'à cinq pour certaines catégories. Si vous le souhaitez, vous pourrez aussi utiliser le mécanisme de suivi comme un moyen de créer de la variété en permettant à l'annonceur de combiner un évènement de base (« Votre tour supérieur a été détruite ») avec un ensemble différent de lignes suivant l'évènement (« Ça ne sent pas bon pour vous »). Les annonceurs Bastion et Axe se sont beaucoup relayés cette fonctionnalité. Veuillez tout de même prendre en compte qu'une limite de 600 lignes par annonceur Workshop est imposée.
Rendez votre annonceur impressionnant ! Pour se démarquer, votre annonceur doit faire une solide impression au joueur à l'aide d'une poignée de mots. Apporter de l'intensité et une personnalité lors de chaque ligne de texte permettra à votre annonceur de se démarquer de la masse et de devenir unique. Vous devrez également enregistrer une version courte de chaque évènement principal. Par exemple, si votre annonceur a une ligne de texte telle que « Garde à vous ! L'ennemi assiège votre tour supérieure ! », vous devrez de plus enregistrer une ligne de texte dite « basique » comportant la même voix, telle que « Votre tour supérieure est attaquée ! ». Cela empêchera vos lignes de texte « exagérées » de devenir répétitives puisqu'elles pourront être combinées à des lignes de texte simples.
Attention aux grossièretés et à tout autre contenu pouvant être choquant ! Dota 2 touche une large audience et nous voulons nous assurer que chaque annonceur puisse plaire au plus grand nombre de joueurs possible. Lors de l'écriture du script de votre annonceur, veuillez vous arrêter à un stade d'humour acceptable : évitez les blagues sexistes, racistes ou religieuses. De plus, Dota 2 peut parfois être un jeu très stressant. Lorsque le joueur d'une équipe commence à perdre de manière répétitive, la dernière chose qu'il souhaiterait entendre serait un annonceur l'insultant et se moquant de lui ou du statut de la partie. Lorsque c'est approprié, faites que les commentaires de votre annonceur soient positifs ou encourageants. Nous vous recommandons également de ne pas faire référence à tout travail sous copyright tels que des références à des chansons, films, ou des citations de gens réels.
Souvenez-vous que Dota 2 peut être un jeu chaotique et que des évènements peuvent se produire très rapidement. Essayez de garder les lignes de votre annonceur courtes puisque l'intervalle entre la chute d'une tour et le dialogue d'un héros peut être de quelques secondes seulement, ou moins. Les lignes longues peuvent distraire les joueurs essayant de se concentrer sur la vie de leur héros. Les lignes plus longues deviennent de même répétitives plus rapidement, puisqu'elles auront une plus grande chance d'être coupées par le déclenchement d'un autre évènement. Il est généralement conseillé d'enregistrer des lignes de texte de moins de 3 secondes, et pas plus longues que 5 secondes.
Les lignes destinées aux spectateurs, jouées lorsque les utilisateurs regardant une partie ont votre annonceur, pourront être plus longues et disposer de plus de contenu puisque les spectateurs n'auront pas besoin d'être concentrés pour entendre des informations critiques à la partie. Il est recommandé d'enregistrer des lignes de texte destinées exclusivement aux spectateurs pour que les spectateurs et joueurs puissent entendre des dialogues différents pour les mêmes évènements. Dans le tableur d'exemple, les joueurs entendront « Votre tour est attaquée » tandis que les spectateurs entendront « La tour du Radiant est attaquée » pour le même évènement.
Consultez les instructions de modèle d'annonceurs pour plus d'informations.
Une de vos plus grandes priorités devrait être de créer du matériel de qualité professionnelle. Du matériel et équipement d'enregistrement de qualité, un bon microphone et une bonne qualité audio peuvent impacter drastiquement la qualité de votre pack d'annonceurs et pourrait lui donner un grand avantage.
Veuillez ne pas utiliser de micro-casque lors de l'enregistrement des voix de votre annonceur : votre soumission sera refusée.
Nous vous recommandons fortement de faire enregistrer les voix de votre annonceur dans un studio d'enregistrement ou de coopérer avec un(e) ingénieur(e) son qui pourra vous aider et vous conseiller quant à l'enregistrement ainsi qu'au matériel à utiliser.
Nous vous recommandons de même d'enregistrer votre audio en mono à haute résolution (WAV ou AIF) avec une profondeur minimale de 16 bits et une fréquence d'échantillonnage de 44.1 kHz. Une fois que les voix de votre annonceur auront été enregistrées et que vous commencerez à les modifier, écoutez attentivement et faites attention à toute consonne plosive ou saturation (clipping) que vous auriez pu oublier. Vous devrez alors réenregistrer les passages pâtissant de ce problème ou les supprimer entièrement. Veuillez laisser un quart de seconde (0,25) de son d'ambiance de l'enregistrement initial aux fins de chaque extrait : cela est nécessaire à des fins techniques.
Si votre soumission est acceptée, nous vous contacterons pour récupérer les fichiers à haute résolution originaux. Cependant, pour réduire la taille de votre soumission Workshop initiale et de faciliter les transferts de vos travaux, il est conseillé de compresser votre audio au format .MP3 à l'aide d'un programme tel que SoundForge ou iTunes avant l'envoi.
Envoyez-nous ensuite vos fichiers audio compressées et votre tableur contenant les déclencheurs d'évènements comme un article Workshop via le client en jeu.
Après l'enregistrement et la conversion de vos fichiers, vous devrez remplir un tableur pour savoir quels fichiers correspondent à quels évènements. Par exemple, le tableur suivant indique que vous souhaiteriez que le son « announcer_battle_begin_02 » se déclenche après le son des cornes de brume lors du démarrage de la partie.
A | B | C | D |
announcer_battle_begin_02 | The battle begins! | Custom | IsGameStart |
REMARQUE : sauf de rares exceptions (son « de suivi », réapparition et achat), toutes les lignes de texte déclenchées par un annonceur ont la mention « Custom » dans la colonne C.
Vous pouvez spécifier plusieurs lignes de texte pour le même évènement. Voici un exemple avec l'annonceur 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 |
Dans le cas ci-dessus, le jeu choisira l'une des quatre lignes de texte qui se jouera lorsque l'équipe Radiant aura utilisé l'objet « Glyph of Fortification » (announcer_fort_rad_01, announcer_fort_rad_02, announcer_fort_rad_03 ou announcer_fort_rad_04). Lorsque plusieurs lignes possèdent les mêmes critères, elles sont considérées comme des lignes alternatives pour le même évènement.
Dans certains cas, la colonne D du tableur possède de multiples critères. Ces critères définissent ensemble l'évènement à laquelle la ligne de texte répond. Dans cet exemple, la ligne de texte ne se jouera que si les trois conditions sont réunies (IsTowerKilled = la tour est tombée, IsTopLane = la tour fait partie de la top lane (on parle alors de tour supérieure) et IsNotDeny = la tour n'est pas deny). Enfin, lorsqu'il y a de courtes parties, le système choisira quelle ligne correspond au plus grand nombre total de critères.
announcer_twr_fall_yr_top | Your top tower has fallen. | Custom | IsTowerKilled IsTopLane IsNotDeny |
Certains critères facultatifs peuvent être ajoutés à la colonne D pour une meilleure précision de la ligne à jouer. Par exemple, vous pouvez utiliser IsSpectator pour définir une ligne qui ne se jouera qu'aux spectateurs et non aux joueurs.
announcer_rax_attack_dire_bot | Dire's bottom barracks are under attack. | Custom | IsBarracksAttacked IsBadAttacked IsSpectator IsBotLane |
D'autres types d'évènements existent, tels que les évènements « de suivi ». Celles-ci sont facultatives et se jouent après que d'autres lignes d'évènements aient été jouées.
announcer_followup_generic_01 | Bet that hurt! | Followup_Generic | (nothing in column D) |
Veuillez noter que les lignes dites de suivi doivent être indiquées dans la colonne C. Celles-ci peuvent être considérées comme des évènements génériques : elles seront alors jouées après toute sorte d'évènement ou pour des évènements spécifiques. Vu qu'il n'y a rien dans la colonne D de cette ligne de suivi, elle sera ajoutée à la liste des lignes, qui seront alors jouées lorsque les évènements assignés se produiront. De ce fait, vous pourrez combiner des lignes pour apporter encore plus de variété aux textes d'annonceurs. Par exemple, vous pourriez ajouter « Ce pauvre coursier sans défense ! » à la ligne « Le coursier du Radiant a été tué », ce qui donnerait donc, après avoir enregistré et défini la ligne « Coursier tué » et les lignes de suivi séparément (voir le tableau ci-dessous) : « Le coursier du Radiant a été tué... Ce pauvre coursier sans défense ! ».
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% |
Vous remarquerez que l'évènement de la ligne de suivi est générique et contient ainsi les mêmes critères d'évènement que les lignes précédentes. Cela signifie que la ligne d'évènement sera placée dans la liste générique avec les autres lignes de suivi. Cependant, cette ligne en particulier ne sera jouée que lorsque le coursier Radiant aura été tué.
De plus, l'exemple de suivi situé ci-dessus a le critère « Chance_25% ». À chaque fois qu'une ligne se joue, un nombre aléatoire entre 1 et 100 est choisi. Ainsi, le critère Chance sera rempli si le nombre obtenu est égal ou inférieur au pourcentage indiqué. Vu que notre système de voix jouera toujours n'importe quelle ligne correspondant au plus grand nombre de critères, prenons un exemple avec la dernière ligne de texte du tableau ci-dessus : si un coursier est tué et que le nombre obtenu est 25 ou un nombre inférieur, alors announcer_courier_followup_01 sera toujours joué. Combiner des évènements spécifiques grâce au critère Chance fait partie de l'un des nombreux moyens d'éviter la répétitivité et d'apporter du renouveau à votre pack d'annonceurs.
Veuillez noter que la ligne de texte « announcer_courier_followup_01 » est considérée comme une ligne de suivi pour les deux évènements CourierLostGood (Équipe du Radiant) et CourierLostBad (Équipe du Dire). Une seule ligne peut être utilisée pour autant d'évènements que vous souhaitez. Si vous souhaitez assigner réciproquement une ligne à plusieurs évènements exclusifs, chacun de ces déclencheurs d'évènements auront besoin d'être définis séparément.
Enfin, les modificateurs de timing et les liens (strings) transformant les lignes d'évènement en ligne de suivi se situent dans la colonne E. Voici un exemple de tableau :
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 |
Dans ces exemples vous pouvez trouver trois types de modificateurs visibles dans la colonne E :
respeakdelay 35 | Cela signifie qu'une fois que cette ligne de texte aura été jouée, elle ne sera pas jouée de nouveau durant la période définie (dans ce cas, 35 secondes). |
speakonce | Cela signifie qu'une fois que cette ligne de texte aura été jouée, elle ne sera pas jouée de nouveau pendant le reste du match. |
then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 9 | Ceci est une opération indiquant le type de ligne de suivi qui sera jouée ensuite (dans ce cas, « TLK_DOTA_FOLLOWUP_GENERIC »). Le nombre à la fin indique le nombre de secondes à attendre avant que la ligne de suivi soit jouée (dans ce cas, 9 secondes). |
Chaque type d'évènement a un délai de répétition unique. Ainsi, le joueur ou spectateur n'entendra pas continuellement des informations répétées pour lui permettre de se concentrer : il n'est donc pas nécessaire d'inclure un modificateur de timing pour la plupart des lignes de texte.
Voici quelques autres liens (strings) de suivi : TLK_DOTA_FOLLOWUP_POSITIVE (pour entendre les évènements étant positifs pour le joueur), TLK_DOTA_FOLLOWUP_NEGATIVE (pour entendre les évènements étant négatifs pour le joueur) et TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING (pour entendre les lignes de texte indiquant qu'un évènement est en cours et que le joueur en devrait être informé. Par exemple : « Storm clouds are gathering! »).
Lorsque vous serez prêt à réaliser vos évènements d'annonceur, veuillez consulter les articles suivants : Liste des déclencheurs d'évènements, Exemple de tableur d'annonceurs, Exemple de tableur d'annonceurs (Killing Spree) . Si vous le souhaitez, consultez de même ces deux tableurs : Tableur d'annonceurs Bastion et Tableur d'annonceurs Bastion (Killing Spree) pour plus d'exemples sur l'utilisation et la combinaison de lignes d'annonceurs et de déclencheurs.