LG.BALUKATION's Weblog

Ничего, это тоже кое-что… А при желании из него можно сделать что угодно

Обзор Steam Workshop

Posted by LG.BALUKATION на 2014/12/06

Посмотрел тут недавно на Steam Workshop чуть подробней, чем видел раньше. Если как выглядит воркшоп для игрока знают наверное все, то вот как он выглядит для моддера — штука уже менее известная, а вид с точки зрения программиста известен вообще единицам. Я не прогал для него, просто довелось почитать доку по этой части Steam API.

  • Воркшоп для игрока

    Самая известная личина — просто заходим на страницу сообщества игры, там на вкладке мастерской есть моды. Смотрим моды, фильтруем их по тегам, ищем, лайкаем/дизлайкаем, добавляем в избранное или составляем свои коллекции…

    Если хотим установить мод, то подписываемся на него, если хотим удалить — отписываемся. Остальное стим делает сам — качает/удаляет мод, обновляет если что.

  • Воркшоп для моддера

    Разнится от игры к игре, я посмотрел пяток игр: Age of Empires II: HD Edition, Legends of Eisenwald (early access), Serious Sam Classics: Revolution (early access), TES V: Skyrim, TrackMania 2.

    Почти у всех этих игр есть отдельный редактор, в котором можно рисовать карты или другие моды. Помимо обычных опций вроде создать/открыть/сохранить, в этом редакторе есть и опция публикации мода в мастерской. Чаще всего нужно заполнить простенькую форму, указав название мода, описание, и картинку. Некоторые позволяют ещё задавать теги (иногда ограниченные выбором типа мода — карта, скин, предмет и т. п.) и уровня доступа — публичный ли будет мод или не очень.

    У двух игр редактор оказался встроенный. В случае AoE2 ничего не изменилось, просто форма с информацией о моде была не обычным окошком операционной системы, а окошком на игровом GUI. А вот в случае TrackMania всё было очень примитивно — нужно выбрать файл и игра тупо загрузит его, создав мод без описания и с названием по имени выбранного файла.

    Во всех играх мод был недоступен изначально, требовалось после заливки файлов сходить на страницу мода и принять лицензию.

  • Воркшоп для программиста

    Тут оказывается сменилось уже пара API, а может даже и больше. Раньше стим предполагал, что мод будет одним файлом и позволял как-то загружать его, теперь в качестве мода можно рассматривать целый каталог — больше не нужно парится с какой-то его архивацией в один файл. Я читал только про новый API для C++ — вроде есть ещё какой-то WebAPI, но возможно это вариант старого.

    По-сути можно сделать всё тоже самое, что есть на странице мастерской в сообществе игры. Но, так-как это всё уже есть на странице мастерской — никто не берётся дублировать её на игровом GUI. Даже AoE2 просто открывает страницу мастерской в браузере, вместо того что бы замутить свой менеджер модов. У других игр всё ещё проще… Но сама возможность искать доступные моды, фильтровать их и искать среди них, подписываться и отписываться в API есть.

    Почти никто не парится и с установкой/удалением модов. Сам клиент стима делает это примерно как с обновлениями игры — качает в фоне если игра не запущена или прямо перед запуском игры если юзер всёж решил поиграть. API позволяет узнать как там прогресс и т. п., но как я понял, за норму считается установка модов не во время работы игры. Похоже, что код взаимодействия игры со стимом можно вообще не менять для поддержки мастерской, хотя некоторые игры отключают достижения если в игре установлены моды.

    Главные изменения для поддержки мастерской приходятся на редактор. Тут уж полагаться на страницу в сообществе или клиент не выйдет, так-как нужно создавать мод и загружать в него файлы. Судя по трекмании, можно ограничится лишь выбором файла и остальное моддер пусть настраивает на странице мода, но обычно кроме имени и файла у мода выставляется и начальное описание с картинкой. Эти данные потом можно менять и через API, а так же можно загружать новые версии файлов.

    Интересным нюансом является возможность потерять право публикации. Дело в том, что при создании мода, стим возвращает некую сущность, которая нужна для всего последующего взаимодействия редактора с этим модом. Документация рекомендует сохранить эти данные в исходниках мода и на первый взгляд я не нашёл как их получить для своего уже созданного мода.

    Т. е. это нечто типа ключа, в случае потери которого юзер не факт, что сможет обновлять файлы своих модов. Причём всякие названия, описание и т. п. можно менять и через страницу мода, но вот файлы — только из редактора и при наличии этого ключа. Который я не уверен, что сохраняет та же трекмания, например.

Advertisements

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s