Steamworks-dokumentaatio
Pelitaitoon perustuva pelihaku
Steamin pelihaun ohjelmointirajapinta sisältää monipuolisia vaihtoehtoja pelihakuun pelaajien taitojen perusteella. Pelihaun perustyökaluista saat lisätietoja täältä.

Yleiskatsaus

Yleinen ongelma moninpelien pelihaussa on löytää saman pelityylin tai vastaavan pelitason omaavia käyttäjiä. Kun se onnistutaan, käyttäjät saavat eniten irti jokaisesta pelistä. Steamworks tarjoaa ongelman ratkaisuna monipuolisen valikoiman hakuvaihtoehtoja pelien löytämiseen. Ratkaisu perustuu Steamin aulajärjestelmään ja Stats-ohjelmointirajapintaan.

Pelaajahakuprosessin kulku

Ryhmien kokoamismalli on yleensä seuraavanlainen:
  1. Käyttäjä ilmaisee haluavansa pelata moninpeliä ja sen tyypin (säännöt, skenaario jne.). Käyttäjä valitsee myös, minkätasoisten pelaajien kanssa hän haluaa pelata.
  2. Peli hakee aulahaun ohjelmointirajapinnalla auloja, joilla on samanlaiset säännöt. Yksi parametreistä on pelaajan valitsema taitotaso.
  3. Jos aula löytyy, peli liittyy aulaan. Jos aulaa ei löydy, peli luo uuden aulan.
  4. Aulan omistaja voi sen jälkeen päivittää aulan taitoasetusta sen mukaan, mikä aulan käyttäjien keskimääräinen taitotaso on (tai jonkun muun tekijän perusteella).
  5. Kun peli on päättynyt, jokaisen käyttäjän tilastot voidaan päivittää uusilla taidon arvoilla.

Pelaajan taitoarvon luominen ja päivittäminen

Pelaajalle asetetaan taito luomalla uusi tilasto Stats-ohjelmointirajapinnan sivulla olevien ohjeiden mukaan. Voit halutessasi asettaa useita tilastoja, jos haluat seurata useita eri taitoja. Tilaston tyypiksi kannattaa asettaa "Vain kasvu". Silloin Steamin palvelimet valvovat, että taitotilasto voi vain kasvaa, jolloin käyttäjä ei voi laskea taitotasoaan itse päästäkseen pelaamaan helppoja vastustajia vastaan. Numeron vaihteluväli voi olla niin suuri tai pieni kuin haluat. 0–100 on yleinen muttei mitenkään pakollinen valinta. Näitä taitotilastoja käytetään peliä haettaessa tai määritettäessä, ja tilastot päivitetään, kun peli päättyy. On erittäin suositeltavaa, että tilastojen asettajaksi määritetään vain "Virallinen pelipalvelin", jolloin pelaajat eivät pääse peukaloimaan niitä.

Vaiheet:
  1. Luo Vain kasvu -tyyppinen tilasto jokaiselle seurattavalle taidolle. Se tapahtuu Steamworksin pelinhallintasivun Tilastot-välilehdellä.
  2. Nouda pelissä käyttäjän taitotilastot kutsumalla ISteamUserStats::GetStat-jäsenfunktiota jokaisen tilaston osalta. Käytä noudettuja arvoja pelihaussa.
  3. Kun peli on päättynyt, päivitä käyttäjän taitotilastot kutsumalla ISteamUserStats::SetStat-jäsenfunktiota jokaisen tilaston osalta, ja kutsu sen jälkeen ISteamUserStats::StoreStats-jäsenfunktiota.

Peli-istunnon haku taitoperusteisesti

Kun halutaan luoda aula tietyn taitotason pelaajille, aulan omistajan tulee sen luomisen jälkeen lisätä taitotilasto(t) aulan kuvaustietoihin ISteamMatchmaking::SetLobbyData-jäsenfunktiolla. Kun toinen käyttäjä etsii pelisessiota aulahaun ohjelmointirajapinnalla, hakija voi käyttää ISteamMatchmaking::AddRequestLobbyListNearValueFilter-jäsenfunktiota löytääkseen taitotasoaan vastaavia auloja. Palautetut tulokset lajitellaan parhaan osuman perusteella. Jos käytät erilaisia taitomittareita, voit lisätä useita melkein samankaltaisia suodattimia, jolloin aiemmin asetetut, melkein samankaltaiset suodattimet ovat etusijalla hakutulosten lajittelujärjestyksessä. Voit määrittää haettavalle taitotasolle myös vähimmäis- ja enimmäisarvot.

Hakutulosten alhainen määrä

Monien pelihakujärjestelmien yleinen ongelma on tulosten alhainen määrä. Pelin löytäminen voi olla vaikeaa – osuvasta puhumattakaan. Näin tapahtuu erityisesti moninpeleissä, joiden pelisessiossa on selvä alku ja loppu, kuten reaaliaikastrategioissa. Tällaisiin peleihin käyttäjät eivät voi liittyä kesken. Ongelma johtuu siitä, että peliä samalla sekuntihetkellä etsivien pelaajien määrä voi olla pienehkö. Steam on ratkaissut ongelman tekemällä jokaisesta hausta hyvin nopean, jolloin tulokset palautuvat yleensä muutamassa millisekunnissa. Siksi voit aloittaa hyvinkin tiukkaan rajatuilla suodattimilla ja laajentaa hakua sen jälkeen. Tämä laajentaa aikaikkunaa ja lisää mahdollisuuksia löytää hyvin vastaavia tuloksia. On kuitenkin yhä pelin päätettävissä, kuinka kauan käyttäjä joutuu odottamaan ennen peliin pääsemistä.

Hakeminen pelityylin perusteella

Steamworksin pelihaku ei ole rajattu vain yhteen numeroon, vaan haulle voi määrittää useita ehtoja. Siten voit yrittää hakea pelityylisi perusteella tai käyttää erilaisia taitomittareita eri pelitiloille. Se edellyttää, että luot useita tilastoja numeroiden taltiointiin ja asetat useita tunnuksia luotuun aulaan. Hakuun pitää myös lisätä useita lähiarvoisia ehtoja.