Dokumentacja Steamworks
Warsztat 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.

Wprowadzenie

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 Poradnik implementacji Warsztatu Steam.

Wideo: wprowadzenie do treści tworzonych przez użytkowników i do Warsztatu Steam

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

Wideo: treści tworzone przez użytkowników i warsztat w 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: Surivival Evolved. And some of the technical and design steps they took to make it happen.
https://www.youtube.com/watch?v=faweKXUTKgQ

Wytyczne marki warsztatu

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 Wytyczne marki Steam.

Rodzaje warsztatów

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. Warsztat z przedmiotami gotowymi do użycia — każdy użytkownik może swobodnie pobierać i wysyłać treści. Jest to najlepszy sposób na obsługę dużej liczby prostych lub złożonych przedmiotów, modyfikacji lub map w grze. Prawdopodobnie konieczne okaże się wcześniejsze wykonanie dużej ilości pracy w celu utworzenia odpowiedniego edytora lub narzędzia weryfikującego, dzięki któremu upewnisz się, że stworzona zawartość będzie działała poprawnie w twojej grze. Autorzy tych przedmiotów będą mogli w każdej chwili zaktualizować swoje treści.

  2. Moderowany warsztat — jest to najbardziej optymalny sposób na utrzymanie ściślejszej kontroli nad przedmiotami, które są dodawane do twojej gry i w niej udostępniane, ale dodanie każdego przedmiotu do twojej gry wymaga pracy oraz zaktualizowania produktu. Jest to lepsza opcja dla mniejszych i prostszych treści takich jak bronie, czapki i inne akcesoria. Jeżeli te przedmioty będą sprzedawane, to musisz wykorzystać usługę trwale przechowującą przedmioty (np. usługę Ekwipunku Steam) w celu śledzenia, którzy użytkownicy mogą korzystać z przedmiotów w grze, a w celu sprzedaży przedmiotów musisz stworzyć wbudowany sklep. Ceny ustala producent.

Warsztat z przedmiotami gotowymi do użycia

Dlaczego warto korzystać

  • Chcesz wspierać dużą liczbę przedmiotów. Warsztat z przedmiotami gotowymi do użycia ułatwia wspieranie dużej liczby przedmiotów, modyfikacji lub map w twojej grze niezależnie od stopnia ich skomplikowania. Tworząc wcześniej narzędzia do tworzenia i edytowania przedmiotów, zachęcisz użytkowników do większej aktywności związanej z twoją grą.
  • Chcesz, by autorzy mogli aktualizować zawartość w dowolnym momencie. Autorzy przedmiotów gotowych do użycia będą mogli aktualizować swoje przedmioty, tj. edytować zawartość, naprawiać błędy, rozszerzać zawartość oraz możliwości swoich modyfikacji i przedmiotów.

Pierwsze kroki

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.

Sposób integracji

Here are some of the typical components to think about for integration of the Ready-To-Use Workshop model with your game:
  • Wczytywanie zawartości do klienta gry jednoosobowej – jeśli chcesz, aby zawartość stworzona przez użytkowników była gotowa do użycia w twojej grze, musisz w taki sposób zaprojektować swoją grę, aby odpowiednio obsługiwała tak stworzoną dodatkową zawartość. Zwykle oznacza to, że gra będzie musiała sprawdzić, które pliki powinny zostać wczytane. Jeśli tworzysz nową implementację, to sugerujemy, aby twój klient gry najpierw sprawdzał listę plików, które subskrybuje użytkownik Steam, a następnie wczytywał odpowiednie foldery. Będziesz także potrzebować określonego środowiska testowego, w którym twórcy modyfikacji będą mogli nad nimi pracować i wczytywać pliki z odpowiedniego katalogu.
  • Wczytywanie zawartości do klienta gry wieloosobowej – jeśli posiadasz przedmioty lub zawartość, którą muszą posiadać wszyscy użytkownicy do poprawnego działania, możesz je pobrać dla wszystkich klientów, którzy ich w danej chwili potrzebują. Jeśli przykładowo jeden z graczy zasubskrybował niestandardową mapę w warsztacie, a następnie zaprosi znajomych do meczu, twoja gra powinna być w stanie rozpoznać, że jest to niestandardowa mapa i sprawić, by inni użytkownicy pobrali zawartość z warsztatu przed pełnym połączeniem do tego meczu.
  • Przesyłanie pozycji przez autorów przedmiotów – potrzebne ci będzie narzędzie dla autorów przedmiotów, dzięki któremu będą mogli przesyłać swoje pozycje do twojego warszatu za pomocą API ISteamUGC. Może to być zarówno zwyczajny formularz w twojej grze, jak i oddzielna aplikacja. Z racji tego, iż akceptowane przez ciebie przedmioty muszą być gotowe do użycia, twój zestaw narzędzi do przesyłania powinien akceptować tylko formaty plików, które klient gry już wczytuje, a także obraz podglądu. W zależności od treści, o których przesłanie prosisz autorów, możesz potrzebować własnych narzędzi do edycji (zwłaszcza w przypadku dużych modyfikacji gier, jak np. zmiana logiki gry, rozgrywki i wszystkiego, co wykracza poza granice zmiany wyglądu istniejących obiektów). Przykładowo najczęściej modyfikowane gry wydały własne narzędzia deweloperskie, dzięki którym autorzy modyfikacji mogą korzystać z tych samych narzędzi co programiści. Te narzędzia mogą również ograniczać i weryfikować zgłaszane treści, jeśli chcesz kontrolować, które pliki mogą zostać zastąpione lub jakie aspekty gry zmienione. W ramach informacji dostarczanych potencjalnym twórcom przedmiotów w warsztacie zaleca się utworzenie przewodnika, a także sformułowanie wytycznych dotyczących treści, które można zamieszczać w twojej grze lub nie.

    Sprawdź tę sekcję dokumentacji, by uzyskać szczegółowe informacje na temat rozpoczęcia z korzystania części Warsztatu Steam związanej z API Steamworks.

Dostarczanie przedmiotów do użytkowników

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 Poradnik implementacji Warsztatu 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.

Moderowany warsztat

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.

Dlaczego warto korzystać

The Curated Workshop model is useful for your game if you:
  • Musisz przypisać atrybuty specyficzne dla każdego przedmiotu. Jeśli poprzez warsztat akceptujesz przedmioty takie jak broń, to możliwość przypisania atrybutów, np. szybkość, moc, obrażenia, czas przeładowania itp. może być dla ciebie ważna, jeżeli chcesz jak najlepiej zbalansować rozgrywkę w swoim tytule.
  • Chcesz większej kontroli nad treściami dodawanymi do twojej gry. W zależności od konfiguracji twojej gry możesz akceptować przedmioty na dwa sposoby:
    • Pobierz i skompiluj – jeżeli chcesz pobrać zasoby na swój lokalny komputer i załączać je w swoich magazynach zawartości gry. Daje to możliwość modyfikowania i edytowania przedmiotu w celu optymalizacji lub narzucenia pewnych wytycznych odnośnie stylistyki dla każdego z twoich przedmiotów.
    • Bezpośrednio do klienta – jeżeli chcesz, by każdy zaakceptowany przedmiot był pobierany bezpośrednio do klientów w razie potrzeby. Pozwoli to autorom przedmiotów na ich aktualizację w przypadku błędów.

Pierwsze kroki

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 Poradnik implementacji Warsztatu 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.

Sposób integracji

Here are some of the typical components to think about for integration of the Curated Workshop model with your game:
  • Akceptowanie pozycji autorów przedmiotów — potrzebne ci będzie narzędzie, dzięki któremu autorzy przedmiotów będą mogli przesyłać swoje pozycje do twojego warsztatu. Może to być zarówno zwyczajny formularz w twojej grze, jak i oddzielna aplikacja. Możesz zacząć od prostego programu do przesyłania, który wymaga od twórcy przedmiotu wybrania pliku .zip oraz obrazu podglądu lub możesz stworzyć bardziej złożony sposób walidacji przesyłanych plików. Na przykład warsztat Team Fortress 2 rozpoczął się tylko od formularza zgłoszeniowego, który wymagał od autora wybrania pliku .zip i obrazu podglądu. Ale w trakcie rozwoju tego procesu dodaliśmy środowisko służące do testowania oraz walidacji, aby upewnić się, że plik przesłany do warsztatu będzie mógł zostać w prosty sposób zintegrowany z grą.

    W ramach informacji dostarczanych potencjalnym autorom przedmiotów w warsztacie pamiętaj o stworzeniu poradnika stylistycznego oraz sformułowaniu zbioru wytycznych o rodzajach zawartości, jaka miałaby znajdować się w twojej grze lub nie.

    Gdy użytkownik już prześle przedmiot do warsztatu przy użyciu twojego dedykowanego narzędzia, to warto przekierować go do strony przedmiotu, który właśnie zamieścił. To pozwoli mu zaakceptować wszelkie umowy, których jeszcze nie zaakceptował, takie jak Umowa użytkownika Steam lub Umowa warsztatu.
  • Integracja przedmiotu z grą (opcjonalnie) — jeśli musisz przypisać przedmiotowi specjalne atrybuty takie jak na przykład efekty broni lub cokolwiek, czego twórca nie jest w stanie zrobić podczas przesyłania, musisz pobrać przedmiot ze strony warsztatu i dołączyć zawartość do swoich magazynów zawartości. W tym samym czasie musisz przypisać stosowne atrybuty i wprowadzić niezbędne zmiany. Ilość pracy na tym etapie będzie zależeć od ilości walidacji wykonywanej przez twoje narzędzie do przesyłania oraz od jakości treści otrzymanej od autorów.
  • Pobieranie w locie — jeśli nie musisz samodzielnie edytować przedmiotów lub przypisywać im specjalnych atrybutów, możesz wykonać kilka wywołań, by uzyskać posiadane przedmioty bezpośrednio z serwerów treści warsztatu. Aby uzyskać listę przedmiotów, które posiada użytkownik, musisz użyć ISteamInventory (jeśli używasz usługi Ekwipunku Steam). Następnie dla każdego przedmiotu posiadanego przez użytkownika sprawdź, czy pochodzi on z warsztatu, po czym:
  • Usługa ekwipunku i tworzenie definicji przedmiotów — jeśli twoje przedmioty mają być sprzedawane w grze lub przyznawane w inny sposób ograniczonej liczbie użytkowników, to potrzebny ci będzie serwer przedmiotów (lub usługa Ekwipunku Steam), by śledzić prawa własności każdego przedmiotu, by twoja gra wiedziała, które klienty posiadają uprawnienia do korzystania z przedmiotu. Ta usługa będzie również potrzebna do sprzedaży tych przedmiotów oraz do zarządzania losowo przyznawanymi przedmiotami lub innymi wydarzeniami powodującymi ich przyznanie klientom.
  • Dodawanie zasad płatności — gdy będziesz gotów, aby zacząć sprzedaż swoich przedmiotów, Steam będzie musiał wiedzieć, które przedmioty z warsztatu są powiązane z którymi definicjami przedmiotów na twoim serwerze przedmiotów lub w usłudze Ekwipunku Steam. Ten link określa reguły płatności, dzięki czemu Steam prawidłowo rozdziela przychody ze sprzedaży każdego przedmiotu odpowiednim użytkownikom. Więc kiedy twoja usługa ekwipunku rozpocznie sprzedaż za pośrednictwem API mikrotransakcji Steam, Steam otrzyma informacje o sprzedanym przedmiocie z warsztatu i zajmie się prawidłowym obliczeniem kwoty przychodu i płatności dla autora (lub autorów) tego przedmiotu.

    Możesz zarządzać regułami płatności, klikając opcję „Wprowadź nowe zasady płatności” w zakładce „Warsztat” na stronie ustawień Steamworks dla twojej aplikacji.

  • Sprzedaż przedmiotów — jeśli planujesz posiadać sklep sprzedający te przedmioty, możesz sam stworzyć interfejs użytkownika dla sklepu lub wykorzystać sklep z przedmiotami Ekwipunku Steam. Przy każdym zakupie Steam zadba o back-endowe szczegóły takie jak:
    • Zbieranie i przechowywanie informacji bankowych oraz podatkowych dotyczących każdego autora warsztatu.
    • Obliczanie i przyznawanie stosownych wypłat dla każdego autora na podstawie sprzedanych przedmiotów.
    • Niezbędne potrącenia podatku dochodowego dla każdego autora przedmiotu.
    • Wystawienie na koniec roku dokumentów podatkowych dla każdego autora.

Dostarczanie przedmiotów do użytkowników

With the Curated Workshop model, there are a number of ways you can allow customers to get the items:
  • Sprzedaż w sklepie w grze poprzez mikrotransakcje — jeśli używasz własnej usługi ekwipunku, wymagana będzie integracja z API mikrotransakcji Steam. Możesz też użyć usługi Ekwipunku Steam, która również zawiera konfigurowalny sklep z przedmiotami, dzięki któremu można łatwo wystawiać i sprzedawać przedmioty.
  • Losowe przyznawanie przedmiotów — wymaga to serwera przedmiotów (możesz również użyć usługi Ekwipunku Steam), aby zarządzać przyznawaniem przedmiotów i prowadzić rejestr właścicieli każdego przedmiotu.
  • Załączenie jako DLC — to rozwiązanie nie wymaga złożonej infrastruktury, ale musisz samodzielnie uzgodnić warunki płatności ze współtwórcami z warsztatu. W przypadku każdego przedmiotu sprzedawanego jako DLC lub jako część DLC musisz uzgodnić z autorem przedmiotu kwestię płatności (płatność jednorazowa — łatwiejsza — lub bieżące tantiemy (wymaga dodatkowej ciągłej pracy z twojej strony). Musisz również prowadzić ewidencję tych płatności, obliczać podatek pobierany u źródła i dostarczać wymagane formularze podatkowe w zależności od lokalizacji twojej firmy.
  • Po prostu dodaj przedmioty do gry za darmo dla wszystkich — ta opcja wymaga minimalnej infrastruktury, ale prawdopodobnie nie będzie motywowała autorów do tworzenia przedmiotów wysokiej jakości.

Ogłaszanie i premiera

Potrzebne materiały marketingowe

To prepare your Workshop for launch, you'll need to supply the following items:
  • Obraz nagłówka warsztatu — ten obraz ma na celu zwiększenie rozpoznawalności twojego produktu na stronie domowej. Szablon dla programu Photoshop można znaleźć tutaj. Obraz nagłówka powinien zawierać charakterystyczne prace graficzne z gry oraz jej logo. Prosimy o pozostawienie po prawej stronie miejsca na krótki tytuł i tekst opisujący sposób wykorzystania Warsztatu Steam przez produkt.
  • Krótki opis — podaj tytuł i krótki opis tego, w jaki sposób aplikacja korzysta z Warsztatu Steam. Dzięki temu klienci będą wiedzieć, czego mogą się spodziewać i jak mogą wykorzystać twoje narzędzia.
  • Dokumentacja twoich narzędzi — jeśli na stronie internetowej lub stronie wiki posiadasz już dokumentację z instrukcjami odnośnie korzystania z twoich narzędzi, wprowadź URL na stronie konfiguracyjnej warsztatu dla swojej aplikacji. W przeciwnym wypadku zastanów się nad stworzeniem poradnika na Steam dla swojej gry, by wprowadzić nowych użytkowników do twoich narzędzi umożliwiających tworzenie zawartości do twojego warsztatu.

Ogłoszenie o premierze oraz odpowiednia pora

When you launch your Workshop integration, it may be a great opportunity to run a discount on your product to capitalize on the additional buzz of the new Workshop and to get a bunch of new players to use the Workshop. You can configure your own discount to run in conjunction with your Workshop launch. For more details, please see the Zniżki 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 Widoczność na 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. Możliwe jest przeprowadzenie zamkniętej bety oraz zaproszenie ograniczonej liczby użytkowników, jeżeli chcesz przetestować nowe funkcje na niewielkiej grupie i po cichu utworzyć nieco treści przed premierą. Więcej informacji na ten temat znajdziesz poniżej.
  2. Możesz też wewnętrznie stworzyć kilka przedmiotów, aby zademonstrować możliwości twojego zestawu narzędzi.

Przeprowadzenie prywatnej bety

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. Wersja beta twojej gry (przez Steam) — najpierw musisz stworzyć zaktualizowaną kompilację swojej gry i ustawić ją jako wersję beta na Steam. Dzięki temu Steam może dostarczyć oddzielną wersję gry, którą użytkownicy mogą wybrać do testowania, a także opcjonalnie zabezpieczyć ją hasłem.
  2. Wersja beta warsztatu (poprzez grupę) — możesz stworzyć grupę w Społeczności Steam i zapewnić jej członkom dostęp do Warsztatu Steam. Możesz też po prostu przyznać dostęp wszystkim klientom, którzy posiadają twoją aplikację.
    1. Stwórz grupę Społeczności Steam, którą wykorzystasz do testowania. Zaleca się utworzenie grupy prywatnej, jeśli planujesz ograniczyć dostęp tylko do wybranych użytkowników.
    2. Uzyskaj ID Steam tej grupy. Na stronie swojej grupy kliknij „Edytuj profil grupy” i znajdź „Identyfikator” grupy na górze tej strony (np. 2667495).
    3. Na stronie administratora Steamworks dla twojej gry w zakładce „Warsztat” kliknij „Ogólne”, a następnie ustaw widoczność na „Producenci i testerzy”. Poprosimy cię o wprowadzenie tego ID. Opublikuj swoje zmiany.
      workshopvisibilitystate.PNG

Implementacja techniczna

For technical details on implementing Steam Workshop with your title, please see the Poradnik implementacji Warsztatu 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.