Steam Workshop для аддонов

Сообщение от Jiří Zlatohlávek и Jiří Dočkal, 15 августа 2014

ОТ: Jiří Zlatohlávek, дизайнер отдела разработки песочницы; Jiří Dočkal, кодер отдела программирования
КОМУ: Пользователям версии Arma 3 для разработчиков
ТЕМА: Новый уровень интеграции Steam Workshop с Arma 3

РАЗВИТИЕ
Пользовательский контент всегда был частью нашей серии. Для Arma 3 это актуально как никогда, и мы стараемся следовать этой догме, постоянно улучшая и дорабатывая игру. Как мы этого достигаем? Действующая поддержка мододелов в виде библиотеки скриптовых команд, инструментов и полезной документации уже внесли огромный вклад в развитие игры. Тогда как процесс поиска нового контента и его установки еще требовала существенных доработок. С внедрением сервиса Steam Workshop мы нацелены решить эту проблему раз и навсегда.

Во время публичного бета-теста мы проверили работу Steam Workshop с публикацией пользовательских сценариев и должны отметить, что сообщество с воодушевлением восприняло новую идею, и игроки с удовольствием продолжают наполнять библиотеку сценариев с момента запуска в сентябре прошлого года. Это было лишь первым этапом. Теперь же мы с гордостью представляем вам поддержку аддонов в Steam Workshop.

Надеемся, что с аддонами в Workshop вам будет работать также легко как и с сценариями ‒ может быть даже еще проще! Давайте поговорим о наших решениях, о некоторых подробностях внедрения нового сервиса и о планах на будущее.

Steam Workshop для аддонов Steam Workshop для аддонов
Steam Workshop для аддонов

Поэтапная разработка лаунчера Arma 3


ДВИЖОК
Два года назад мы затрагивали тему собственной разработки решения по распространению пользовательского контента в обход сервиса Steam Workshop. Но стало понятно, что мы не располагаем для этого достаточным количеством ресурсов и опыта, тогда как Workshop уже был готовым и доступным решением. В конце концов мы решили сфокусироваться на игре и принять тот факт, что Steam Workshop накладывает некоторые ограничения на размеры файлов и не предоставляет возможность указывать мета-данные для управления версиями и т.п.

Возможно в будущем Valve сделает поддержку этих функций в SteamWorks API, но даже если и нет, мы все равно довольны тем, как прошла работа по внедрению Workshop.

Давайте поговорим о процессе публикации и подписки. Steam Workshop ‒ это файловый облачный сервис. Когда мододел желает поделиться своим творением, он загружает файл в Workshop, используя Publisher из списка инструментов Arma 3 Tools. Каждый опубликованный таким образом файл сопровождается текстом (название, описание, тэги), изображением и настройками доступа. Стоит помнить, что последующее обновление просто перезаписывает новую версию поверх старого файла ‒ соответственно невозможно иметь несколько разных версий.

ЛАУНЧЕР
Когда вы подписывайтесь на новый контент, клиент Steam скачивает файл на ваш жесткий диск. Как же он попадет в игру? Если вы знаете, где находится этот файл на вашем жестком диске, то вы можете подключить его к игре вручную, воспользовавшись параметром запуска -mod=Полный_путь_до_файла ‒ это если по старинке. Или же вы можете переложить эту задачу на новый лаунчер Arma 3, который может сделать это за вас через нажатие одного лишь чек-бокса.

Первый вопрос, на который следует ответить: может ли игра управляться с аддонами без участия лаунчера? Может, но подключение новых аддонов требует каждый раз перезапуск самой игры, так что мы решили сэкономить вам время на этом. Таким образом вам предоставляет возможность подключить другие функции, как например, параметры запуска и пресеты из выбранных аддонов. Мы создали приложение на C#, которое позволяет легко дорабатывать пользовательский интерфейс, и таким образом мы можем сосредоточиться на реализации SteamWorks SDK.

В текущей версии лаунчер умеет следующее:
  • Задавать параметры запуска
  • Скачивать, обновлять и удалять аддоны
  • Подключать и отключать скачанные аддоны
  • Менять порядок загрузки аддонов, используя интуитивно понятный drag&drop
  • Собирать аддоны в отдельные пресеты
  • Работать в офлайн режиме благодаря отдельному кэшу
  • Постоянно обновлять новостную ленту, чтобы вы были в курсе всех важных изменений и доработок в игре


СВЕТЛОЕ БУДУЩЕЕ
Пройдет какое-то время, прежде чем лаунчер Arma 3 станет незаменимым. Сравнивая его с такими лаунчерами сообщества как PlayWithSix и Arma3Sync, мы понимаем, что закончили работу только над основным функционалом, связанным с Workshop. Следующим этапом мы хотим добавить поддержку аддонов, подключаемых не из Workshop, правда, это зависит от успехов в интеграции новой версии SteamWorks SDK.

Мы также хотим переделать базовую архитектуру и сменить SteamWorks на службы Windows, чтобы избавиться от проблем связанных с особенностями Steam, кэшинга и синхронизации между лаунчером, игрой и Publisher. Конечная цель ‒ ускорить и автоматизировать процесс получения аддонов, необходимых для игры на конкретном сервере, чтобы можно было просто подключиться и наслаждаться игрой.

Это все идеальное будущее, но мы верим, что интеграция со Steam Workshop окажется полезной уже сейчас, например, для конкурса Делай Arma, а не войну. Находите интересные моды, подписывайтесь на них в Workshop, запускайте лаунчер и наслаждайтесь удивительными творениями.