Документація Steamworks
Майстерня Steam
Коротко
Майстерня Steam — це місце, де ваші прихильники й учасники спільноти можуть брати учать у створенні вмісту для вашої гри.
Рівень інтеграції
Достатньо просунутий, залежить від бажаного рівня. Вам потрібно буде створити шлях завантаження предметів до гри або іншого інструмента. Окрім того, ви маєте визначитися, чи буде вміст завантажуватися вручну, чи гра автоматично завантажуватиме моди з диску.

Огляд

Майстерня Steam розроблена як місце, де ваші прихильники й учасники спільноти можуть брати учать у створенні вмісту для вашої гри. Створення вмісту учасниками спільноти може варіюватися залежно від характеру гри й того рівня контролю, який ви бажаєте мати над вмістом вашої гри.

Ця сторінка дає загальний огляд майстерні Steam та різних доступних моделей роботи. Технічні подробиці щодо впровадження майстерні Steam для вашого продукту ви знайдете в розділі про впровадження майстерні.

Відео: вступ до створеного користувачами вмісту та майстерні Steam.

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

Відео: користувацький вміст та майстерня в ARK: Survival Evolved

Презентація Джеремі Стіґліца зі Studio Wildcard на Steam Dev Days 2016 року про те, як створення користувацького вмісту в майстерні Steam допомогло розвитку сталої активної спільноти гри ARK: Surivival Evolved. У презентації також ідеться про деякі технічні та дизайнерські кроки, які сприяли такому результату.
https://www.youtube.com/watch?v=faweKXUTKgQ

Настанови щодо символіки майстерні

Ви можете вільно використовувати символіку майстерні Steam для просування своєї майстерні. Клацніть тут, щоби завантажити графічні елементи символіки майстерні. Для докладнішої інформації про загальну фірмову символіку Steam перегляньте розділ про символіку.

Типи майстерні

Існує два основних доступних для інтеграції типи майстерні. Кожен має свої переваги й недоліки, тож вам слід ретельно обдумати, який більше підходить для вашого продукту.
  1. Готова до вжитку майстерня. Кожен може вивантажувати вміст, гравці можуть завантажувати його без перевірки. Найкраще підходить для підтримки великої кількості предметів, модифікацій та мап у вашій грі, які можуть бути як простими, так і складними за своїм характером. Вам може знадобитися більше завчасної роботи для створення належного редактора чи інструмента перевірки, щоби пересвідчуватися чи авторський вміст правильно функціонує в грі. Автори таких предметів можуть оновлювати свій вміст у будь-який час.

  2. Курована майстерня. Найкраще підходить для ретельного контролю над предметами, що додаються і стають доступними у вашій грі. Однак потребує роботи для перевірки й оновлень для додавання кожного предмета в гру. Зазвичай це краще підходить для менших і нескладних елементів змісту, як-от зброя, капелюхи чи інші аксесуари. Якщо ці предмети продаються, то для відстеження того, які користувачі мають право споряджати предмети в грі, має використовуватися постійна служба інвентарю (як-от служба інвентарю Steam). А в самій грі повинна бути вбудована крамниця для продажу цих предметів. Ціни контролюються розробником.

Готова до вжитку майстерня

Для чого використовується

  • Потрібна підтримка великої кількості предметів. Готова до вжитку майстерня полегшує підтримку великої кількості предметів, модифікацій чи мап у вашій грі, які можуть бути як простими, так і складними за своїм характером. Якщо ви завчасно зробите інструменти для створення та редагування, то це дозволить користувачам бути більш активними щодо вашої гри.
  • Потрібна можливість оновлень вмісту в будь-який час. Автори готових до вжитку предметів можуть оновлювати їх, тобто редагувати, виправляти помилки чи розширювати свою модифікацію або предмет.

Перші кроки

Спершу необхідно подумати, який вміст можуть створювати користувачі для розширення вашої гри. Вміст для багатокористувацьких ігор суттєво відрізняється від вмісту для самітних ігор. Після того, як ви це з’ясуєте, потрібно обдумати способи, якими ваш клієнт вивантажуватиме вміст, і які інструменти необхідні, щоби користувачі могли створювати цей вміст. Якщо користувачам сподобалася ваша гра, то вони знайдуть способи створення вмісту для неї. Та, як згадувалося раніше, якщо ви хочете підтримувати створення широкомасштабних модифікацій своєї гри, буде корисно випустити якомога більше ваших власних розробницьких інструментів, що допоможуть створювати новий вміст і модифікувати логіку вашої гри.

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

Інтеграція майстерні

Ось деякі типові компоненти для інтеграції готової до вжитку майстерні у вашу гру:
  • Завантаження вмісту в ігровий клієнт самітної гри. Якщо ви хочете, щоби надісланий користувачами вміст міг використовуватися в грі, то потрібно структурувати гру так, щоби вона могла обробляти вміст цим чином. Зазвичай це означає, що гра має перевіряти, які з файлів слід завантажувати. Якщо ви працюєте над впровадженням нового елемента, то рекомендуємо, щоби ваш ігровий клієнт спершу перевірив список файлів, на які підписаний користувач, а потім завантажив відповідні теки. Вам також знадобиться середовище тестування, де творці модифікацій зможуть працювати над своїми роботами й завантажувати файли з цієї теки.
  • Завантаження вмісту в ігровий клієнт багатокористувацької гри. Якщо ви маєте предмети чи вміст, які потрібні кільком користувачам, щоби гра правильно функціонувала, то ви можете завантажити їх на всі клієнти, яким це потрібно. Наприклад, якщо користувач підписався на нестандартну мапу з майстерні, а потім запросив друзів приєднатися до цього матчу, то гра повинна розпізнати, що це нестандартна мапа й завантажити цей вміст із майстерні для інших користувачів раніше, ніж вони приєднаються до матчу.
  • Вивантаження вмісту його авторами. Вам знадобиться інструмент для авторів предметів, щоби вони могли вивантажувати свої роботи в майстерню за допомогою API ISteamUGC. Він може бути як простою формою всередині вашої гри, так і окремим застосунком. Оскільки предмети, які ви приймаєте, повинні бути готові до вжитку, то ваш інструмент повинен пропускати файли лише в тому форматі, який клієнт гри може завантажити разом із зображенням для попереднього перегляду. Залежно від вмісту, який ви просите авторів вивантажувати, вам можуть знадобитися ваші власні інструменти редагування (особливо для масштабних модифікацій гри, як-от зміни логіки, ігрових механік і того, що за межами змін зовнішнього вигляду). Наприклад, найбільш придатні до модифікацій ігри випускали власні розробницькі інструменти, щоб автори модифікацій могли використовувати ті ж інструменти, якими користувався розробник. Ці інструменти також можуть обмежувати й підтверджувати надісланий вміст, якщо ви хочете контролювати перезаписування файлів чи перелік доступних для зміни аспектів гри. Як частину інформації, що ви надаєте потенційним авторам майстерні, рекомендується створити посібник зі стилю й набір настанов щодо типів вмісту, який ви шукаєте, і типів вмісту, які ви не бажаєте бачити.

    Перегляньте розділ про впровадження для докладнішої інформації щодо роботи з API Steamworks для майстерні Steam.

Надання предметів користувачам

Предмети готової до вжитку моделі майстерні автоматично доступні для підписки (якщо вони безкоштовні) чи придбання (якщо вони платні) й автоматично завантажуються через клієнт Steam (для правильної роботи цього необхідна інтеграція вашого продукту з API ISteamUGC; докладнішу технічну документацію читайте в розділі про впровадження майстерні). Майстерня Steam оновлює клієнт гри до останніх версій модифікацій. Якщо модифікація купується, то Steam обробляє придбання, процес платежу, виплати авторам, виплати розробнику гри, а також будь-які необхідні податкові відрахування.

За бажанням ви можете створити внутрішньоігровий оглядач майстерні для показу наявних предметів.

Курована майстерня

Головна характеристика курованої майстерні Steam полягає в тому, що вам як розробнику потрібно підтверджувати кожен предмет, тож вам, імовірно, знадобиться сервер предметів (або служба інвентарю Steam) для управління власністю предметів. Цей процес дає багато контролю над предметами, які додаються в гру, але потребує певної роботи для прийняття кожного нового предмета.

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

Для чого використовується

Модель курованої майстерні буде корисною, якщо ви:
  • Потребуєте призначення особливих характеристик для кожного предмета. Якщо ви приймаєте через майстерню такі предмети, як-от зброя, то для вас може бути важливим призначення характеристик цієї зброї: швидкості, потужності, шкоди, часу перезарядки тощо. Це потрібно для правильного ігрового балансу вашої гри.
  • Хочете ретельно контролювати вміст, який додається до вашої гри. Залежно від налаштувань вашої гри, ви можете приймати предмети двома різними способами:
    • Завантаження та збірка. Якщо ви хочете завантажувати елементи на власний комп’ютер і включати їх до сховищ своєї гри. Це дає вам можливість редагувати чи модифікувати предмет, якщо вам потрібно його оптимізувати чи привести до належного вигляду відповідно до свого строгого стилю.
    • Завантаження в клієнт. Якщо ви бажаєте, щоби кожен прийнятий предмет міг одразу додаватися в клієнт. Це дозволить авторами оновлювати свої витвори для виправлення помилок.

Перші кроки

Ви можете одразу розпочати зі встановлення курованої сторінки майстерні шляхом додавання простої форми в грі та публікації настанов і посібників зі стилю для потенційних творців предметів. Для вивантаження вмісту до майстерні вам потрібно інтегрувати API ISteamUGC (див. розділ про впровадження майстерні). Це дозволить авторам почати розробку ідей та публікацію своїх предметів до майстерні для оцінювання спільнотою. Ми рекомендуємо просити авторів публікувати в майстерні лише завершені предмети. Якщо ви дозволите публікацію незавершених робіт чи концептів, тоді вам потрібно обдумати процес перетворення цих ідей у реальні предмети, що зазвичай дуже складно доцільно масштабувати.

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

Інтеграція майстерні

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

    Як частину інформації, що ви надаєте потенційним авторам майстерні, рекомендується створити посібник зі стилю й набір настанов щодо типів вмісту, який ви шукаєте, і типів вмісту, які ви не бажаєте бачити.

    Коли користувач вивантажив предмет до майстерні за допомогою вашого інструмента подання, то доцільно направити його на сторінку щойно опублікованого предмета. Це дасть автору можливість прийняти всі угоди, які він досі не прийняв, як-от угоду підписника Steam чи угоду майстерні.
  • Інтеграція предмета в гру (необов’язково). Якщо вам необхідно призначити особливі характеристики для предмета, як-от ефекти зброї чи щось подібне, що творець не може визначити під час вивантаження, тоді вам потрібно завантажити предмет із сайту майстерні та включити цей вміст у свої сховище. Одночасно вам потрібно призначити належні характеристики й зробити необхідні редагування. Обсяг роботи на цьому етапі залежатиме від того, настільки ретельну перевірку робить ваш інструмент подання, а також від якості створюваного користувачами вмісту.
  • Завантаження без перевірки. Якщо вам не потрібно редагувати предмети чи додавати до них особливі характеристики, то ви можете надсилати запити на отримання предметів безпосередньо із серверів вмісту майстерні. Для отримання списку предметів у володінні користувача слід використати ISteamInventory (під час використання служби інвентарю Steam). Потім для кожного предмета у володінні користувача перевірте, чи це предмет майстерні, а потім:
    • Викличте ISteamUGC::GetItemState із параметром ID предмета й перевірте, чи встановлено k_EItemStateNeedsUpdate, аби чи не встановлено k_EItemStateInstalled.
    • Викличте ISteamUGC::DownloadItem, якщо потрібно.
    • Зачекайте зворотного виклику ISteamUGC::DownloadItemResult_t й зробіть вміст доступним у грі.
  • Служба інвентарю і створення визначень предметів. Якщо ваші предмети призначені для продажу в грі чи надання обмеженій кількості користувачів, то вам знадобиться сервер предметів (або служба інвентарю Steam) для відстеження власності на кожен предмет, щоби ваша гра знала, чи гравці мають дозвіл на спорядження предмета. Ця служба інвентарю також знадобиться для продажу предметів чи управління випадковими випадіннями або іншими подіями, що спричиняють надання предметів користувачам.
  • Додавання платіжних правил. Коли ви будете готові продавати предмети, Steam повинен знати, які предмети майстерні пов’язані з визначеннями предметів на вашому сервері предметів чи в службі інвентарю Steam. Це посилання встановлює платіжні правила, щоби Steam правильно розподілив прибуток від кожного продажу предмета. Коли ваша служба інвентарю ініціюватиме продаж через API мікротрансакцій Steam, Steam знатиме, який предмет майстерні придбано, і зможе обрахувати прибуток і виплати автору чи авторам предмета.

    Клацніть «Створити нові правила платежів» під вкладкою майстерні на сторінці налаштувань Steamworks для вашого застосунку, щоб управляти своїми платіжними правилами.

  • Продаж предметів Якщо ви плануєте мати крамницю для продажу цих предметів, то можете самостійно створити інтерфейс у своїй грі, або ж використати крамницю предметів Steam. Для кожного придбання Steam дбатиме про наступне:
    • Збирання та зберігання банківської й податкової інформації для кожного автора предметів майстерні.
    • Обрахування та належні виплати авторам кожного предмету відповідно до кількості проданих предметів.
    • Стягування необхідних податків на прибуток із кожного автора.
    • Надання річних податкових звітів кожному автору предметів.

Надання предметів користувачам

Модель курованої майстерні дає кілька способів для надання предметів користувачам:
  • Продаж предметів у внутрішньоігровій крамниці за допомогою мікротрансакцій. Якщо ви користуєтеся власною службою інвентарю, то її потрібно буде інтегрувати з API мікротрансакцій Steam. Або ж ви можете скористатися службою інвентарю Steam, яка також містить придатну до налаштування крамницю предметів для легкого виставляння та продажу предметів.
  • Випадкові випадіння предметів. Знадобиться сервер предметів (або служба інвентарю Steam) для управління випаданнями та запису власності кожного предмета.
  • Комплект завантажуваного вмісту. Це зазвичай не потребує великої системи для впровадження, але вам доведеться самостійно домовлятися про виплати авторам майстерні. Для кожного предмета, що продається як завантажуваний вміст чи частина завантажуваного вмісту, вам доведеться укласти угоду з автором майстерні щодо того, скільки ви йому платитимете і як — одноразово (легше) чи у формі постійної виплати авторських відрахувань (потребуватиме від вас постійних дій). Вам також знадобиться вести облік цих платежів, рахувати необхідні податкові стягнення й надавати необхідні податкові форми залежно від того, де ви здійснюєте свою комерційну діяльність.
  • Просте додавання предметів у гру для всіх. Це потребує мінімальних зусиль, але натомість не мотивуватиме авторів предметів робити дійсно якісні подання.

Оголошення та випуск

Необхідні рекламні матеріали

Для підготовки своєї майстерні до виходу вам необхідно надати:
  • Верхнє зображення для майстерні. Це зображення призначене для того, щоби додати впізнаваності вашому продукту на вашій домашній сторінці майстерні. Ми маємо шаблон Photoshop для цього ось тут. Для цього зображення доцільно використовувати впізнавані ілюстрації з гри, а також ігровий логотип. Будь ласка, лишіть трохи вільного місця праворуч, де буде розташована назва й короткий опис того, як ваш продукт використовує майстерню Steam.
  • Короткий опис. Вам слід вказати назву й один чи два рядки тексту про те, як ваш застосунок використовує майстерню Steam. Це допоможе користувачам зрозуміти, що вони можуть очікувати тут знайти, і як можуть використовувати ваші інструменти.
  • Документація для ваших інструментів. Якщо ви вже маєте документацію на своєму сайті, або ж вікі, яка допомагає користувачам розібратися з інструментами, то вкажіть посилання на сторінці налаштування майстерні для свого застосунку. Якщо ж ні, то варто створити посібник Steam для вашої гри, де ви познайомите нових користувачів із інструментами для створення вмісту у вашій майстерні.

Оголошення про випуск і терміни

Після виходу інтеграції з майстернею може бути корисним установити знижку на вашу гру, щоби привернути ще більше уваги до нової майстерні й залучити багато нових гравців до використання майстерні. Ви можете встановити власну знижку у зв’язку із запуском майстерні. Для докладнішої інформації перегляньте розділ про знижки.

Ви також можете скористатися раундом видимості оновлення, щоб отримати покази вашої гри на головній сторінці для просування нової майстерні та розпродажу (якщо ви його маєте). Для докладнішої інформації перегляньте розділ про видимість у Steam.

Широке висвітлення майстерні є гарним інструментом просування продукту, тому існування якогось вмісту для вашої гри в майстерні на час оголошення буде дуже корисним для користувачів. Це дасть новим користувачам глибше розуміння гри, а також продемонструє активну й зацікавлену базу гравців. Уже наявні користувачі отримують таким чином можливість одразу діяти, а творці вмісту бачитимуть, що саме вони можуть створювати у вашій майстерні. Принаймні один предмет має бути опублікований у вашій майстерні, щоби гра з’явилася в списку на головній сторінці майстерні Steam.

Існує два способи цього досягти:
  1. Можна використати закрите бета-тестування й запросити певну кількість користувачів для створення вмісту до випуску. Докладнішу інформацію про запуск бета-тестування можна знайти в розділі нижче.
  2. Також ви можете самостійно створити кілька предметів, щоби продемонструвати, що можна робити за допомогою ваших інструментів.

Використання закритого бета-тестування

Steam і майстерня Steam дозволяють легко запустити закрите бета-тестування, щоби дозволити групі тестувальників скористатися вашими новими інструментами й перевірити інтеграцію гри з майстернею. Це чудовий спосіб зібрати відгуки щодо процесу створення та публікації вмісту, а також випустити вашу майстерню зі вже готовим набором предметів.

Бета-тестування складається з двох частин:
  1. Бета-версія вашої гри (через Steam). Спершу потрібно створити оновлену збірку гри й встановити її як бета-версію в Steam. Це дозволить Steam надати окрему версію гри, яку користувачі зможуть обрати для тестування. Її за потреби можна захистити паролем.
  2. Бета-версія майстерні (через групу). Ви можете створити групу в спільноті Steam і використовувати участь у ній для надання доступу до майстерні Steam. Ви також можете просто надати доступ усім, хто володіє вашим застосунком.
    1. Створіть групу в спільноті Steam для потреб тестування. Її варто зробити закритою, якщо ви плануєте обмежити доступ лише тим, кого самі оберете.
    2. Отримайте SteamID цієї групи. На сторінці групи клацніть «Редагувати профіль групи» і знайдіть «ID» вгорі сторінки (наприклад: 2667495).
    3. На сторінці адміністрування вашої гри в Steamworks під вкладкою «Майстерня» клацніть на загальні налаштування, де встановіть видимість лише для розробників і тестувальників. Вам буде запропоновано ввести ID групи. Опублікуйте ваші зміни.
      workshopvisibilitystate.PNG

Технічне впровадження

Для технічних подробиць щодо впровадження майстерні Steam для вашого продукту перегляньте розділ про впровадження майстерні.

Часті питання

П. Чи можна здійснювати вивантаження з гри чи інструмента через сімейну бібліотеку?
В. Ні, вивантаження до майстерні Steam не може робити користувач, що має лише тимчасову ліцензію на гру чи інструмент вивантаження. Це означає, що користувачі не можуть вивантажувати вміст, якщо в них є доступ до гри лише через сімейну бібліотеку або тимчасову ліцензію, як-от «безкоштовні вихідні».