В прошлый раз мы рассказали о локализации игр вообще, теперь рассмотрим
|
|
И грянул гром
Все звуки игры хранятся в WAV и MP3 форматах. Берем микрофон в руки, подносим его ко рту и нажимаем на кнопку "Запись". Если вы твердо задались идеей нормально локализовать игру, то вам просто необходимо, чтобы текст, который вы проговорите в микрофон, совпадал с субтитрами. Субтитры находятся в файле Pak0.pk3\Ubersound\Uberdialog.scr. Весь файл разбит на несколько блоков, разделяемых так:
//====================
// Заголовок блока
//====================
Заголовки блоков соответствуют одноименным моментам игры. Например, первым идет блок с названием Mission Briefings, из названия следует, что далее идет описание звуковых файлов для брифингов перед миссиями. Так как это скриптовый файл, то менять все в нем не следует, мы заменим только текст, который находится в двойных кавычках после слова subtitle, которое обычно находится в конце строки. До него идет имя звукового файла, содержащего этот текст. Надо поменять текст субтитров во всех блоках! Примерно так: alias dfr_M1L2_115m_1 sound/dialogue/M1L2/A/dfr_m1l2_115z4.wav soundparms 1.2 0.0 1.0 0.0 160 1200 dialog streamed subtitle "СКОРЕЕ ВСЕГО, ОНИ В ШТАБЕ." maps "m dm obj"
Внешний осмотр
Как только вы заходите в любую игру, перед вами предстает меню. Ни одна игра не может считаться локализованной, если в ней не переведено меню. Заходим в каталог Pak1.pk3\Mohmenu, там лежат все текстуры меню, а в подкаталогах — бумажки с заданиями на миссии, их содержание тоже желательно бы перевести. В архивах присутствуют части пустых бланков, чтобы не зарисовывать английский текст. Покончив с меню и брифингами, смотрим дальше и видим, что игра явно использует графические шрифты (файл с изображением всех символов). Полазив по архивам, мы найдем два пути, связанных со шрифтами: Pak0.pk3\Fonts и Pak0.pk3\gfx\fonts. По первому пути можно найти описания к шрифтам с именами типа "Название Шрифта.RitualFont", в них содержится информация о ширине и высоте каждого символа в шрифте, а также их координаты на картинке; по второму же пути лежат сами шрифты в формате TGA. Я не буду описывать, как в порыве суицидальных фантазий некоторые народные умельцы пытаются вручную перерисовать каждую букву и изменить файлы с описанием. Мы поступим проще: возьмем программу FontGen (ее можно взять с
|
|
Сначала разберемся, как перегнать изображение шрифта из BMP в TGA с прозрачным фоном. Тут нам поможет Photoshop. Загружаем в него получившуюся картинку, выбираем Select/Color Range... (Выделение/Интервал цвета), параметр Fuzziness (Расплывчатость) устанавливаем на 200, на миниатюрном изображении картинки щелкаем мышью в месте, где находится только фон (иногда он сам выделяется), после этого нажимаем OK.
Вы увидите, что вся картинка, кроме самих букв, будет выделена, а нам нужно выделить буквы. Нажимаем Ctrl+Shift+I, или же заходим в Select/Inverse (Выделение/Обратить). Вот теперь то, что надо. Копируем выделенные
|
Cохраняем получившийся шедевр в TGA-формат с 32-битным разрешением (чтобы сохранить прозрачность).
Шрифт готов, делаем еще пару и начинаем их вставлять в игру. В папке pak0.pk3\gfx\fonts лежит несколько файлов, но нам понадобятся только courier-16.tga, courier-18.tga, courier-20.tga — все три отвечают за шрифт, который вы видите, просматривая задания на миссию во время игры, их можно заменить на шрифт одного размера (не больше 14). Также нам пригодится FacFont-20.tga — это основной шрифт, его нужно заменить на достаточно красивый вариант — ведь это лицо игры. После замены графики не забудьте заменить и описания к шрифтам.
Простой текст...
Приступим к изменению игрового текста (учтем, что субтитры уже на русском). Сначала я опишу файлы, которые не требуют специальной обработки, и текст, измененный в них на русский, будет нормально отображаться в игре. Вот они.
pak0.pk3\Ui\StatScreen_failed.scr — содержит скриптовое описание экрана статистики, появляющегося после того, как вы провалите миссию. Текст, который можно (читай нужно) менять, находится в двойных кавычках после слова title, а это слово встречается много раз в файле. Будьте бдительнее, не пропускайте. Еще одна немаловажная деталь — не пишите размашисто, чуть ниже строки с этим словом есть строка с описанием размера пространства, выделяемого под эту надпись. Это строка типа rect 128 296 52 24 (все цифры означают количество пикселей), где 128 — это координата по оси X начала надписи (отступ слева), 296 — координата по оси Y (отступ сверху), 52 — ширина всей надписи (часть надписи, вышедшей за этот предел, не будет отображаться), 24 — высота надписи.
pak0.pk3\Ui\StatScreen_success.scr — то же самое, что и предыдущий файл, только отвечает за экран в случае успешного прохождения миссии.
pak0.pk3\Ui\Hud_Health.urc — единственное, что в этом файле нам нужно, так это строка title "Health", это слово пишется в игре рядом с полоской жизни и переводится как "Здоровье".
Изменив файлы, запакуйте их обратно. Перейдем к завершающему этапу.
...и непростой
Игра иногда не понимает русских букв, но пусть пока это нас не смущает. Заходим в pak0.pk3\Global\ и достаем оттуда localization.txt. В нем хранятся сообщения из игры (например "Game Saved"), их-то мы и будем заменять. Переводить содержимое довольно просто. Открываем файл и действуем по описанию.
Формат файла: открывается фигурная скобка, потом в кавычках идет описание действия для игры (менять нельзя), а через пробел, тоже в кавычках, идет текст, который будет отображаться в игре. Им-то мы и займемся. Вот пример: { "That team is full" "Эта команда уже полна" }. Исправляем текст, сохраняем файл, но не спешим запаковывать его обратно. Берем программу Ru2En (находится на нашем
|
Ищем в папке pak5.pk3\maps\ все файлы с расширением scr, ищем в них текст типа: waitthread global/objectives.scr::add_objectives (в некоторых файлах такой может и не быть, например в файлах *_precache.scr), далее идут две цифры и текст задания в двойных кавычках. Один и тот же фрагмент может повторяться по тексту несколько раз, изменить надо везде! Прогоняем эти файлы также через Ru2En, получившиеся в результате файлы переименовываем в *.scr и пакуем обратно, заменяя исходные.
Теперь, если вы все сделали правильно, зайдя в игру, вы увидите до боли знакомый родной язык. В игру станет играть намного приятней.
* * *
Необязательно соблюдать все формальности перевода текста игры — вы можете переписать по-новому сюжет, и вместо того же лейтенанта Пауэлла по уровням будет бегать Вася Пупкин, или Иван Сусанин, например, борющийся не с фашистами, а с инопланетными пришельцами. И не забывайте, что описанным выше способом можно локализовать практически любую игру на движке Quake III, и уже вышедшую, и еще только находящуюся в разработке. И не забывайте, что результаты творчества можно использовать самому, показывать друзьям, но нельзя распространять за деньги.