Документация Steamworks
Мастерская Steam
In Brief
Steam Workshop is a place for your fans and community members to participate in the creation of content for your game.
Level of integration
Fairly advanced, but depends on your usage. You'll need to create an upload path in your game or separate tool. Plus, either hand-integrating content into your game or making your game load downloaded mods from disc.

Введение

The Steam Workshop is designed as a place for your fans and community members to participate in the creation of content for your game. The form of this creation by community members can vary depending on the nature of the game and what kind of control you wish to have over the content in your game.

This page is intended as an overview of the Steam Workshop and the different models available. For technical details on implementing Steam Workshop with your title, please see the Руководство по Мастерской 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

You are welcome to use Steam Workshop branding when promoting your Workshop. Click here to download Workshop branding assets. For more information about general Steam branding, refer to the Руководство по фирменному стилю Steam.

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

There are two main types of Steam Workshop integration options available. Each has benefits and trade-offs, so you should think carefully about which option makes the most sense for your product.
  1. Открытая Мастерская — любой пользователь может свободно загружать и скачивать контент. Это наиболее оптимальный способ поддержки большого числа предметов, модификаций или карт в игре вне зависимости от того, насколько они сложные. Скорее всего, вам придётся больше потрудиться заранее и создать полноценный редактор или инструмент проверки, чтобы авторский контент функционировал безупречно. Авторы предметов смогут обновить свой контент в любое время.

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

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

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

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

С чего начать

The best way to get started is to think about what kind of content is best suited for your customers to create to expand your game. For multi-player games you may have different kinds of content that makes sense than if you have a single-player game. Once you've figured that out, then you'll need to think about how your client will load the content and what kind of tools are necessary for customers to create that content. If you've got a game that customers are excited about, then they'll figure out ways of making the content for your game. But, as mentioned earlier, if you wish to support large scale modding of your game, you'll find it useful to release as much of your own development tools as possible to aid in the creation of content and modification of your game logic.

Once you've got basic modding up and running, then you'll need to integrate the ISteamUGC API so that your client can know which Workshop files the user is subscribed to and can download content as necessary. From there, enabling the option to sell items in this environment is trivial. The Steam Workshop takes care of collecting bank and tax info from authors, provides the tools for specifying pricing, provides the necessary user agreements, and handles all the backend payment processing and tax witholding. Your game just needs to figure out which files to load into your game client.

Интеграция

Here are some of the typical components to think about for integration of the Ready-To-Use Workshop model with your game:
  • Загрузка контента в клиент однопользовательской игры. Если вы хотите, чтобы созданный пользователями контент был готов к использованию, то игра должна иметь соответствующую структуру. Обычно это означает, что игре понадобится проверять, какие из файлов следует загружать. Если вы разрабатываете собственную систему проверки, рекомендуется, чтобы клиент игры сначала проверил список файлов, на которые подписан пользователь 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. If the mod was purchased, then Steam handles purchase of the item, payment processing, payments to the authors, payments to the game developer, and any necessary tax withholding.

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:
  • необходимо назначать особые характеристики для каждого предмета. Если вы принимаете через Мастерскую оружие, то вам, вероятно, важно будет указать такие характеристики, как скорость, мощность, урон и скорость перезарядки, чтобы наилучшим образом сбалансировать игровой процесс.
  • вы хотите строго контролировать содержимое игры. В зависимости от настроек игры вы сможете принимать предметы двумя различными способами:
    • Загрузка и сборка. Можно загрузить ресурсы на свой компьютер и добавить контент в хранилища игры. Этот способ предоставляет вам возможность редактировать и изменять предмет, чтобы обеспечить наилучший результат, или гарантировать строгое следование правилам руководства по стилю для каждого предмета.
    • Загрузка напрямую в клиент. Можно по необходимости напрямую скачать каждый подтверждённый предмет в клиенты игры. Это позволит авторам обновлять предметы, чтобы исправить ошибки.

С чего начать

You can get started right away by setting up your curated Workshop page, adding a simple form within your game, and posting guidelines and style guide information for potential item creators. To upload content to the Workshop, you'll need to integrate the ISteamUGC API (See the Руководство по Мастерской Steam). This will let item authors start coming up with ideas and posting their items to your Workshop for evaluation by the community. We typically suggest that you ask item authors to post finished items to the Workshop. 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.

Once you have your Workshop up and running, you can be working on integrating with the Steam Microtransactions API and the Steam Inventory Service in anticipation of selling the accepted items. When you have your store ready to go, you can then start accepting items, setting payment rules, and selling those items.

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

Here are some of the typical components to think about for integration of the Curated Workshop model with your game:
  • Загрузка контента от авторов. Вам понадобится инструмент, чтобы авторы могли загружать созданный контент в вашу Мастерскую. Он может представлять собой либо часть вашей игры, либо отдельное приложение. Можно начать с простого загрузчика, который требует от автора выбрать .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.

Frequently Asked Questions

Q. 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.