ESports match analytics
Wahlroos, Minna (2018)
Wahlroos, Minna
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018112418033
https://urn.fi/URN:NBN:fi:amk-2018112418033
Tiivistelmä
Insinöörityössä selvitettiin joukkuepohjaisten e-urheiluottelujen tulosten ennustamista käytännön esimerkin avulla. Työn kohde oli videopeli League of Legends. Tavoitteena oli ennustaa ottelun lopputulos mahdollisimman tarkasti käyttäen aiempaa (ottelun alkua edeltävää) tietoa. Vaihtoehtoisesti työ pyrki selvittämään, onko tämä ylipäätänsä mahdollista työssä toteutetulla tavalla.
Työn alussa aihealue rajattiin tiettyyn osalohkoon kyseistä videopeliä ("Solo-/Duo Ranked") ja tästä osalohkosta listattiin saatavissa olevia tietovarantoja. Näiden tietojen ominaisuudet kartoitettiin, niille haettiin keskenäissuhteita, ja lopuksi ne mallinnettiin muodollisesti ohjelmallisesti käsiteltävään muotoon (Entity-Relationship- eli ER-malleina).
Toteutus jatkui rakentamalla ensin tiedonkeruuta toteuttava palvelinohjelmisto Python-ohjelmointikieltä käyttäen. Ohjelmistokehityksessä ensin valmistetun prototyypin pohjalta tehtiin lopullinen toteutus. Tätä varten tehtiin taustaselvitystä prosessien tausta-ajosta ja rakennettiin monitorointia varten tiedonkeruun seurantapaneeli. Lähdekoodi pidettiin johdonmukaisena ja päätelaiteriippumattomana Git-versionhallintaohjelmistoa käyttäen.
Kun tiedonkeruu saavutti muutaman sadan tuhannen tietueen lukumäärän, ryhdyttiin suunnittelemaan ja toteuttamaan analytiikkaa. Työn lopuksi tietueet visualisoitiin ja toteutettiin syvä neuroverkko, joka tuotti 55 %:n ennustustarkkuuden. Tarkkuutta pyrittiin parantamaan hakemalla lisää dataa ja jalostamalla olemassa olevaa dataa heuristisin menetelmin.
Lopputuloksena ei saavutettu riittävää ennustustarkkuutta, jotta se oikeuttaisi toiminnan (oli toiminta sitten vedonlyönti tai ottelun kesken jättäminen). Vaikka tämän voi laskea epäonnistumiseksi, työstä saa käsityksen ihmispelaajien ennustettavuuden vaikeudesta.
Jatkotyö voisi keskittyä yksityiskohtaisemmin yksittäisen pelaajan tulosten ennustettavuuteen.
Työn alussa aihealue rajattiin tiettyyn osalohkoon kyseistä videopeliä ("Solo-/Duo Ranked") ja tästä osalohkosta listattiin saatavissa olevia tietovarantoja. Näiden tietojen ominaisuudet kartoitettiin, niille haettiin keskenäissuhteita, ja lopuksi ne mallinnettiin muodollisesti ohjelmallisesti käsiteltävään muotoon (Entity-Relationship- eli ER-malleina).
Toteutus jatkui rakentamalla ensin tiedonkeruuta toteuttava palvelinohjelmisto Python-ohjelmointikieltä käyttäen. Ohjelmistokehityksessä ensin valmistetun prototyypin pohjalta tehtiin lopullinen toteutus. Tätä varten tehtiin taustaselvitystä prosessien tausta-ajosta ja rakennettiin monitorointia varten tiedonkeruun seurantapaneeli. Lähdekoodi pidettiin johdonmukaisena ja päätelaiteriippumattomana Git-versionhallintaohjelmistoa käyttäen.
Kun tiedonkeruu saavutti muutaman sadan tuhannen tietueen lukumäärän, ryhdyttiin suunnittelemaan ja toteuttamaan analytiikkaa. Työn lopuksi tietueet visualisoitiin ja toteutettiin syvä neuroverkko, joka tuotti 55 %:n ennustustarkkuuden. Tarkkuutta pyrittiin parantamaan hakemalla lisää dataa ja jalostamalla olemassa olevaa dataa heuristisin menetelmin.
Lopputuloksena ei saavutettu riittävää ennustustarkkuutta, jotta se oikeuttaisi toiminnan (oli toiminta sitten vedonlyönti tai ottelun kesken jättäminen). Vaikka tämän voi laskea epäonnistumiseksi, työstä saa käsityksen ihmispelaajien ennustettavuuden vaikeudesta.
Jatkotyö voisi keskittyä yksityiskohtaisemmin yksittäisen pelaajan tulosten ennustettavuuteen.