Перевод игр с помощью AI и n8n для Indie GameDev
Думаю, многим инди-разрабам это знакомо: "Ты вложил в свою игру всю душу и тысячи часов. Ты хочешь, чтобы в нее поиграл весь мир", но для этого нужны переводы, которые порой стоят больше чем вся разработка ранее. Я не GameDev разработчик, но я вижу, как многие соотечественники сталкиваются с этой проблемой. Я решил потратить пару часов и свои навыки в разработке цепочек автоматизации n8n, для того, чтобы отечественная инди-разработка могла иметь возможность получить средненький перевод и существенную экономию на данном процессе.
Почему нельзя просто закинуть текст в ChatGPT?
Первая мысль, конечно, взять все реплики и тексты из игры и просто скормить их нейросети. Я пробовал. Не работает оно так :(
Дело в том, что в играх всё решает контекст. AI без понятия, что значит одно и то же слово в разных ситуациях:
Слово Fire — это кнопка «Стрелять»? Заклинание «Огонь»? Или кто-то у костра кричит «Огонь!»?
Слово Rose — это имя персонажа Роуз или цветок роза?
Фраза Follow me — это приказ компаньону «Следуй за мной» или кнопка в меню «Подписаться»?
Без контекста даже самый умный AI будет постоянно ошибаться. Вы потратите больше времени на исправление его косяков, чем если бы переводили сами.
Двухэтапный процесс в n8n
Я понял, что мне нужен не просто переводчик, а система, которая сначала поймет контекст, а уже потом будет переводить. Я собрал ее в n8n, и она состоит из двух простых модулей.
Как завести свой n8n можете почитать у меня в заметках тут.
Шаг 1: Готовим таблицу и AI-аналитика
Все начинается с обычной Google-таблицы. В ней несколько колонок: ID (номер строки), Original (оригинальный текст), Context (пока пустая), Suggest (пустая), Translation (тоже пустая) и Needs Review (один для контекста, другой уже для самого перевода).
Дальше я запускаю первую часть своего workflow в n8n. Он берет все строки, по сути изначально у нас заполнена только колонка Original, и отправляет их в нейросеть. Но я прошу ее не переводить текст. Я прошу ее сделать другое:
«Ты — специалист по локализации игр. Посмотри на эту строку и скажи, что это, скорее всего: кнопка в интерфейсе, реплика персонажа, название предмета и т.д.».
AI проходит по всем строкам и заполняет колонку Context и Suggest.
Suggest помогает подсветить спорные моменты, где LLM может галлюцинировать и понимать слово иначе. Главная проблема решена еще до начала самого перевода (по крайней мере большая её часть).
Шаг 2: Запускаем AI-переводчика с подсказками
Теперь, когда у нас есть контекст, начинается второй этап. n8n снова идет по таблице, но на этот раз запускает перевод. И промпт (инструкция) для нейросети здесь уже гораздо шире. Я даю ей:
Краткую справку об игре: жанр, сеттинг, тон повествования.
Контекст конкретной строки: например, UI: Кнопка.
Четкие правила: как обращаться с переменными вроде {player_name} и, самое главное, когда просить о помощи. Если AI не уверен в переводе, адаптирует сложную шутку или идиому, он ставит в колонке Need Review флажок TRUE.
Цепочка в текущем виде делает 90% рутинной работы, а сложные моменты оставляет для проверки человеком.
Исходники данного воркфлоу и используемые Prompt's можете найти вот тут.
Про экономию
Возьмем небольшую игру на 50 000 слов.
Работа с агентством: обойдется примерно в 5-10 рублей за 1 слово и займет 20-30 дней. Итого: 375 000 рублей. Математику строил на основе информации по расценкам различных фриланс площадок.
Мой workflow в n8n: запросы к нейросети обойдутся примерно в 1-3$ (165 000 токенов). Весь процесс займет пару часов на автоматический прогон и еще день-два на проверку строк, которые AI пометил флажком.
Экономия – больше 99%. Но, есть естественно одно "но".
Что важно понимать
Конечно, это не волшебная кнопка, хотя очень хотелось бы. Перевод получается посредственный. Чтобы сделать прям совсем идеальный, нужно запарываться над RAG (например поддержку длинных диалогов и полотна сюжета), а также OCR определение на основе интерфейса (помимо текстового контекста, еще и скрин из игры где этот текстовый элемент находился). По моим расчетам, такая штука обойдется уже в 100$+ чисто на запросах в AI модели.
Это не полная автоматизация. AI делает основную работу, но финальная проверка и ответственность всё же за разработчиком.
Качество зависит от вас. Чем лучше вы опишете игру и термины для AI, тем меньше вам потом придется исправлять.
Нужна реализация потоков. Сейчас в workflow нет разделения на потоки, лучше конечно за раз обрабатывать не более 50 строк (можно и больше, но помните про контекстное окно самих LLM). Уверен, что те, кто захочет развернуть у себя нечто подобное, смогут легко разобраться в особенностях работы n8n и достроить эту цепочку конкретно под свои нужды.
Это не для ААА-игр. Для огромного проекта со сложным литературным языком все еще нужен профессиональный переводчик. Но для инди-игры, чтобы выйти на новые рынки и получить начальный фидбэк, этого более чем достаточно.
Какие модели рекомендую использовать
Gemini 2.5 Flash Lite (дешёвая, хорошо в English и другие популярные языки);
GPT 5 Mini (подороже, чуть лучше качество, хорошо переводит в различные языки);
Можете пробовать совсем дорогие и навороченные модели по типу Gemini 2.5 Pro или обычную GPT-4o / GPT-5, но цена сразу взлетает в несколько раз и мне не совсем понятна метрика цена/качество на выходе. Подобные эксперименты на существенных объемах по переводу не проводил. Если среди нас есть энтузиасты, которые подобные вещи уже тестировании, буду рад услышать их мнение в комментариях.
Вместо заключения
Собственно, как-то так. Вот такой подход у меня получился и я очень хотел бы, чтобы он позволял маленькой команде или даже одному разработчику донести свою игру до аудитории по всему миру. И это, на мой взгляд, и есть самое правильное применение подобных технологий – делать то, что раньше казалось невозможным, доступным.





Искусственный интеллект
5.2K постов11.5K подписчиков
Правила сообщества
ВНИМАНИЕ! В сообществе запрещена публикация генеративного контента без детального описания промтов и процесса получения публикуемого результата.
Разрешено:
- Делиться вопросами, мыслями, гипотезами, юмором на эту тему.
- Делиться статьями, понятными большинству аудитории Пикабу.
- Делиться опытом создания моделей машинного обучения.
- Рассказывать, как работает та или иная фиговина в анализе данных.
- Век жить, век учиться.
Запрещено:
I) Невостребованный контент
I.1) Создавать контент, сложный для понимания. Такие посты уйдут в минуса лишь потому, что большинству неинтересно пробрасывать градиенты в каждом тензоре реккурентной сетки с AdaGrad оптимизатором.
I.2) Создавать контент на "олбанском языке" / нарочно игнорируя правила РЯ даже в шутку. Это ведет к нечитаемости контента.
I.3) Добавлять посты, которые содержат лишь генеративный контент или нейросетевой Арт без какой-то дополнительной полезной или интересной информации по теме, без промтов или описания методик создания и т.д.
II) Нетематический контент
II.1) Создавать контент, несвязанный с Data Science, математикой, программированием.
II.2) Создавать контент, входящий в противоречие существующей базе теорем математики. Например, "Земля плоская" или "Любое действительное число представимо в виде дроби двух целых".
II.3) Создавать контент, входящий в противоречие с правилами Пикабу.
III) Непотребный контент
III.1) Эротика, порнография (даже с NSFW).
III.2) Жесть.
За нарушение I - предупреждение
За нарушение II - предупреждение и перемещение поста в общую ленту
За нарушение III - бан