В оригинальном WoW у нас полностью разделены Альянс и Орда по языковому барьеру. Почему Blizzard так поступили, я понимаю, но мне всегда это казалось странным. Так как еще в Warcraft 3 у нас фракции спокойно общались друг с другом. А Тралл, так вообще, прожил среди людей немало лет. Разработчики заложили в игру возможность говорить на разных языках, но сделали это очень условно. Особенно абсурдно смотрелись всегда Отрекшиеся. По сути, люди, забывшие язык людей. Так это оставлять было нельзя.
Язык - как навык
Теперь все языки в игре являются навыками. Игроки, боты и все NPC получили знание того или иного языка. Логика простая. Кто с кем контактирует, те языки и учит. NPC орк, стоящий среди отрекшихся, будет понимать их речь лучше, чем орк, стоящий у рандомной башни в степях. Также уровень NPC влияет на то, какие языки знают, чем выше уровень, тем лучше владение.
С игроками ситуация иная. Со старта каждой расе доступен свой набор языков, причем теперь знание языка - это не просто флаг «знает/не знает», а это именно навык, который можно прокачивать. Даже если персонаж знает язык на 0, строка языка у него есть, а вот реального знания нет.
Работает это следующим образом: у каждой расы есть полное владение своим и/или дополнительным языком. Возьмем отрекшихся: они в совершенстве знают наречие нежити, а также язык людей, или, как он называется, «всеобщий». Нежить совершенно полностью понимает то, что говорят люди, а вот люди хуже, но понимают, что говорит нежить. Так как язык нежити является искаженным языком людей, полным воровского жаргона и прочих искажений из социальных низов. Из-за чего, скажем, таурены вообще не понимают язык нежити, а люди и дварфы вполне могут уловить суть сказанного. Так как и жаргон они знают, и язык людей тоже.
В ту же сторону орки и ночные эльфы, они соседствуют, у них многолетняя история противостояния. Так что они хоть и ломанно, но могут общаться.
Про это язык вполне можно прокачать, общение с представителями фракции, выполнение квестов и просто частое нахождение среди иноязычных прокачивает навык. Так что стать полиглотом и выучить все языки - вполне реальная, но сложная задача.
Как вас слышат, и как слышите вы
Это, наверное, самая большая часть переделки. Раньше сервер фактически отправлял одну и ту же строку всем. Так работать наша система не могла. Представим, что орк говорит на орочьем с уровнем знания 100. Человек знает орочий на 50. Он понимает примерно половину. Другой персонаж знает орочий на 10 - для него эта же фраза будет практически полностью тарабарщиной.
Поэтому теперь каждое сообщение собирается отдельно для каждого слушателя. Причём слушатель может слышать не просто «50% фразы понятно».
Система работает по словам и языкам.
Сначала определяется, на каком языке реально смог говорить сам персонаж, а затем уже каждый слушатель пытается разобрать получившуюся смесь.
Как это работает. Если хоть раз кто-то пытался говорить на языке, который плохо знает, он прекрасно понимает, чем заменяются слова, которые он не знает. Правильно, матом! Шутки в сторону, естественно, они заменяются родной речью. Give me a сосиску, please. =)
Так это и работает в новой системе. Отрекшийся знает орочий на 50%. Он пытается говорить с орком на орочьем. 50% слов он действительно знает и произносит на орочьем, а остальные 50% автоматически выходят на его родном языке - гнилоустом. Для самого Отрекшегося фраза полностью понятна, потому что он знает, что хотел сказать. А орк получает смесь из двух языков и уже со своей стороны понимает только то, что знает.
Если орк знает гнилоустый на 10%, то получается: 50% × 100% орочьего + 50% × 10% гнилоустого = примерно 55% понятого текста. А если он оба языка знает на 100%, то он также полностью поймет фразу. И это работает как в сторону игроков, так и в сторону NPC и ботов.
Не «процент понятности всей строки», а нормальная сумма понимания каждого фрагмента.
У Отрекшихся есть ещё одна проблема
У них сгнившее горло и челюсть, поэтому даже если Отрекшийся знает чужой язык, говорить на нём ему сложнее .Поэтому любое его обращение не на гнилоустом дополнительно теряет 15% речи, и эти слова снова превращаются в гнилоустый.
Это влияет только на речь.
Слушать Отрекшиеся могут нормально. Т.е. понимают они все, а вот при разговоре есть проблемы. Только тот кто хорошо знаком с нежитью, сможет понимать полностью, что она пытается сказать.
Как звучат языки, которых не знаеш
Здесь я специально пошёл по самому простому пути. Blizzard уже всё придумала за нас. В клиенте есть LanguageWords.dbc - 1663 слова, которыми WoW сам заменяет непонятную речь. Я просто использовал эти данные. Поэтому орк и эльф звучат по-разному, если общаться с ними, не зная языка.
Знание языка влияет на все каналы
Все каналы, квесты, сообщения NPC. Вся речь идет через один фильтр.
Как выглядел диалог с палачом с его стороны, а не со стороны игрока:
- Палач: Остановись, живой. У меня дело к тебе.слушаешь ли?
- Тестзвука: что ште сечало?
- Палач: Ты приостановился, живой? Мне нужно, чтобы ты убил десятерых воинов из Алого ордена. Докажи свою ценность Темной Госпоже.
- Тестзвука: Ти'ха, я бало авак понимаю
- Палач: Понимаешь, живой, я не на таурахе. Но если кратко: убей десятерых воинов из Алого ордена, докажи свою ценность Темной Госпоже.
- Тестзвука: Акитича, нитава анохе, ти'ха штеовачи, согласна
- Палач: Понятно, живой. Язык у тебя странный, но суть я уловил. Дело записано. Удачи в битве с Алым орденом.
В группе могут находиться таурен, орк и отрекшийся. И при общении каждый будет понимать только то, что знает. И если в группе окажется еще и человек или ночной эльф, то орк или отрекшиеся смогут стать переводчиками для тауренов, так как он неплохо знает орочий, но очень плохо всеобщий. С другой же стороны, отрекшийся и орк знают всеобщий на хорошем уровне. Понятно, что игроки могут сидеть через внешние системы и общаться там, но это не отменяет квестов.
Попытка прокачаться на локациях другой фракции может и будет осложнена, если не знать языка. И да, можно включить метки на карте и прочее. Но суть проекта как раз в том, чтобы добровольно отыгрывать роль. Так что эта система в первую очередь направлена на погружение.
NPC теперь выбирают язык по ситуации
Если рядом NPC разных рас, они используют общий язык компании, чтобы все могли понять разговор. Если разговаривают два представителя одной расы - используют свой язык. А если конкретного общего варианта нет, выбирается язык, который лучше всего понимает собеседник. При обращении к игроку та же схема. Если орк NPC обращается к игроку, он выбирает тот язык, который оба знают лучше всего, чтобы речь была максимально понятной.Игрок всё равно читает обычный русский текст.
Поэтому атмосферность создаёт сам факт того, на каком языке говорит персонаж, а не намеренно испорченные буквы.Тарабарщина нужна только там, где персонаж действительно чего-то не понял.
Что в итоге получилось
Раньше язык в WoW был по сути фильтром клиента:
Теперь это уже полноценная система. Персонаж может знать язык на 10, 50 или 100%. Говорящий может сам неправильно знать язык. Слушающий может понимать его по-разному. В одной фразе могут одновременно присутствовать два языка. NPC имеют собственный набор языков, в зависимости от расы, места обитания и уровня. Можно постепенно выучить язык просто слушая его. А один и тот же персонаж может говорить с разными людьми на разных языках.
Именно этого я и хотел добиться. Чтобы языки в Азероте были не декоративной механикой из окна навыков, а настоящим свойством мира.
Что в планах
По большому счету сделано всё, что хотел. Осталось дело за малым. Научить NPC обучать игрока своему языку. При личной просьбе персонаж сам будет решать, обучит он бесплатно, за услугу или за деньги. На это будет и отношение к игроку, и суть персонажа. Тот же гоблин не упустил случая подзаработать. А демон чернокнижника не сможет ослушаться своего хозяина или требовать что-то взамен. Но чтобы обучение не стало читом, один сеанс будет учить 3 пунктам знания языка. У людей 5-ти. Так как они, лорно, самые дипломатичные. Также язык будет поднимать специализация, скажем, демонологи тоже будут учить демонический быстрее, чем прочие. А после обучения через NPC будет вешаться дебаф на несколько часов. Мол, мозги кипят, слишком много выучил, нужно переварить. При этом естественным путем язык спокойно продолжит изучаться. Это даст возможность немного бустить прокачку, при этом языки будут естественным образом сами повышаться по мере выполнения заданий, торговли и т. д. И чем дольше будет жить персонаж, с чем большим количеством фракций будет взаимодействовать, тем больше языков будет знать.
P.S. У проекта есть телеграмм канал Venom's RP Azeroth и страница на бусти (все открыто без подписок). Присоединяйтесь, кому интересно следить за проектом.