Wprowadzenie
Nakładka Steam to część interfejsu użytkownika, która może zostać aktywowana na prawie każdej uruchomionej grze na Steam. Daje ona użytkownikowi dostęp do listy znajomych, przeglądarki, czatu oraz pozwala na kupowanie DLC w grze.
Domyślny skrót klawiszowy umożliwiający dostęp do nakładki Steam w grze to Shift+Tab, ale użytkownik może to zmienić w oknie dialogowym „Steam” -> „Ustawienia”.
Wymagania
Twoja gra nie musi robić niczego specjalnego, by nakładka zadziałała – jest ona podpinana do każdej gry uruchamianej na Steam! W trakcie rozwoju lub uruchamiania gry w debuggerze nakładka zostanie wczytana, gdy wywołasz
SteamAPI_Init. Dlatego też musisz się upewnić, że wywołasz
SteamAPI_Init przed inicjalizacją urządzenia OpenGL/D3D, w przeciwnym razie nie będzie możliwe podpięcie tworzenia urządzenia.
Nakładka obsługuje gry używające DirectX 7 — 12, OpenGL, Metal i Vulkan. Nakładka nie będzie aktywna w grach rasteryzowanych programowo.
macOS: obsługa nakładki dla wersji 10.15 (Catalina) wymaga dodania uprawnień do konfiguracji twojej kompilacji. Szczegóły znajdziesz na stronie dotyczącej
platform.
UWAGA: Nakładka jest automatycznie wyłączana dla aplikacji typu „Program”. Jeżeli musi ona być włączona, możesz to zrobić w następujący sposób:
- Upewnij się, że twoje konto Steam posiada uprawnienie do edycji metadanych aplikacji.
- Przejdź ze strony docelowej aplikacji do „Edytuj ustawienia Steamworks” > zakładka „Instalacja” > „Instalacja – ogólne”.
- Zaznacz pole „Włącz nakładkę Steam dla aplikacji”.
- Opublikuj.
Aktywacja nakładki z poziomu twojej aplikacji
Istnieje zestaw funkcji w API Steamworks, który umożliwia bezpośredni dostęp do uruchomienia nakładki w grze.
Komunikacja nakładki z grą
Następujące sygnały (wywołania zwrotne) są wysyłane przez Steam do twojej gry w oparciu o działanie, jakie podjął użytkownik w nakładce:
- GameOverlayActivated_t
Wysyłane, kiedy nakładka zostaje aktywowana lub dezaktywowana. Gra może to wykorzystać do spauzowania lub wznowienia rozgrywki w grach jednoosobowych.
- GameServerChangeRequested_t
Wysłane, gdy użytkownik wybierze grę swojego znajomego, do której chce dołączyć. Zawiera szczegóły na temat serwera gry, do którego chce dołączyć.
- GameServerChangeRequested_t
Wysłane, gdy użytkownik wybierze grę swojego znajomego, do której chce dołączyć. Zawiera szczegóły na temat poczekalni, do której chce dołączyć.
Najczęściej zadawane pytania
UWAGA: Dodatkowe informacje możesz znaleźć na
stronie pomocy technicznej przeznaczonej dla klientów.
P: Dlaczego nakładka Steam powoduje nagłe zamknięcie mojej aplikacji?
O: Nakładka Steam jest używana w tysiącach gier, więc została bardzo dokładnie przetestowana i rzadko jest powodem nieoczekiwanego zamknięcia aplikacji. Jednak ze względu na sposób, w jaki ingeruje w grę, czasami może ona ujawnić wycieki lub uszkodzenie pamięci podczas używania twojego API do renderowania, co mogło wcześniej nie mieć wpływu na rozgrywkę.
Aby na przykład zdiagnozować nieoczekiwanie zamknięcia podczas korzystania z DirectX, spróbuj ustalić, co spowodowało niepoprawny stan D3D, korzystając z debuggera w trakcie wykonywania programu korzystającego z D3D wraz z wyświetlaniem wszystkich komunikatów (informacje, ostrzeżenia, błędy, powiadomienia). Istnieje możliwość, że dzięki temu uzyskasz informacje o utraconych zasobach D3D. Jeśli nic w ten sposób nie znajdziesz, może być to bardziej ogólny problem uszkodzenia pamięci. Jeżeli taka awaria ma miejsce przy zamknięciu gry, to najprawdopodobniej istnieje problem ze zwalnianiem zasobów gry w odpowiedniej kolejności przy zamknięciu.
Jeśli po debugowaniu aplikacja nadal nieoczekiwanie zamyka się po włączeniu nakładki Steam, poinformuj nas o tym w
grupie Steamworks Development.
P: Dlaczego nakładka Steam nie pojawia się w mojej aplikacji?
O: Na początek upewnij się, że spełniasz powyższe
wymagania. Jeśli spełniasz wymagania i nakładka nadal się nie pojawia, upewnij się, że uruchamiasz aplikację poprzez klienta Steam albo bezpośrednio z poczekalni/listy szybkiego startu, albo poprzez wywołanie
SteamAPI_RestartAppIfNecessary.
P: Moja gra korzysta z D3D12 w systemie Windows 7 i nakładka Steam nie działa. Dlaczego?
O: Sprawdź ten
dokument firmy Microsoft odnośnie dodawania obsługi nakładki Steam.
P: Moja gra działa w przeglądarce. Czy nakładka będzie działać?
O: Nakładka Steam wymaga od gry, by spójnie renderowała klatki, bez wstrzymywania renderowania lub renderowania tylko części ekranu na podstawie podwójnego buforowania. Niestety przeglądarki internetowe nie obsługują tego modelu. Obejściem tego problemu w przypadku gier przeglądarkowych jest umieszczenie zagnieżdżonej przeglądarki Chromium w aplikacji natywnej, z oknem D3D i przekierowywaniem danych wejściowych do Chromium. Można to skonfigurować tak, aby było to renderowane w trybie poza ekranem, który następnie co klatkę renderuje powstałą teksturę Chromium w aplikacji natywnej. Partnerzy często używają do tego CEF, chociaż nie jest to łatwe zadanie.