Документация Steamworks
Мастерская Steam
Вкратце
Мастерская Steam служит местом, где ваши фанаты и участники сообщества могут поучаствовать в создании контента для вашей игры.
Уровень интеграции
Довольно продвинутый, однако зависит от использования. Вам понадобится создать путь загрузки в игре или отдельный инструмент, а также интеграция контента в игру вручную, либо возможность загрузки модификаций, скачиваемых с диска.

Введение

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

На этой странице вы найдёте ознакомительную информации о мастерской Steam и различных её моделях. Подробную техническую информацию об интеграции мастерской Steam с вашей игрой читайте в разделе Руководство по Мастерской Steam.

Видео: знакомство с пользовательским контентом и мастерской Steam.

https://www.youtube.com/watch?v=SRyUpR4qOxU

Видео: пользовательский контент и Мастерская в игре ARK: Survival Evolved

Here's a talk given by Jeremy Stieglitz of Studio Wildcard at Steam Dev Days 2016 on how leveraging User Generated Content via the Steam Workshop has helped foster a long and pro-active community for their title ARK: Survival Evolved. And some of the technical and design steps they took to make it happen.
https://www.youtube.com/watch?v=faweKXUTKgQ

Руководство по фирменному стилю в мастерской Steam

Вы можете воспользоваться фирменным стилем мастерской Steam при продвижении своей Мастерской. Нажмите сюда, чтобы скачать ресурсы фирменного стиля Мастерской. Дополнительная информация по общему фирменному стилю Steam доступна в разделе «Руководство по фирменному стилю Steam».

Типы Мастерской

Существует два основных типа интеграции мастерской Steam. Каждый из них имеет свои плюсы и минусы, поэтому тщательно обдумайте, какой из них вам больше подойдёт.
  1. Открытая Мастерская — любой пользователь может свободно загружать и скачивать контент. Это наиболее оптимальный способ поддержки большого числа предметов, модификаций или карт в игре вне зависимости от того, насколько они сложные. Скорее всего, вам придётся больше потрудиться заранее и создать полноценный редактор или инструмент проверки, чтобы авторский контент функционировал безупречно. Авторы предметов смогут обновить свой контент в любое время.

  2. Модерируемая Мастерская — оптимальный способ более строгого контроля над попадающими в игру работами, однако каждую из них нужно будет проверить и добавить в обновлении. Этот способ лучше приспособлен для простого контента небольшого размера: оружия, шляп и других аксессуаров. При продаже предметов должна использоваться надёжная служба хранения (например, служба инвентаря Steam) для отслеживания владельцев внутриигровых предметов. Также необходимо создать магазин для внутриигровых продаж. Цены устанавливает разработчик.

Открытая Мастерская

Причины для использования

  • Поддержка большего числа предметов. Открытая Мастерская упрощает поддержку большого числа простых или сложных по составу предметов, модификаций или карт в игре. Заранее обеспечив инструменты для создания и редактирования модификаций, вы поощряете творческий подход к вашей игре.
  • Возможность обновлять контент в любое время. Авторы предметов в открытой Мастерской смогут обновлять свои предметы, то есть: редактировать контент, исправлять ошибки, расширять контент и возможности своих модификаций и предметов.

С чего начать

Для начала следует подумать, какой контент могут создать пользователи для расширения возможностей вашей игры. Контент для многопользовательских и однопользовательских игр далеко не одинаков. Выбрав тип контента, продумайте, как клиент игры будет скачивать контент и какие инструменты необходимы пользователям для создания контента. Если пользователям пришлась по душе ваша игра, они найдут пути для создания контента для неё. Однако, как упоминалось ранее, если вы хотите поддерживать создание крупномасштабных модификаций, будет полезно выпустить как можно больше собственных инструментов, чтобы помочь пользователям создавать контент и модификации именно для вашей игры.

Подготовив базовые механизмы создания модификаций, вы должны будете интегрировать API ISteamUGC, чтобы ваш клиент распознавал, на какие из файлов Мастерской подписан пользователь, и мог скачивать контент при необходимости. После этого будет легко добавить опцию продажи предметов. Мастерская Steam отвечает за сбор банковской и налоговой информации авторов, предоставляет инструменты для указания цены и необходимые пользовательские соглашения, а также управляет обработкой платежей и удержанием налогов на внутреннем сервере. Вашей игре лишь понадобится распознать, какие из файлов нужно загрузить в клиент игры.

Интеграция

Ниже приведены типичные компоненты, которые следует учитывать при интеграции открытой Мастерской в вашу игру:
  • Загрузка контента в клиент однопользовательской игры. Если вы хотите, чтобы созданный пользователями контент был готов к использованию, то игра должна иметь соответствующую структуру. Обычно это означает, что игре понадобится проверять, какие из файлов следует загружать. Если вы разрабатываете собственную систему проверки, рекомендуется, чтобы клиент игры сначала проверил список файлов, на которые подписан пользователь Steam, а затем загрузил соответствующие папки. Вам также понадобится тестовая среда, которая позволяет авторам работать над своими модификациями и способна загружать файлы из рабочей папки.
  • Загрузка контента в клиент многопользовательской игры. Работы или контент, необходимые для функционирования игры нескольких пользователей, можно скачать на все нужные клиенты. Например, если игрок подписался на пользовательскую карту в Мастерской, а затем пригласил на неё друзей, ваша игра должна распознать пользовательскую карту и скачать контент из Мастерской для других игроков до начала игры.
  • Загрузка контента его авторами. Вам понадобится инструмент, чтобы авторы могли загружать свой контент в вашу Мастерскую, используя API ISteamUGC. Он может представлять собой либо часть вашей игры, либо отдельное приложение. Поскольку работы, созданные для вашей Мастерской, должны быть готовы к немедленному использованию, ваш инструментарий должен пропускать файлы только в формате, который клиент игры готов загрузить вместе с изображением для предпросмотра. В зависимости от контента, который вы просите авторов загрузить в Мастерскую, вам, возможно, понадобится собственный инструментарий (особенно в случае таких крупномасштабных модификаций игры, как изменение её логики, геймплея и всего того, что выходит за пределы модификации лишь внешнего вида). К примеру, игры, более всего подходящие для модификаций, выпустили свои собственные инструменты, чтобы авторы могли воспользоваться теми же средствами, что и разработчик. Подобные инструменты также могут ограничивать и проверять созданный контент, если вы хотите контролировать перезапись файлов или список доступных для изменения элементов игры. В качестве информации, предоставляемой потенциальным создателям работ в Мастерской, рекомендуется создать руководство по стилю, а также сводку правил относительно того, какой контент вы хотели бы видеть в своей игре, а какой считаете недопустимым.

    Обратитесь к разделу «Руководство по Мастерской Steam» за подробной информацией о том, как приступить к использованию функций мастерской Steam в API Steamworks.

Доставка работ пользователям

With the Ready-To-Use Workshop model, items listed in the Workshop are automatically available to subscribe to (if free) or to purchase (if paid) and then are automatically downloaded via the Steam client (Integration of the ISteamUGC API with your product is necessary for this to work correctly. See the technical documentation on the Руководство по Мастерской Steam). The Steam Workshop handles keeping the client up to date with any mod updates. При покупке модификации Steam обрабатывает покупку, оплату, выплаты авторам и разработчику, а также удержание всех необходимых налогов.

If you wish, you can build an in-game Workshop browser to list the same set of items.

Модерируемая Мастерская

The defining characteristic of a curated Steam Workshop is that as the developer, you will need to approve each item and you'll probably need an item server (Or to use the Steam Inventory Service) for managing ownership of the items. This process affords a lot of control over the items that get added to your game, but typically involves at least a small amount of work to accept each new item.

Within a Curated Workshop, the items posted in the Workshop are not available for direct use by other customers via the Workshop, but are instead presented in a queue for customers to vote on. This voting gives you data on which items are desired by the most users and helps you filter out incomplete or inappropriate submissions.

Причины для использования

The Curated Workshop model is useful for your game if you:
  • необходимо назначать особые характеристики для каждого предмета. Если вы принимаете через Мастерскую оружие, то вам, вероятно, важно будет указать такие характеристики, как скорость, мощность, урон и скорость перезарядки, чтобы наилучшим образом сбалансировать игровой процесс.
  • вы хотите строго контролировать содержимое игры. В зависимости от настроек игры вы сможете принимать предметы двумя различными способами:
    • Загрузка и сборка. Можно загрузить ресурсы на свой компьютер и добавить контент в хранилища игры. Этот способ предоставляет вам возможность редактировать и изменять предмет, чтобы обеспечить наилучший результат, или гарантировать строгое следование правилам руководства по стилю для каждого предмета.
    • Загрузка напрямую в клиент. Можно по необходимости напрямую скачать каждый подтверждённый предмет в клиенты игры. Это позволит авторам обновлять предметы, чтобы исправить ошибки.

С чего начать

Вы можете немедленно приступить к работе и настроить страницу модерируемой Мастерской, добавив простую форму в игре и опубликовав рекомендации и информацию по фирменному стилю для потенциальных создателей предметов. Для загрузки контента в Мастерскую вам понадобится интеграция с API ISteamUGC (см. Руководство по Мастерской Steam). Это позволит авторам предметов начать разработку идей и публиковать свои предметы в Мастерской для оценки сообществом. Как правило, рекомендуется, чтобы авторы публиковали в Мастерской законченные продукты. If you allow users to post incomplete work or mere concepts, then you will need to figure out what the process would be that those concepts get turned into real items, which typically becomes a difficult to scale up in any meaningful way.

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

Процесс интеграции

Ниже приведены типичные компоненты, которые следует рассмотреть при интеграции модерируемой Мастерской в вашу игру:
  • Загрузка контента от авторов. Вам понадобится инструмент, чтобы авторы могли загружать созданный контент в вашу Мастерскую. Он может представлять собой либо часть вашей игры, либо отдельное приложение. Можно начать с простого загрузчика, который требует от автора выбрать .zip-файл и изображение для предпросмотра, или интегрировать дополнительные механизмы проверки в систему публикации в вашей Мастерской. Например, Мастерская Team Fortress 2 начинала лишь с формы заявки, требующей от автора предмета выбрать .zip-файл и изображение для предпросмотра. По мере развития процесса мы добавили тестовую среду и проверку, чтобы убедиться, что предоставленный файл будет легко интегрировать в игру.

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

    После загрузки автором работы в Мастерскую рекомендуется направить пользователя на страницу работы, которую он только что опубликовал. Это даст автору возможность принять условия всех соглашений, которые он ещё не принял: соглашение подписчика Steam или соглашение Мастерской.
  • Интеграция предмета в игру (необязательно). Если вам необходимо назначить особые характеристики, например, эффекты оружия или всё остальное, что не может назначить автор во время загрузки, вам понадобится скачать предмет с сайта Мастерской и добавить контент в свои хранилища. Одновременно вам потребуется назначить соответствующие характеристики и внести нужные изменения. Объём работы на данном этапе будет зависеть от того, насколько тщательная проверка проводится вашим инструментарием, а также от качества контента, создаваемого авторами предметов.
  • Загрузка без проверки. Если нет необходимости редактировать предметы или назначать особые характеристики, вы можете запросить получение предметов напрямую из серверов данных Мастерской. Для получения списка предметов, которыми обладает пользователь, необходимо применить ISteamInventory (при использовании службы инвентаря Steam). Проверьте, являются ли предметы во владении пользователя предметами Мастерской, а затем:
    • Вызовите ISteamUGC::GetItemState с параметром ID предмета Мастерской и проверьте, является ли функция k_EItemStateNeedsUpdate установленной, а функция k_EItemStateInstalled — неустановленной;
    • Вызовите ISteamUGC::DownloadItem при необходимости;
    • Дождитесь обратного вызова ISteamUGC::DownloadItemResult_t и сделайте контент доступным в игре.
  • Служба инвентаря и создание определений предметов. Eсли ваши предметы предназначены для продажи в игре или выдачи ограниченному числу пользователей, вам понадобится сервер предметов (или служба инвентаря Steam) для отслеживания игроков с разрешением использовать предметы в игре. Служба инвентаря также понадобится для продажи предметов, управления их выдачей и событиями, вызывающими случайную выдачу предметов пользователям.
  • Установка правил о выплатах. Когда вы будете готовы к продаже предметов, Steam понадобится информация о том, какие предметы Мастерской соотносятся с определениями предметов на вашем сервере предметов или в службе инвентаря Steam. Эта ссылка устанавливает правила выплат, чтобы Steam правильно распределил выручку от продажи каждого предмета соответствующим пользователям. Когда ваша служба инвентаря будет инициировать продажу через API микротранзакций Steam, Steam получит информацию о проданном предмете и сможет рассчитать сумму выручки и выплат авторам предмета.

    Управлять правилами выплат можно с помощью опции «Новые правила выплат» под вкладкой Мастерской на странице настроек вашего приложения.

  • Продажа предметов. Если вы планируете завести магазин для продажи предметов, вы можете создать интерфейс магазина самостоятельно или использовать магазин предметов Steam. При каждой покупке Steam будет выполнять следующее:
    • Собирать и хранить банковскую и налоговую информацию о каждом авторе предметов Мастерской;
    • Производить расчёт и соответствующие выплаты авторам предметов;
    • Удерживать подоходный налог с выручки авторов предметов;
    • Предоставлять годовые налоговые отчёты каждому автору предметов.

Доставка предметов пользователям

With the Curated Workshop model, there are a number of ways you can allow customers to get the items:
  • Продажа предметов во внутриигровом магазине посредством микротранзакций. Если вы используете собственную службу инвентаря, от вас потребуется интеграция с API микротранзакций Steam. Также вы можете воспользоваться службой инвентаря Steam с настраиваемым магазином предметов, чтобы с лёгкостью выставлять и продавать предметы.
  • Случайная выдача предметов. Потребуется сервер предметов (или служба инвентаря Steam) для того, чтобы управлять выдачей предметов и вести учёт списка владельцев каждого предмета.
  • Набор дополнительного контента. Данное решение не требует использования сложной всеобъемлющей системы, однако вам придётся самому договориться об условиях выплат с авторами предметов Мастерской. Для каждого предмета, проданного как целое или часть дополнительного контента, вам потребуется самому договориться с автором предмета об оплате (либо единовременной выплате (проще), либо долгосрочной выплате процента авторских отчислений (дополнительная работа для вас). Вам также понадобится вести учёт об этих выплатах, рассчитать ставку удержания налогов и предоставить необходимые налоговые формы в зависимости от места проведения вашей коммерческой деятельности.
  • Предметы, добавленные в игру для бесплатного пользования. Данная опция содержит минимальные требования, однако вряд ли вдохновит авторов на создание предметов высокого художественного качества.

Объявление и выпуск

Материалы, необходимые для продвижения

To prepare your Workshop for launch, you'll need to supply the following items:
  • Верхнее изображение мастерской. Предназначено для того, чтобы придать узнаваемость главной странице продукта. Шаблон Photoshop можно найти здесь. При создании изображения используйте узнаваемые иллюстрации и логотип игры. Оставьте свободное место справа для названия и краткого описания того, как ваш продукт использует Мастерскую Steam.
  • Краткое описание. Укажите название и краткое описание того, как ваше приложение использует Мастерскую Steam. Это поможет пользователям понять, какие инструменты они смогут найти в вашей Мастерской и как они смогут ими воспользоваться.
  • Документация для ваших инструментов. Если на вашем веб-сайте или вики-странице уже есть документация с инструкциями по использованию инструментов Мастерской, укажите ссылку на странице управления данными Мастерской вашего приложения.

Объявление о выпуске и его сроки

При публикации интеграции Мастерской существует отличная возможность установить скидку на ваш продукт, чтобы извлечь выгоду из дополнительного ажиотажа, вызванного её появлением, и привлечь интерес большой группы пользователей к использованию Мастерской. Вы можете установить особую скидку в связи с выпуском Мастерской. For more details, please see the Предоставление скидок documentation.

Additionally, you can use an Update Visibility Round to get front-page visibility for your game to promote your new Workshop and sale (if you are running one). For more information on Visibility Rounds, please see Показы продукта в Steam documentation.

With a broad announcement of Workshop as a marketing tool, we find it helpful for potential customers if there is some amount of content already available in the Workshop for your game. It gives new customers a deeper sense of what your game is, and also shows an active and engaged user base. It also gives existing customers something actionable to do right away, and shows content creators what kinds of things they can create for your Workshop. At the very least, one item will need to be published in your Workshop for your game to appear at all in the list on the front page of the Steam Workshop.

There are a couple ways to accomplish this:
  1. Существует возможность использования закрытого бета-тестирования, пригласив ограниченное число пользователей, чтобы создать контент негласно до выпуска. Дополнительную информацию об использовании бета-тестирования можно найти в рубрике ниже.
  2. Вы также можете создать несколько предметов во внутреннем режиме, чтобы продемонстрировать возможности вашего инструментария Мастерской.

Использование закрытого бета-тестирования

Steam and the Steam Workshop makes it easy to run a private beta to allow a group of early testers to use your new tools and test the integration with the Workshop. This is a great way to get feedback on the flow of generating content and publishing and also to potentially launching your Workshop with a collection of items ready for fans to check out.

There are two parts to this:
  1. Бета-версия вашей игры (посредством Steam) - для начала необходимо создать обновлённую сборку вашей игры и настроить её в качестве бета-версии в Steam. Это позволяет Steam предоставить отдельную версию вашей игры, которую смогут выбрать пользователи для тестирования, а также по желанию защитить её паролем.
  2. Бета-версия вашей Мастерской (посредством группы) - существует возможность создать закрытую группу в сообществе Steam и обеспечить доступ к Мастерской Steam только участникам этой группы. Также существует возможность открыть доступ всем пользователям, владеющим вашим приложением.
    1. Создайте группу сообщества Steam в целях тестирования. Рекомендуется создать закрытую группу, если вы хотите предоставить доступ только избранным пользователям.
    2. Получите Steam ID группы. На странице группы нажмите «Редактировать профиль группы» и найдите ID группы вверху страницы (например: 2667495)
    3. На странице управления вашей игрой в Steamworks в разделе «Общие» под вкладкой «Мастерская» настройте статус видимости для разработчиков и тестировщиков. Вам предложат ввести этот код. Опубликуйте изменения.
      workshopvisibilitystate.PNG

Teхническая реализация

For technical details on implementing Steam Workshop with your title, please see the Руководство по Мастерской Steam.

Частые вопросы

В. Can uploads be made from a game or tool via Family Sharing?
A. No, uploading to the Steam Workshop cannot be done by a user that has a temporary license for the game or tool that does the uploading. This means users cannot upload content if they only own your game via Family Sharing or via another temporary license such as a Free Weekend.