Dzift

Dzift 

Сон собаки

18subscribers

7posts

goals1
$0 of $132 raised
Добровольная поддержка моих работ — для дальнейшего развития

Hotel Dusk: Room 215 - весь текст переведён. Теперь начинается самое интересное

Hotel Dusk: Room 215 - весь текст переведён. Теперь начинается самое интересное

Здарова, детективы!
Я пришёл с большим апдейтом по русификатору Hotel Dusk: Room 215.
И начну сразу с хороших новостей:
игра полностью переведена на русский язык.
Да. Весь текст, который мне удалось вытащить из игры, сейчас переведён!
Но обо всём по порядку.
Мой друг полностью перерисовал текстовые вставки в опенинге игры. Не просто налепил русский текст поверх оригинала, а именно нормально переделал графику под русскую версию.
Заодно мы поправили несколько графических элементов, шрифт и кучу мелких косяков, которые всплывали по ходу работы.
Но самое главное за эту неделю:
Я ВЫТАЩИЛ ВЕСЬ ТЕКСТ. И ПЕРЕВЁЛ ЕГО.
И вот тут началось самое весёлое.

Шесть букв против русского языка

Одна из главных проблем Hotel Dusk - ограничения внутри самих текстовых ресурсов.
Например, в оригинале есть совершенно невинная реплика:
Cheap.
Всего несколько символов.
В русском по смыслу хочется написать что-нибудь вроде:
Подешевле.
или хотя бы:
Дешёвый.
А игра такая:
нет.
Потому что в оригинальном файле под эту конкретную фразу отведено совсем немного места.
И в какой-то момент у нас получалось буквально вот так:
Cheap. → Дёшево
Не потому что мне очень нравится такая формулировка, а потому что каждую лишнюю букву приходилось буквально впихивать в бинарник.
И таких случаев оказалось очень много.
Сначала я думал, что ограничение связано непосредственно с шириной текстового окна на экране. Потом выяснилось, что часть ограничений вообще была следствием того, как мои инструменты разбирали и собирали игровые файлы.
Начались эксперименты с длиной строк, переносами, смещениями, свободным местом между командами и прочими радостями бинарного ковыряния Nintendo DS.
В какой-то момент я даже сделал версию, которая позволяла расширять строки и сдвигать данные дальше по файлу.
Игра после этого очень красиво развалилась.
Зато я ещё немного лучше понял, как устроены её текстовые ресурсы.
В итоге пришлось искать более аккуратный вариант: перераспределять свободное место внутри отдельных текстовых блоков, не ломая структуру файла и команды игры.
И это сработало.
Так что у истории с Cheap. есть хороший финал.
Теперь там нормально помещается:
Cheap. → Дешевый.
Казалось бы, одна буква.
А сколько ради неё было перелопачено кода - лучше не спрашивайте.

А потом выяснилось, что я перевёл не весь текст

Да.
При очередном тестировании обнаружилось, что мои инструменты извлекали из некоторых файлов не весь английский текст.
Часть строк просто проходила мимо парсера.
То есть я уже радостно смотрел на практически готовый перевод, а игра внезапно:
Hello there.
И я:
…
Пришлось снова лезть в формат файлов, разбираться, почему часть строк не определяется как текст, переписывать инструменты, заново проверять ресурсы, извлекать пропущенные куски, переводить их и собирать всё обратно.
Но теперь уже можно сказать:
ура, получилось.
Все обнаруженные текстовые ресурсы извлечены.
Все переведены.

И сколько там вообще текста?

Когда я только начинал этот проект, я вообще не думал о реальном объёме.
Ну, визуальная новелла на Nintendo DS. Сколько там может быть текста?
Оказалось - дохрена.
Только основной сценарий - это примерно 14 520 отдельных текстовых окон.
А кроме него в игре есть ещё куча других текстовых ресурсов: книги и записки, подсказки, описания, служебные реплики, текст интерактивных сцен, интерфейс, названия предметов и мест, отдельные текстовые таблицы и графика с английскими надписями.
И всё это лежит не в одном прекрасном dialogue.txt, где можно нажать Ctrl+A и начать переводить.
Разные форматы, разные контейнеры, разные ограничения, разные способы хранения текста.
Для части ресурсов пришлось писать отдельные инструменты практически с нуля.
Когда я начинал, я реально не представлял масштаб.
Теперь представляю.
Лучше бы не представлял.

Да, перевод делается с помощью нейросети

На всякий случай ещё раз проговорю этот момент.
Основной черновой перевод текста я делаю с помощью нейросети.
Без неё перевод такого объёма в одиночку занял бы у меня не месяцы, а, скорее всего, годы свободного времени.
Но это не схема:
«нажал кнопку → получил перевод → выпустил ром».
Я сам занимаюсь редактурой, переписываю неудачные формулировки, слежу за именами и терминами, проверяю контекст персонажей и смотрю, как текст реально выглядит уже внутри игры.
И сейчас как раз начинается самая важная часть работы.
Потому что одно дело - получить русский текст.
И совсем другое - сделать так, чтобы персонажи действительно разговаривали по-русски, а не выглядели как результат машинного перевода 2008 года.
Поэтому готовый перевод ещё будет довольно серьёзно вычитываться и правиться.

Что дальше?

Теперь моя задача - проходить игру.
Много.
Я планирую пройти Hotel Dusk как минимум пару раз целиком.
Нужно проверить:
  • не осталось ли английских строк;
  • не вылезает ли текст за границы окон;
  • нет ли сломанных переносов;
  • не разваливаются ли скрипты;
  • правильно ли отображаются имена и предметы;
  • не звучат ли какие-нибудь фразы как полный бред;
  • не потерялся ли где-нибудь текст после моих экспериментов с бинарниками.
Короче, впереди полноценное тестирование и большая редактура.
Но самый тяжёлый технический этап, похоже, уже позади.
Весь текст найден.
Весь текст переведён.
Игра собирается.
А это уже очень хороший повод немного порадоваться.
Спасибо всем, кто следит за проектом, пишет комментарии, кидает баги и просто ждёт релиз.
Подписывайтесь и не теряйтесь.
Скоро я вернусь.

Скачать и протестировать

Актуальную тестовую версию русификатора буду выкладывать на Boosty.
Сейчас там лежит последняя публичная сборка Hotel Dusk RU v0.3 Alpha:
Hotel Dusk RU v0.3 Alpha — блокнот, карта, предметы и исправления
Новая версия с полностью переведённым сценарием появится там после очередного этапа тестирования.

Где следить за проектом

Telegram:
t.me/htldck
Там выкладываю новые версии, скриншоты, прогресс, найденные баги и всякие технические заметки по ковырянию Hotel Dusk.

Предыдущие посты на DTF

Если пропустили начало этой истории:
Перевожу Hotel Dusk: Room 215 на русский. Первый эпизод готов!
И прошлый большой апдейт:
Hotel Dusk RU v0.3. Какой детектив без блокнота?
Go up