Диктори Dota 2


Створення диктора Dota 2

Диктори Dota 2 працюють як база даних словесних реакцій на певні події: «ваша верхня вежа зруйнована», «казарми на нижній лінії зруйновані», «кур’єра вбито» тощо. Користувацькі диктори можна створити, якщо записати рядки для кожної з таких подій. Вони замінять стандартного диктора. Наразі найпростіший спосіб підготувати скрипт нового диктора для надсилання — це працювати з поданим нижче шаблоном скрипта з інструкціями, який містить усі рядки, необхідні для набору диктора, деякі додаткові розширені можливості, а також список настанов, які допоможуть вашому набору бути максимально успішним. Після запису скрипта ви можете скористатися зразком із таблицями нижче, аби пов’язати події із рядками. Табличний зразок показує приклади триґерів для подій, описаних у шаблоні скрипта з інструкціями, хоча для більш повного переліку триґерів вам доведеться звернутися до повного списку триґерів подій. Ми також додали анотовану версію таблиць, які використовувалися у наборі диктора «Bastion». Їх ви можете використовувати для подальшого вивчення або натхнення.

Ресурси:
Шаблон скрипта з інструкціями - Updated 07/16/2013
Список триґерів подій - Updated 07/18/2013
Зразок таблиці диктора - Updated 07/18/2013
Зразок таблиці диктора серії вбивств - Updated 07/18/2013
Таблиця диктора Bastion - Updated 07/18/2013
Таблиця диктора серії вбивств Bastion - Updated 07/18/2013


Творчі пропозиції

Напруга, унікальність, стислість і, понад усе, розмаїтість — це ключі до створення успішного диктора.

Кожен записаний вами рядок почують багато разів усі гравці, які активують подію. В одній грі гравець може почути чотирнадцять «вежа була зруйнована», три «Рошана вбито» і понад тридцять «ваша вежа/казарма атакована». Щоби диктор залишався цікавим після багатьох ігор, кожна подія повинна мати багато варіантів можливих рядків. Диктор Juggernaut має орієнтовно по три варіанти до кожного рядка, а диктор Dr. Kleiner має по п’ять у деяких категоріях. Ви можете також використовувати повторювальний механізм як спосіб створити розмаїття. Він дозволяє диктору змішувати та поєднувати базову подію («Ваша вежа на верхній лінії зруйнована») з набором різних повторюваних рядків («Ось це вже не дуже добре»). Диктори Bastion та Axe широко використовують цю функцію. Будь ласка, також пам’ятайте, що у нас існує обмеження для дикторів майстерні: не більше 600 рядків.

Досягніть успіху зі своєю роботою! Щоби виділитися, ваш диктор повинен справити сильне враження на слухача за допомогою лише кількох слів. Привнесіть багато напруги та індивідуальності до кожного рядку, аби ваш персонаж був унікальним. Також обов’язково слід записати одну «пряму» версію кожної важливої події голосом вашого персонажа. Наприклад, якщо ваш середньовічний диктор має рядок «Узріте! Верхня варовня вашсвітлості потерпа від навали невірних!», то ви також маєте записати базове «Ваша верхня вежа атакована» тим же голосом. Це допоможе вам уникати повторюваності унікальних рядків, бо вони будуть перемішуватися зі звичайними фразами, які звучатимуть рідше.

Будьте толерантними та позитивними! Dota 2 має дуже широку аудиторію і ми маємо бути певні, що кожен диктор привабить якомога більше користувачів. Коли ви пишете текст для вашого диктора, то використовуйте толерантний гумор, без сексистських і расистських елементів та образ віруючих. Також Dota 2 часто буває стресовою грою. Коли команда гравця програє бій за боєм, то останнє, що той бажає чути, це диктора, який насміхається з цього і сварить його за невміння. Старайтеся за можливістю, щоб коментарі вашого диктора були позитивними, або веселими, або хоча б підбадьорливими. Ми також застерігаємо вас від використання творів, захищених авторським правом, як пісні чи фільми, а також від згадувань реальних осіб.

Пам’ятайте, що Dota 2 може бути дуже хаотичною грою і події можуть відбуватися дуже стрімко. Старайтеся, щоб рядки вашого диктора були короткими, бо інтервал між падінням вежі та словами героя може скласти кілька секунд, а то й менше. Довгі рядки можуть відволікати гравців, які зосереджені на тому, аби зберегти життя свого героя. Довгі лінії також часто обриваються, коли відбувається подія, яка викликає інший рядок. Загальне правило — робити ваші рядки коротшими за три секунди і ні в якому разі не довшими за п’ять секунд.

Рядки для глядачів, які користувачі чують лише під час перегляду чужих матчів, можуть бути довшими і докладнішими, оскільки глядачі не так сильно сконцентровані на грі і не повинні конче чути критичну інформацію серед шуму. Будь-який рядок ви можете позначити як призначений для глядачів, і тоді глядачі і гравці чутимуть різні фрази для однієї події. У таблиці-зразку для однієї події гравці чують «ваша вежа атакована», а слухачі чують «вежа Сяйва атакована».

Інструкції до шаблону диктора — більше інформації та настанов.


Якість звуку і формат запису

Серед ваших головних пріоритетів має бути створення матеріалу професійної якості задля позитивного оцінювання. Правильне обладнання і місце для звукозапису, добра техніка запису та пауз, правильно налаштовані рівні звуку можуть критично вплинути на те, настільки добре буде прийнятий ваш набір диктора.

Використання звичайного мікрофона з навушників для запису набору диктора задля надсилання є неприйнятним.

Ми наполегливо рекомендуємо вам винайняти студію звукозапису, або знайти любителя, який має домашню студію. Професійний інженер або любитель-звукорежисер, здатний владнати труднощі із записом голосу, дасть вам можливість надіслати матеріал найвищої якості.

Вам слід записувати звук як моно у форматі повної роздільності (наприклад, WAV або AIF) зі щонайменше 16-бітною глибиною та частотою 44,1 кГц. Після запису вашого диктора, коли ви починаєте монтувати ваш матеріал, уважно прослухайте усе, чи немає там проривної гучності або якихось викривлень. Вам доведеться перезаписати ці рядки, або повністю їх вилучити. Будь ласка, лишайте чвертьсекундний звук зі зразку на початку і в кінці кожного фрагменту. Це необхідно для технічних потреб.

Якщо ваше подання буде прийнято, ми зв’яжемося із вами, щоб отримати оригінальні файли максимальної якості. Тож щоби зменшити розмір вашого первісного подання у майстерню, та щоби зробити легшим його використання, перед надсиланням ви можете стиснути ваш звук до формату .MP3 за допомогою такої програми як SoundForge, або за допомогою iTunes.

Запакуйте і надішліть нам ваш стиснений запис та таблицю триґерів подій як предмет майстерні через клієнт гри.


Редагування таблиць диктора

Після запису та монтажу ваших файлів, вам слід заповнити таблицю, аби вказати, який файл відповідає якій події. Цей наступний приклад вказує, що ви хочете відтворити «announcer_battle_begin_02» після «game start», тобто початку гри.

A B C D
announcer_battle_begin_02 The battle begins! Custom IsGameStart

ПРИМІТКА: із деякими виключеннями (повтори, відродження і купівля), усі рядки спрацьовують, якщо диктор має «Custom» у стовпчику C.

Ви можете визначити кілька рядків для однієї події, як ось цей зразок у диктора 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

У випадку вище, гра обере один рядок із between announcer_fort_rad_01, announcer_fort_rad_02, announcer_fort_rad_03 або announcer_fort_rad_04, щоби відтворити коли команда Сяйва скористається гліфом фортифікації. Коли різні рядки мають одну умову, вони вважають альтернативними рядками для однієї події.

У деяких випадках стовпчик D таблиці має кілька критеріїв. Разом вони визначають подію, на яку реагує рядок. Рядок буде відтворено, якщо усі умови буде виконано. У випадку, коли буде частковий збіг, система обере рядок, де співпаде найбільше умов. У прикладі нижче announcer_rax_fall_yr_top відтворюється, коли усі умови виконано: вежа зруйнована, вона на верхній лінії, і руйнування не було добиванням з боку союзників.

announcer_twr_fall_yr_top Your top tower has fallen. Custom IsTowerKilled IsTopLane IsNotDeny

Певні додаткові умови можуть бути додані до стовпчика D, аби точніше визначити, коли ви хочете відтворити рядок. Наприклад, ви можете використати IsSpectator, аби визначити рядок, який відтворюватиметься лише для глядачів.

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

Певні типи подій «повторюють» рядки, які не обов’язково відтворюються після того, як будуть відтворені інші рядки події.

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

Зверніть увагу, що повторювальний тип зазначається у стовпчику C. Повтори можуть викликатися загальною подією, тобто після будь-якої конкретної події, або ж бути прив’язаними до окремих подій. Оскільки у стовпчику D цього повтору нічого немає, то він буде доданий до набору рядків, які можуть викликатися після будь-якої події. Таким чином ви можете змішувати і поєднувати рядки зі ще більшою різноманітністю, наприклад «Кур’єра Сяйва вбито… Бідолашний беззахисний кур’єр!» створюється окремими записами для «courier killed» і для повторювальної частини.

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%

Зауважте, що повторюваний рядок є загальним типом, хоча може містити умову, як у попередньому рядку, котра вказує, що він призначається для певної події. Це означає, що рядок розміщуватиметься у загальному наборі повторень диктора, однак саме цей запис відтворюватиметься лише коли буде вбито кур’єра Сяйва.

Також верхній приклад повтору містить умову «Chance_25%». Кожного разу, коли відтворюється рядок, обирається випадкове число від 1 до 100. Умова шансу означає, що кількість виборів має дорівнювати або бути нижчою за зазначений відсоток. Оскільки система відтворює у першу чергу записи, у яких збігається найбільша кількість критеріїв, то у цьому випадку з вбивством кур’єра, якщо кількість випадкових відборів менша 25, то announcer_courier_followup_01 відтворюватиметься завжди. Комбінування певних подій із умовою шансу є одним зі способів поєднати загальні повтори із повторами подій.

Також зауважте, що один рядок диктора «announcer_courier_followup_01» використовується для двох подій: CourierLostGood (для Сяйва) та CourierLostBad (для Пітьми). Один рядок може використовуватися для стількох завгодно подій. Якщо ви бажаєте призначити рядок до кількох взаємовиключних подій, кожен із триґерів цих подій має бути використаний окремо.

Зрештою, модифікатори часу та посилання, які спрямовують рядки подій до повторюваного рядка, відображаються у стовпчику E. Якщо розширити верхні приклади:

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

У цих розширених прикладах є три типи модифікаторів у стовпчику E:

respeakdelay 35 Означає, що цей рядок після програвання вперше не може програватися протягом вказаного періоду часу, у цьому випадку протягом 35 секунд.
speakonce Означає, що рядок після програвання вперше не програватиметься більше до кінця матчу.
then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 9 Це один процес. Він позначає тип повтору, який пропонується далі (у цьому випадку «TLK_DOTA_FOLLOWUP_GENERIC»), а число наприкінці позначає скільки секунд потрібно зачекати, перш ніж відтворити повтор, тут — 9 секунд.

Кожен тип події має властиву затримку, унікальну для події, яка вберігає слухача від перенасичення повторюваною інформацією, тож включення часових модифікаторів не потрібне для більшості рядків.

Інші особливості повторюваних рядків включають «TLK_DOTA_FOLLOWUP_POSITIVE» (призначені для подій, які закінчилися добре для слухача), «TLK_DOTA_FOLLOWUP_NEGATIVE» (призначені для подій, які закінчилися погано для слухача) та «TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING» (призначені для подій, які відбуваються, і про які слід попередити слухача, наприклад «Збираються грозові хмари»).

Коли ви будете готові визначати події для вашого диктора, будь ласка, перегляньте Список триґерів подій, Зразок таблиці диктора, Зразок таблиці диктора серії вбивств для докладнішої інформації та прикладів. Вам також може знадобитися Таблиця диктора Bastion та Таблиця диктора серії вбивств Bastion , де подано більше прикладів того, як вживаються і комбінуються рядки диктора і триґери.