Выполняю обещание. Спасибо, DTF!
Две недели назад под новостью о начале фестиваля варгеймов я оставил комментарий, что и у моей игры Knight's Errand появилось демо в рамках фестиваля. Сначала я встретил поддержку, но потом комментаторы заметили, что демо не поддерживает русский язык и активно указали на это. Когда увидел комментарии об этом утром, то было уже поздно. Поэтому решил, что лучшим выходом из ситуации будет прислушаться и добавить локализацию в следующем обновлении.
Говорю искреннее спасибо всем, кто привлёк внимание к проблеме. Я позже заглянул в админку Steam и увидел, что подавляющая часть трафика на страницу пришлась на Штаты из Азии или из Восточной Европы почти никого не было, хотя там как раз моя основная аудитория.
Я передохнул пару дней после напряжённой работы перед фестивалем и приступил к внедрению системы локализации. Это уже вторая моя игра, но в моей предыдущей игре - Doodle Cats мы намеренно избегали использования языка, чтобы сделать её как можно более доступной и универсальной. Тем не менее оказалось, что сама по себе локализация подключается в Godot проще простого.
Вам нужен csv файл, который содержит ключи и их перевод на разные языки. Вы импортируете его в движок как CSV Translation и дальше Godot сам разделяет его на языковые файлы. Далее всё, что вам остаётся — подключить эти файлы в настройках проекта.
Теперь можно подставлять соответсвующие ключи в нужных местах проекта: либо делая это напрямую, например, в элементах интерфейса, либо в коде через функцию tr("KEY"). Для более замороченных случаев где в предложении в зависимости от языка меняется порядок слов можно использовать .format() после tr(), чтобы например отдельно обозначить подлежащее или сказуемое, но мне это пока не понадобилось.
В итоге само по себе внедрение системы локализации заняло меньше всего времени при работе над обновлением. Перевод с помощью ботов по формуле: "английский вариант + русское значение, пожалуйста, дай перевод на zh, ru, sp, pt, de, ko, fr, jp, pl, tr, uk, cs, vi" тоже не составил труда. Главной проблемой стали шрифты.
В шрифте, который я использую в игре, есть только часть латиницы и кириллица, но никаких иероглифов и огромной части дополнительных глифов за пределами стандартной латинской пятёрки: английского, французского, итальянского, немецкого, испанского. Для меня же важно охватить восточноевропейскую аудиторию (в шрифте не было нескольких символов для польского и чешского), турецкую и азиатскую аудиторию.
Наверное, по итогу сложнее всего было найти иероглифические шрифты высотой 10 пикселей, как и мой основной шрифт. Интересней всего добавлять глифы для турецкого и вьетнамского. Последний вообще оказался отдельным приключением.
В нём какое-то невероятное количество символов с разными чёрточками (диакритическими знаками), которые обозначают тона в слове. И пусть вьетнамская аудитория Steam составляет меньше одного процента для меня добавить этот язык было дело принципом. Одним из первых людей, кто меня поддержал был мой вьетнамский друг Нког — разработчик Legendary Hoplite и Just a Shadow Game. Он же порекомендовал мне художника, который в итоге нарисовал ключевой арт для Knight's Errand.
В итоге вся работа плюс исправление всех найденных по ходу багов заняло у меня чуть больше недели. Ниже вы можете видеть примерный результат в текущем интерфейсе.
Ещё раз спасибо всем, кто обратил внимание на проблему. Я изначально хотел выстраивать проект вокруг обратной связи от игроков и благодаря вам это получается!
Если вам интересны Герои в формате Backpack Battles может опробовать демо по ссылке. Играйте, добавляйте в списки желаемого полную версию и делитесь своим мнением здесь или в личке!
Единственное предупрежу: в демо ещё очень много чего нет. Например, в следующем обновлении я планирую наконец добавить звуки. Также в будущем я планирую: улучшения в боевой интерфейс, магию, умения, предметы и прокачку героя, дополнительные расы, классы героев и существ, а также множество других мелких улучшений.
Мне будет очень интересно и важно прочитать о том, что следовало бы приоритизировать в дальнейшей разработке, а также отзывы об геймплее как таковом. Спасибо за внимание!