В Baldur’s Gate 3 очень много слов, и даже “много слов” – это сильно преуменьшено. В сообщении, опубликованном в Steam перед выходом игры, было сказано, что общий сценарий игры насчитывает около 2 миллионов слов. Для сравнения, все пять книг из текущей серии “Игры престолов” составляют около 1,7 миллиона слов. Большая. Это большая игра.
Поэтому я был чертовски впечатлен, когда обнаружил на сабреддите игры этот инструмент, способный показать, у какого персонажа было больше всего изменений в диалоге с момента запуска. Это Уилл, что интересно, но не является большим сюрпризом, так как его история больше всего выиграет от дополнительной болтовни (впрочем, он нам все равно нравится). Тем не менее мне захотелось узнать, как создается нечто подобное, и я обратился к создателю инструмента.
На Reddit, GitHub, форумах Larian и в Discord они выступают под ником Invuska и считают, что инструмент различия диалогов в патче BG3 появился благодаря совместным усилиям других моддеров сообщества. “Экстрактор (автор Norbyte), мультиинструмент (ShinyHobo), парсер диалогов (roksik-dnd и анонимный соавтор), инструмент для различения диалогов (я) – вся предыдущая работа сделала разработку этого инструмента (и многих других) управляемой”.
Хотя Invuska упоминает, что без совместных усилий эта вещь могла бы быть легко “вдвое больше”, у них также есть несколько комплиментов для самой Larian Studios. “Каждая строка содержала “коды персонажей”, указывающие, какая строка связана с каким персонажем, и была структурирована таким образом, что я мог довольно легко ее разобрать… Специалист по изучению данных не любит ничего больше, чем уже очень хорошо структурированные и чистые данные для работы”.
Что касается их личных наблюдений, то Invuska только что закончила свою первую игру, что означает, что они не слишком глубоко погружались в сценарий, не ограничиваясь широким обзором, основанным на цифрах. Вместо этого они в очередной раз поразились тому, насколько масштабной является игра Baldur’s Gate 3.
“В игре примерно [более] 1 888 персонажей с диалогами, даже больше, учитывая, что некоторые диалоги могут быть неправильно приписаны и что в это число не входят общие диалоги (например, общая группа гоблинов). Я точно не разговаривал с 1 888 персонажами”.
Они также имеют довольно хорошее представление о том, сколько в игре строк, которые могут быть многозначными. “Согласно внутреннему коду инструмента, [в патче 5] 114 921 строка”, по сравнению с “110 869 в день запуска”. Хотя инструмент показывает тонну исправлений опечаток, как упоминает Инвуска: “По инструменту разницы легко понять, что в скрипте много опечаток, но обратите внимание, что в игре вы их даже не видите! Это говорит о том, насколько масштабной является эта игра”.
Что касается того, почему Invuska собрала все это вместе, то причина одна: справедливость для нашей большой леди. “Справедливость к Карлах была основной причиной создания инструмента, а более примитивный код был создан где-то в сентябре после патча 2… Многие из нас на Reddit, Discord и в теме Карлах на Larian Forums очень хотели, чтобы Infernal Engine исправил что-то вроде того, что не требовало бы ее превращения в Истребитель разума или возвращения в Ад”.
Это значит, что вначале инструмент был нацелен на одного конкретного персонажа, а затем распространился на весь актерский состав: “Я начал работать над более простыми версиями инструмента, чтобы удовлетворить свое любопытство/предвкушение. Несколько человек, похоже, разделяли то же любопытство и были заинтересованы в его разработке. Видя, что этот инструмент может быть полезен не только для Карлаха, я расширил свою небольшую коллекцию скриптов до более “готовой для всех” версии, которую вы видите сегодня”.
Я живу ради этого материала. Хотя некоторые могут относиться к добыче данных свысока, очевидно, что у статистических мастеров много общего с сообществами спидраннеров. Ни тот, ни другой не пытаются “сломать” игру – вместо этого они находят все скрытые секреты между строчками кода.
Это выражение любви, вроде того, как вы можете изнашивать любимую технику. Что касается самого инструмента, Инвуска с радостью делится. “[Я] планирую создать больше модов и инструментов в будущем, так что следите за новостями”. Кроме того, инструмент имеет открытый исходный код на лицензии MIT для всех, кто заинтересован в форке, расширении и т.д. Развлекайтесь”.