Локализация в Steam: Хранилища, 0 байт и прочая муть

Локализация в Steam: Хранилища, 0 байт и прочая муть

Всем привет от WAVE gamedev team! Этот лонгрид мы решили написать в помощь братьям и сестрам нашим инди-разрабам, на тот случай, если им захочется загрузить локализации их игр как несколько разных сборок. По ряду причин для нас это предпочтительнее, чем делать локализацию средствами движка Ren’Py, и, вероятно, мы не одиноки.

Если вы не разработчик, у чьей игры есть страница в Steam, предлагаем дальнейшее не читать (там очень нудно, но претензии за это к Valve), а сразу пойти пощупать открытый русскоязычный плейтест нашей игры «Земли Мертвых богов: Морар» в Steam.

Если же вы разработчик (или хотите стать им), крепитесь. Поехали!

Мы потратили на это куда больше времени, чем думали, ибо логика Steamworks бессмысленна и беспощадна, а видеогайд, который в документации платформы приведен как официальный и актуальный, сделан в 2016 году, на старом дизайне Steamworks и, самое ужасное, полностью игнорирует одну ключевую деталь. Ну и, конечно, он на английском, что не всем комфортно.

Итак, локализовав на английский первую главу «Морара» и желая сделать небольшой закрытый плейтест с раздачей временных ключей, мы сделали все по гайду и получили шиш. Вторая локализация почему-то не была доступна для пользователя, Steam не видел ее в упор, показывая, что в этой сборке 0 байт, качал пустоту, а при нажатии “Играть” выдавал ошибку, мол, нет exe-файла по нужному адресу (и его действительно там не было).

Мы прошерстили весь Steamworks и в итоге нашли, что еще, кроме описанного в гайде, надо сделать, чтобы все заработало. Для тех, кто уже бился с официальным гайдом и знает все остальное: на странице “Связанные комплекты и дополнительный контент” в разделе “Промокомплекты и комплекты особого пользования” в нужном вам комплекте (выделен оранжевым) нужно добавить все хранилища с локализациями в разделе “Включенные хранилища”. А потом опубликовать эти изменения, даже если Steamworks будет писать на “Просмотре различий”, что никаких изменений нет. Если же этот абзац для вас звучит, как какой-то бред, располагайтесь поудобнее, мы расскажем все с самого начала.

Итак, вот у вас на руках zip-архивы: сборки игры на разных языках. И у вас оплачен слот в Steam, сделана страница и все готово для загрузки вашей игры. Об этом этапе публикации у нас тоже есть лонгрид, кстати.

Первым делом мы заводим под каждую сборку свое хранилище.

Идем в “Steamworks > Управление приложениями”, там раздел “Технические инструменты” и “Изменить настройки приложения”, там вкладка SteamPipe, в выпадающем меню “Хранилища”.

Локализация в Steam: Хранилища, 0 байт и прочая муть

Убедитесь, что в разделе “Управление базовыми языками” чуть ниже у вас стоят галки напротив всех языков, что вы используете. Проставьте, если нет. Сохраните зеленой кнопкой снизу.

Локализация в Steam: Хранилища, 0 байт и прочая муть

Далее кнопкой “Добавить новое хранилище” делаем столько хранилищ, сколько у вас локализаций. В каждом поставьте соответствующий язык! Не забудьте нажать на зеленую кнопку “Сохранить” после этого.

Локализация в Steam: Хранилища, 0 байт и прочая муть

После этого (и именно этого нет в гайде) нужно нажать на текстовую ссылку “здесь” в строчке “Нажмите здесь, чтобы просмотреть все комплекты, связанные с этим приложением” в подразделе “Создание и добавление хранилищ”.

"Здесь значит ЗДЕСЬ!"© Габен этого не говорил :)
"Здесь значит ЗДЕСЬ!"© Габен этого не говорил :)

Вас перекинет на страницу “Связанные комплекты и дополнительный контент” (туда можно выйти и иным путем), там ищете “Промокомплекты и комплекты особого пользования”, жмете на тот комплект, от которого собираетесь раздавать людям ключи (выделен оранжевым).

Локализация в Steam: Хранилища, 0 байт и прочая муть

В комплекте нужно добавить все хранилища с локализациями в разделе “Включенные хранилища” кнопкой “Добавить/удалить хранилища” и простановкой галочек перед каждым в открывшемся окне.

Локализация в Steam: Хранилища, 0 байт и прочая муть
Локализация в Steam: Хранилища, 0 байт и прочая муть

Жмете зеленую кнопку “Сохранить” в том же окне в самом низу!

Коробки готовы, пора сложить в них контент. Идем в SteamPipe, в выпадающем меню “Загрузка по сети”. Выбираете для хранилища zip-архив со сборкой (не перепутайте языки) и жмите загрузить файл. И так столько раз, сколько у вас локализаций.

Локализация в Steam: Хранилища, 0 байт и прочая муть

Когда все сборки закачаются и проверятся, зайдите в SteamPipe, в выпадающем меню “Сборки”, и убедитесь там, что в актуальной сборке (которая принадлежит активной ветке), включены все вышесозданные хранилища. Привяжите сборку к активной ветке (в среднем случае default) в последнем столбце, если сборка не принадлежит никакой ветке (то есть, если первый столбец пуст).

Локализация в Steam: Хранилища, 0 байт и прочая муть

И потом вы идете на вкладку “Опубликовать” и там жмете “Подготовка к публикации”, потом “Опубликовать в Steam”, вводите проверочный код, готово. Это не публикация самой игры, не релиз, не волнуйтесь, просто позволение играть в загруженное тем, кому вы дали ключи.

Теперь в зависимости от того, какой язык пользователь поставит в вашей игре, у него будет закачиваться локализация именно с этим языком (выпадающее меню в игре в библиотеке Steam, “Свойства…”, “Общие”, “Язык”).

Локализация в Steam: Хранилища, 0 байт и прочая муть
Локализация в Steam: Хранилища, 0 байт и прочая муть

Мы искренне не знаем, зачем нужно было создавать настолько замороченную систему, размазанную по всему Steamworks, но такова реальность. Надеемся, кому-то это поможет!

Оставайтесь с нами, добавляйте «Земли Мертвых богов: Морар» в желаемое в Steam и избранное VKPlay, играйте в открытый русскоязычный плейтест в Steam, пишите нам по любым каналам, если хотите поиграть в закрытый англоязычный плейтест (там меньше контента, зато самое актуальное оформление).

Подписывайтесь на нас где вам удобно: здесь, в ВК или в Телеграме.

3
1