Форум » Наборы Переведи-Сам » Ren'Py - перевод игр на этом движке (визуальные новеллы) » Ответить

Ren'Py - перевод игр на этом движке (визуальные новеллы)

Knivy: Впервые опубликовано на perevodiki.forum24.ru. Автор Knivy, 2010; большую помощь оказала Маринка. Визуальные новеллы - это своеобразные интерактивные книги с иллюстрациями и музыкой, в которых большую роль играет сюжет. Игрок смотрит показываемые ему одна за другой картинки, читает текст, а время от времени ему предоставляется возможность активно повлиять на происходящее, сделав тот или иной выбор за своего персонажа. Большие игры такого жанра (визуальные романы) могут иметь много персонажей с тщательно прописанными характерами и сложными взаимоотношениями, множество различных концовок и проч. Данный текст посвящён переводу своими силами небольших визуальных новелл на популярном движке Ren'Py (про движок - см. ниже). Пример переведённой игры: Похищенное кольцо с бриллиантом :) (вообще, конечно, есть и побольше и покруче игры, но раз пишу методичку, то надо же показать, на основе какого именно опыта). Дополнительные сведения: Википедия - о визуальных новеллах (романах). The Visual Novel Database - крупнейшая англоязычная база данных по визуальным романам. Как перевести эти игры: Открываем папку с игрой. В ней видим три папки - game, common, renpy, а также несколько файлов. В переводе нуждаются: а) файлы readme.txt и readme.html, может быть ещё прохождение. html можно переводить, например, в MS Word. б) папку renpy нам трогать ни к чему, шрифты уже русифицированные (Юникод), а переводить надо основные тексты, которые лежат в папке game в файлах с расширением rpyc. Для перевода этих файлов используются утилиты, которые разработал и любезно предоставил для публикации Vendor (http://www.honyaku-subs.ru), за что ему большое спасибо: Скачать эти утилиты. В архиве две утилиты и два запускающих их bat-файла. Скопируйте их в папку game игры (на всякий случай, следует всегда перед переводом делать запасную копию игры). Запустите файл GetText.bat, чтобы вытащить тексты из игры в формат txt, который можно править блокнотом (сохранять нужно в кодировке UTF-8 или Юникод). После перевода запустите файл InsertText.bat, чтобы вставить тексты обратно в игру. Можно вставлять тексты, когда перевод не до конца ещё готов, чтобы его смотреть в игре. Если какие-то переведённые фразы в игре по-прежнему на английском, попробуйте удалить из папки game файл bytecode.rpyb - при следующем запуске игра снова его сгенерирует, с переведёнными текстами. Если имена персонажей всё ещё на английском, то смотрим текст из файла script.rpyc (можно сделать поиск по имени персонажа), там должны быть строки примерно такого вида: m = Character('Mia', color="#ffffff", what_color="#000000", who_size=22, ... Переводим в них имена персонажей, можно на всякий случай добавить перед ними u (указывает на то, что строка в формате Юникода): m = Character(u'Майя', color="#ffffff", what_color="#000000", who_size=22, ... в) в папке common лежат скрипты с названиями строк меню; чтобы их все перевести, достаточно просто положить в эту папку файл Translations.rpy (спасибо pin201!). Отредактированная версия этого файла.. При желании этот файл можно править в блокноте. г) Перевод картинок игры (спасибо Маринке, novella.forum24.ru): они хранятся в папке game в архиве data.rpa. Его можно распаковать программой AnimED от WinKiller Studio (ссылка на народ, т.к. не нашла рабочую ссылку в сети). Переведённые картинки просто кладём в папку game прямо в тех папках, в каких они распаковались из архива. д) Если всё сделано правильно, то игра должна заговорить по-русски. Если хотите, чтобы этот перевод вышел под логотипом Нашей версии, то её необходимо отдать редактору Нашей версии на вычитку. Ren'Py - это удобный, лёгкий в освоении, русифицированный бесплатный движок, который позволяет писать простые игры любому желающему, а для более сложных игр использовать язык программирования Python: Русская страница на официальном сайте - бесплатно скачать свежую версию движка, документацию на русском и проч. (Это нужно, если хотите делать сами такие игры, а для перевода достаточно тех файлов, на которые даны ссылки вверху, в списке абвгд). Обсуждение: Аниме-форум Сайт, посвящённый конструкторам и движкам игр. Ещё один подобный сайт. Где можно узнать больше и присоединиться к работе над большими проектами: Раздел на форуме Honyaku-Subs, посвящённый Ren'Py. Форум "Наша версия. Визуальные новеллы". В данной теме просьба писать только о том, что может быть интересно всем переводчикам игр на этом движке. Вопросы и сообщения по конкретным играм, пожалуйста, пишите в темах этих игр или более общих темах "Нужна помощь в переводе" и т.п.

Ответов - 10

Маринка: Есть одно уточнение. Скрипты с расширением rpyc - это зашифрованные скрипты с расширение rpy. В коммерческих новеллах данные, конечно, шифруются. Но в любительских (а среди них есть весьма неплохие!) можно встретить открытые скрипты .rpy. Тогда просто открываем их блокнотом и спокойно переводим. Но. Очень советовала бы всем, кто начинает перевод игр на этом движке, сначала с ним хорошо ознакомиться. Это можно сделать, прочитав Руководство для начинающих работать на движке Ren'Py. Иначе высок риск перевести то, что переводить не надо. Какие-нибудь команды или прописанные места действия и т. п. В итоге игра просто перестанет запускаться или будет стабильно вылетать. Иногда создатели новелл вставляют для красоты свои шрифты. Они кладутся в папку Game. Если авторский шрифт не содержит кириллицы, то просто кладем в папку Game любой понравившийся русский шрифт и переименовываем в тот, что используется в игре.

Knivy: По просьбе Маринки сделано уточнение про перевод имён персонажей. В новых версиях движка можно без "u" обходиться, в "Кольце" я это не ставила. Для игр на старых движках, наверное, необходимо. Про процесс перевода замечу, что много было проблем с картинками, но это зависит от личных навыков работы с графикой. В частности, там этими картинками реализована анимация в меню (какой-то цветочек крутится), что значит, что меню в виде множества почти одинаковых картинок. Но это ещё ладно. Когда я смотрела переведённые мною титры игры, оказалось, что они не белые (как почему-то выглядели в фотошопе), а очень-бледно-розовые с белыми и очень-бледно-жёлтыми кругами и выделяющимися на их фоне белыми закрашенными английскими надписями. К тому же поверх них идут фигурки персонажей, заслоняющие собой вписанные имена переводчиков. Короче, пришлось переделывать. После этого к тому, что фон обложки тоже довольно сложный рисунок в очень светлых тонах я уже была готова. И, наконец, - яркость рисунков. В одном месте реализован "спецэффект" - при наведении курсора на картинку она подсвечивается. Я его не заметила, а в фотошопе подсвеченная (повышенной яркости) и обычная картинка выглядели на взгляд примерно одинаково. Хуже того, на основе обычной картинки делался довольно сложный перевод ещё больше дюжины картинок, представляющих собой различные её части. Поскольку я их перепутала и взяла более яркую версию, то потом пришлось опять-таки все эти картинки по-новой нудно переделывать. Короче, вывод: внимательность и ещё раз внимательность. В картинках часто используется режим Indexed color, его можно опознать в фотошопе по значку замочка в списке слоёв; для редактирования нужно переключить режим на RGB. Потом можно в игру так и вставить, а можно обратно вернуть тот режим - картинки раза в три компактней становятся.

pin201: А если хочется распакованную графику запаковать обратно в архив, это легко сделать без специальных программ. Скачайте дистрибутив движка. (Для старых новелл лучше взять версию, вышедшую незадолго до них.) Создайте проект новеллы. В его папку "game" положите распакованные ранее файлы и папки. (Имена и структура папок должны остаться прежними.) Выберите опцию - Archive Files (Архивировать файлы). На следующем шаге щёлкните по списку расширений, и через пробел добавьте в него расширения всех нуждающихся в упаковке файлов. Например: *.mp3 *.ico *.ttf и так далее. Потом жмите Archive, и после окончания процесса в папке game появится новый архив data.rpa. Можно заменить им оригинальный в переведённой новелле. Не забудьте проверить работоспособность игры с новым архивом.


Knivy: Перезалила файл translations.rpy: выяснилось, что с ним игра вылетает при попытке загрузить автосохранение, поэтому закомментировала (#) строки, относящиеся к переводу названий этих сохранений (a, q, auto, quick) - теперь всё работает. Вполне возможно, что достаточно закомментировать auto и quick, которых не видно в игре, так что это скорее всего технический текст, но не проверяла. a и q добавляются к названию файла автосохранения.

Knivy: В папке game не должно быть посторонних rpy-файлов, в т.ч. копий скриптов игры, иначе игра может выдать ошибку при запуске и не запуститься. Файлы rpyc можно удалять, если есть rpy - игра создаст их заново. Проверять орфографию в скриптах можно обычным Word'ом, хотя на всякий случай файл в нём лучше не сохранять - может добавить лишнюю информацию (свой формат и проч.), править ошибки отдельно в Блокноте. А переводить html в Word оказалось неудобно - он потом добавляет к html-файлу целую папку каких-то файликов, лучше в Open Office или тоже Блокноте. Auto и Quick - если эти кнопки есть при загрузке сохранения, то надо раскомментировать их перевод в translations.rpy. Та игра вылетала, похоже, потому, что этих кнопок в ней не было. Если выскакивает ошибка насчёт indentation, то значит нужно исправить в скриптах абзацные отступы, к которым Python чувствителен (сделать их как в оригинале, без лишних пробелов).

Knivy: Комментарии в этом движке обозначаются знаком решётки #, но если правите не непосредственно скрипт, а текст, который из него программно вытащен и потом будет вставляться, то лучше этим знаком не пользоваться. Английский текст заменять на русский, а предварительно сделать копию оригинала, на всякий случай. Переход на новую строку \n (как правило, не нужно, т.к. игра делает это автоматически). Кавычки \" "Текст, заключенный между тэгами {i} и {/i} будет курсивным, между {b} и {/b} — полужирным, а между {u} и {/u} — подчёркнутым. Также, тэги {size=<число>} … {/size} управляют размером заключённого в них текста (если <число> = число без знака, то заключённый в данные тэги текст будет размером в указанное число пикселей; если же <число> = число, предварённое знаком «+» или «-», то движок воспримет это как команду к увеличению или уменьшению размера шрифта для заключённого в теги текста на указанное число пикселей относительно размера по умолчанию). Наконец, текст, заключённый в теги {color=#rrggbb} и {/color}, будет изображён указанным цветом. #rrggbb — строка-идентификатор цвета формата RGB в виде стандартного шестнадцатеричного триплета." Это цитата из Руководства для начинающих на русском языке, в котором можно прочитать дальнейшие подробности. (Если вам интересно, что означает тот технический текст, что вы пропускаете при переводе ).

Monojoker: Knivy здравствуйте! пожалуйста, подскажите что делать! я вроде все по инструкции делаю, но он шрифт не читает. Там особенного шрифта нету, может это оригинал кирилицу не читает? Заранее благодарен за помощь ТоТ

DOS: AnimED от WinKiller Studio

Blizzi: Здравствуйте, возникла проблемка, решение которой ушло в партизаны. При попытке засунуть текст обратно с помощью Insert Text, процесс доходит до файла эпилога, и благополучно на нем останавливается не желая всовывать остальные две трети. При этом окно программы не закрывается, а продолжает работать. К сожалению после томительных часов ожидания, дело с мертвой точке не сдвинулось. Перевел только два последних файла. Как заставить программу осознать свои пригрешения и исправится?

Идгардио: При любой попытке использовать ваши утилиты вылезает овер9000 ошибок.



полная версия страницы