Dokumentacja Steamworks
Zawartość do pobrania (DLC)

Wprowadzenie

Steam obsługuje zarówno darmowe, jak i płatne zawartości do pobrania (DLC), które użytkownik może dodać za pomocą klucza lub zakupić w Sklepie Steam. W kliencie Steam gra z zawartością do pobrania pojawia się jako pojedyncza aplikacja na liście gier użytkownika. Treść do pobrania jest widoczna w oknie właściwości gry.

Po dodaniu do konta zawartość do pobrania jest traktowana jako integralna część gry. Podczas instalacji gry Steam automatycznie pobiera zawartość i aktualizuje ją, jeśli jakaś łatka jest dostępna.

Niektóre przykłady dodatkowych treści, które mogą być rozprowadzane w formie DLC, obejmują:
  • rozszerzenia
  • nowe mapy lub poziomy
  • dodatkowe postacie.
DLC może być używane dla dodatkowej zawartości, która nie jest wyświetlana w grze, np.:
  • albumów graficznych lub tapet.
Ścieżki dźwiękowe są obsługiwane za pomocą specjalnego typu ID aplikacji, który jest różny od DLC. Inne typy treści w grze takie jak przedmioty ozdobne, zużywalne czy waluty będą obsługiwane lepiej przez mikrotransakcje.

Najlepsze praktyki

Zawartość do pobrania jest świetną okazją do zaoferowania dodatkowej wartości użytkownikom, którzy są zainteresowani dalszym inwestowaniem w produkt. Treści DLC mogą też z kolei przynosić koszty w formie innej niż finansowa (np. perspektywa i opinie graczy), a które są trudne do oszacowania. Złym pomysłem może być wydanie DLC zaraz po wydaniu podstawowej wersji gry, gdyż użytkownicy mogą zakładać, że pełna wersja gry była gotowa do wydania, ale jako producent zdecydowałeś się na odebranie części zawartości w celu zarobienia większej ilości pieniędzy za pomocą płatnego DLC.

Samouczek wideo

Ten samouczek wideo Steamworks przedstawia proces tworzenia i konfigurowania DLC dla twojego produktu na Steam.

Konfiguracja

Pamiętaj: twoja gra będzie musiała sprawdzić, czy użytkownik jest posiadaczem DLC. Jeśli prowadzisz grę online z zabezpieczonym serwerem i używasz klucza API webowego, możesz opierać się na wywołaniu interfejsu API webowego CheckAppOwnership, by w bezpieczny sposób sprawdzić, czy użytkownik posiada DLC.
Inne gry mogą korzystać z API klienta BIsSubscribedApp, by sprawdzić stan posiadania DLC.

Aby dowiedzieć się więcej na temat identyfikowania użytkowników i weryfikacji stanu posiadania, sprawdź poradnik dotyczący stanu własności i uwierzytelniania.

Na Steam każdemu elementowi zawartości do pobrania przypisany jest własny identyfikator aplikacji (AppID). W przeciwieństwie do podstawowej gry, ID aplikacji (AppID) DLC jest używane jako identyfikator magazynu zawartości (DepotID).

Nowe ID aplikacji dla DLC można stworzyć, przechodząc na stronę „Wszystkie powiązane pakiety, DLC, dema i narzędzia” bazowej gry i klikając przycisk „Dodaj nowe DLC”.


Klient Steam przechowuje wszelkie pobrane DLC w folderze gry. Każde twoje DLC może być dostarczane na dwa sposoby:
  • Zawartość może być umieszczona wraz z innymi plikami gry, które są dostarczane do wszystkich jej właścicieli. Twoja gra może następnie użyć ISteamApps::BIsDlcInstalled, aby określić, czy użytkownik posiada zawartość. Ta metoda jest przydatna, kiedy wszyscy gracze mogą zobaczyć zawartość, ale trzeba ją posiadać, aby jej użyć (np. jednostki w strategiach czasu rzeczywistego, skórki w trybach wieloosobowych itp.).
  • Zawartość może być przechowywana w nowym magazynie zawartości, który zostanie pobrany tylko przez użytkowników posiadających te treści.

Dodatkowe informacje są dostępne w dziale o magazynach zawartości.

Zakupy w grze

Gry ze Steamworks mogą obsługiwać zawartość pobieraną z poziomu gry, co z kolei pozwala użytkownikom przeglądać, kupować i pobierać nowe treści bez opuszczania gry. Steam może wyświetlić użytkownikowi wszelką dostępną zawartość i przejść przez cały proces zakupu za pomocą sesji przeglądarki internetowej znajdującej się w nakładce Steam, która przesłania obecnie uruchomioną grę. Kiedy użytkownik kupi DLC, Steam automatycznie pobierze je, wyświetli użytkownikowi powiadomienie Steam w grze po zakończeniu pobierania, a także poinformuje grę, że pobieranie zostało zakończone i że użytkownik posiada nową zawartość.

Aby wyświetlać zawartość do pobrania w nakładce Steam, gry ze Steamworks mogą korzystać z ISteamFriends::ActivateGameOverlayToStore. ISteamFriends::ActivateGameOverlayToStore może wyświetlić całą dodatkową zawartość do pobrania dla twojej gry (przekaż AppID gry jako argument) lub informacje o określonym DLC (przekaż AppID danego DLC jako argument). Przed przekierowaniem użytkownika do sklepu gra obsługująca Steamworks powinna wywołać ISteamUtils::IsOverlayEnabled, by określić, czy użytkownik wyłączył nakładkę Steam w ustawieniach klienta.

Uwaga: aby zapobiec możliwemu konfliktowi pomiędzy wersją gry a dodatkowymi treściami, Steam pobierze nową treść tylko wtedy, gdy użytkownik ma najnowszą wersję gry.

Konfigurowanie dodatkowych magazynów zawartości DLC

Po wykonaniu instrukcji opisanych w dziale o magazynach zawartości powinien istnieć jeden magazyn zawartości dla DLC do aplikacji bazowej. Jeśli musisz dodać kolejne magazyny zawartości dla DLC, by obsłużyć inny język, system operacyjny lub architekturę, wykonaj następujące kroki:
  1. Otwórz stronę administratora aplikacji dla aplikacji bazowej – wszystkie magazyny są zarządzane z jej poziomu, a nie z poziomu strony DLC.
  2. Przejdź do ustawień Steamworks > SteamPipe > Magazyny zawartości.
  3. Kliknij na przycisk „Dodaj nowy magazyn zawartości”, a następnie podaj jego nazwę i kliknij „OK”. Nadaj mu nazwę podobną do istniejącego magazynu zawartości dla DLC, by móc łatwo go zidentyfikować.
  4. Ustaw prawidłowy język, system operacyjny lub architekturę.
  5. Wybierz poprawne DLC z listy rozwijanej, by powiązać ten magazyn zawartości z danym DLC.
  6. Kliknij „Zapisz zmiany”. Pamiętaj, że klient Steam nie będzie wiedział o nowych magazynach do momentu opublikowania zmian.
  7. Dodaj magazyny zawartości do wszystkich pakietów, które powinny je zawierać (np. pakietu egzemplarza producenta).
  8. Na komputerze kompilującym grę dodaj nowy skrypt uwzględniający w kompilacji nowy magazyn zawartości.
  9. Dodaj ten skrypt do twojego skryptu kompilującego podstawową wersję twojej gry.
  10. Wykonaj wszelkie pozostałe działania, by przesłać pliki nowego magazynu zawartości, ustawić aktywną kompilację itd.

Uwaga: wszystkie magazyny zawartości DLC znajdują się na liście magazynów aplikacji bazowej. Nie ma możliwości, by magazyny zawartości znajdywały się bezpośrednio wewnątrz twojej aplikacji DLC.

Programowe pobieranie i instalowanie DLC

Z reguły zawartość do pobrania jest pobierana i instalowana natychmiastowo po zakupieniu jej przez użytkownika Steam. Jednakowoż automatyczne pobieranie może zostać wyłączone, by gra miała możliwość kontroli, kiedy zawartość może zostać pobrana. To rozwiązanie może okazać się użyteczne w przypadku instalacji strumieniowych lub pobierania określonego przez logikę gry.

Postępując zgodnie z instrukcjami poniżej, można tak skonfigurować DLC, by było ono pobierane na żądanie.
  1. Utwórz do 10 DLC, które mogą być pobierane fragmentami.
    • Z poziomu strony docelowej pakietu aplikacji kliknij „Wszystkie powiązane pakiety, DLC, dema i narzędzia”, a następnie przycisk „Dodaj nowe DLC”, by dodać DLC.
  2. Skonfiguruj każde DLC tak, by klient Steam nie pobierał ich automatycznie.
    • Dla każdego DLC przejdź do ustawień Steamworks > Ogólne.
    • Upewnij się, że pole „Wyłącz automatyczne pobieranie tego DLC na Steam” jest zaznaczone.

  3. Dodaj DLC do odpowiednich pakietów (sklepowy, detaliczny, betatestów, egzemplarz producenta itd.), by było ono dostępne po zakupieniu podstawowej aplikacji.
    • Na stronie docelowej aplikacji kliknij „Wszystkie powiązane pakiety, DLC, dema i narzędzia”.
    • Kliknij pakiet, do którego chcesz dodać DLC.
    • Kliknij „+ Dodaj aplikacje”, znajdź powiązane DLC, upewnij się, że zostały zaznaczone, a następnie kliknij „Kontynuuj” i „Zapisz”.
  4. Dodaj odpowiednie pliki dla każdego DLC do powiązanego magazynu zawartości dla DLC jako część twojego procesu kompilacyjnego dla SteamPipe.
  5. W odpowiednich miejscach w kodzie zaimplementuj następujące API, które sprawią, że DLC zostanie w odpowiednim momencie pobrane i zainstalowane.

Dodatkowe uwagi:
  • Jeśli zaznaczysz pole „Wyłącz automatyczne pobieranie tego DLC na Steam”, to gracz będący posiadaczem DLC będzie miał możliwość ręcznego zainstalowania go ze swojej biblioteki, nawet jeśli twoja gra nie korzysta z API ISteamApps:InstallDLC.
  • Użytkownik może rozpocząć pobieranie zawartości poprzez interfejs klienta Steam z zakładki „DLC” dostępnej w menu „Właściwości”.
  • Możesz także użyć ISteamApps::UninstallDLC, aby usunąć zawartość do pobrania, jeśli zajdzie taka potrzeba.

Testowanie

Przed rozpoczęciem testowania zawartości do pobrania upewnij się, że ją posiadasz. Aby to zrobić, kliknij prawym przyciskiem myszy grę na liście gier klienta Steam, wybierz z menu „Właściwości”, a następnie zakładkę „DLC”. Jeśli zawartość nie jest tam widoczna, to znaczy, że jej nie posiadasz.

Możesz zasymulować posiadanie DLC za pomocą klienta Steam. Po dodaniu nowej zawartości na Steam otrzymasz pakiet, który przyznaje dostęp do zawartości twojej grupie wydawniczej. Zazwyczaj nazwa takiego pakietu zawiera w sobie frazę „Egzemplarz producenta”.

Możesz tymczasowo wyłączyć posiadanie pakietu egzemplarza producenta, a następnie je włączyć, by wykonać symulację zakupu twojego DLC. Aby to zrobić, wykonaj poniższe instrukcje:
  • Uruchom steam.exe po dodaniu polecenia -console (lub uruchom steam://nav/console).
  • Przejdź do zakładki „Konsola” w kliencie Steam.
  • Wprowadź polecenie licenses_for_app <ID aplikacji>. Wyświetli ono ID pakietu (PackageID) oraz ID aplikacji (AppID) posiadanych przez ciebie DLC.
  • Wprowadź polecenie disable_license <ID pakietu> wraz z wymienionym powyżej ID pakietu.

Po wykonaniu tych czynności twoje konto powinno automatycznie nie posiadać już DLC. Możesz przetestować swoją grę i zweryfikować, czy jakiekolwiek API sprawdzające własność zwracają wartość „false” dla DLC. Wracając do konsoli Steam, możesz użyć polecenia enable_license <ID pakietu>, by ponownie włączyć posiadanie DLC. Ponowne uruchomienie Steam również przywróci ci własność automatycznie.

Przewidywanie oszustw

Ryzyko oszustwa istnieje za każdym razem, gdy oferujesz możliwość kupna czegoś wartościowego.

Oszustwa związane z DLC dotyczą użytkownika, który kupuje dodatkowe treści o dużej wartości za pomocą nieuprawnionej formy płatności (np. skradzionej karty płatniczej). Celem oszusta jest przeniesienie wszelkiej dostępnej zawartości DLC na inne konto, którego właścicielem jest albo on sam, albo płacący za te towary poza systemem. Oszuści mogą też ewentualnie próbować sprzedać całe konto, otrzymując zapłatę poza systemem.

Dlatego nie zalecamy dodawania do DLC waluty w grze lub przedmiotów, którymi można handlować. Lepiej wykorzystać do tego mikrotransakcje i sugestie podane w artykule o nich.

Steam wykrywa większość nieuczciwych transakcji w ciągu 48 godzin od pierwszego zakupu. Sprawdzenie stanu posiadania DLC przez użytkownika podczas uruchamiania gry lub po 48 godzinach spowoduje uzgodnienie zmian w transakcjach zgodnie ze zaktualizowanym statusem.