Steamworks-dokumentaatio
Steam-yhteisönäkymä

Yleiskatsaus

Steam-yhteisönäkymä on osa Steamin käyttöliittymää, ja sen voi aktivoida melkein minkä tahansa Steamin kautta käynnistetyn pelin päälle. Siinä voi käyttää kaveriluetteloa, selainta ja chattia sekä ostaa lisämateriaalia pelissä.

Yhteisönäkymä avataan oletuksena SHIFT+TAB-näppäinyhdistelmällä, mutta määrityksen voi muuttaa kohdasta Steam -> Asetukset.

Vaatimukset

Yhteisönäkymän toiminta ei vaadi peliltäsi mitään erikoista. Se liitetään automaattisesti kaikkiin Steamin kautta käynnistettäviin peleihin. Kehitysvaiheessa ja silloin, kun peliä käytetään vianetsintätilassa, yhteisönäkymä ladataan, kun kutsut SteamAPI_Init-funktiota. Sinun tulee kutsua SteamAPI_Init-funktiota ennen OpenGL/D3D-laitteen alustamista, sillä muuten sitä ei voida liittää laitteen luontiin.

Yhteisönäkymä tukee pelejä, joissa käytetään DirectX 7–12-, OpenGL- Metal- ja Vulkan -ohjelmointirajapintoja. Yhteisönäkymä ei ole aktiivinen ohjelmistolla rasteroiduissa peleissä.

macOS: yhteisönäkymän tuki versiolle 10.15 (Catalina) vaatii oikeuksien lisäämistä koontiversion määrityksiin. Lisätietoja löytyy alustat-sivulta.
HUOM. Yhteisönäkymä poistetaan automaattisesti käytöstä, kun sovellustyyppinä on ohjelmisto. Jos sinun tulee ottaa yhteisönäkymä käyttöön, voit tehdä sen seuraavasti:
  • varmista, että Steam-tilillä on metadatan muokkausoikeudet
  • navigoi kohtaan: Sovelluksen aloitussivu > Muokkaa Steamworks-asetuksia > Asennus-välilehti > Yleinen asennus
  • valitse Ota Steam-yhteisönäkymä käyttöön sovellukselle -valintaruutu
  • julkaise.

Yhteisönäkymän aktivoiminen sovelluksesta

Steamworks-ohjelmointirajapinta sisältää joukon toimintoja, joilla voi käynnistää yhteisönäkymän pelissä suoraan.

Viestintä yhteisönäkymän ja pelin välillä

Seuraavat signaalit (takaisinkutsut) lähetetään Steamistä peliisi sen mukaan, mitä käyttäjä tekee yhteisönäkymässä:
  • GameOverlayActivated_t
    Julkaistaan, kun yhteisönäkymä aktivoituu tai sulkeutuu. Peli voi käyttää tätä yksinpelin keskeyttämiseen tai jatkamiseen.
  • GameServerChangeRequested_t
    Julkaistaan, kun käyttäjä valitsee kaverin pelin, johon hän haluaa liittyä. Signaali sisältää tiedot pelipalvelimesta, johon liitytään.
  • GameLobbyJoinRequested_t
    Julkaistaan, kun käyttäjä valitsee kaverin pelin, johon hän haluaa liittyä. Signaali sisältää tiedot aulasta, johon liitytään.

Usein kysytyt kysymykset

HUOM. Saatat löytää vastauksia kysymyksiisi asiakkaiden tukisivustolta, esimerkiksi kohdasta: Steamin yhteisönäkymä ei avaudu.

K: Miksi Steam-yhteisönäkymä kaataa sovellukseni?

V: Steam-yhteisönäkymää käytetään tuhansissa peleissä. Se on testattu perinpohjaisesti ja harvoin kaatumisen syynä. Se kuitenkin liitetään peliin tavalla, joka usein paljastaa muistivuotoja tai muistin vioittumista renderöintiin käyttämäsi ohjelmointirajapinnan käytössä. Tällaiset ongelmat eivät välttämättä ole vaikuttaneet pelaamiseen.

Kun haluat suorittaa esimerkiksi DirectX:ää käyttävän pelin kaatumisen vianmäärityksen, yritä selvittää suorituksenaikaista D3D-vianetsintää käyttämällä, miksi D3D joutui vikatilaan. Ota vianetsinnän ajaksi kaikki tason tieto-, varoitus-, virhe- ja ilmoitussyötteet käyttöön. Saatat näin saada lisätietoja yhteydettömäksi jääneistä D3D-resursseista. Jos et löydä mitään tällä tavalla, kyseessä voi olla yleisempi muistin vioittumisongelma. Jos ongelma ilmenee aina suljettaessa, kyseessä on todennäköisesti sulkemisjärjestykseen liittyvä ongelma, jossa peli ei suorita asianmukaisia poistotoimenpiteitä sulkeutuessaan.

Jos sovellus kaatuu yhteisönäkymässä vianetsinnän jälkeenkin, ilmoita ongelmasta Steamworksin kehittäjäryhmässä.

K: Miksi Steam-yhteisönäkymä ei tule näkyviin pelissäni?

V: Varmista, että yllä Vaatimukset-kohdassa mainitut vaatimukset täyttyvät. Jos ne täyttyvät, eikä yhteisönäkymä edelleenkään tule näkyviin, varmista, että sovellus käynnistetään Steam-asiakasohjelman kautta joko suoraan aulasta tai pikakäynnistyslistasta tai kutsumalla SteamAPI_RestartAppIfNecessary-funktiota.

K: Peli käyttää D3D12:ta Windows 7:llä, eikä Steam-yhteisönäkymä toimi. Miksi?

V: Lisätietoja Steam-yhteisönäkymän tuesta löytyy tästä Microsoftin dokumentista.