Koneoppiminen vuoropohjaisessa pelissä
Hurmerinta, Sami (2019)
Hurmerinta, Sami
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019060113999
https://urn.fi/URN:NBN:fi:amk-2019060113999
Tiivistelmä
Insinöörityön päätarkoituksena oli tutkia koneopitun tekoälyn soveltuvuutta vuoropohjaisen pelin päätöksentekoon. Lisäksi tarkasteltiin, onko koneoppimisesta yleisesti realistista hyötyä pelikehityksessä nykypäivänä tai tulevaisuudessa. Työn tavoitteeksi asetettiin sellaisen peliprototyypin luominen tutkimuskäyttöön, joka olisi myöhemmin laajennettavissa osaksi isompaa peliprojektia.
Jotta koneoppimisen toimivuutta pystyttiin tutkimaan, sitä varten ohjelmoitiin testiympäristön prototyyppi käyttäen Unity-pelimoottoria. Koneoppimisympäristön luontiin käytettiin MLAgents Unity -liitännäistä. Oppimistuloksia ja poikkeavuuksia oppimisessa tarkkailtiin TensorBoard-työkalulla. Lopputulosten oppimismalleja analysoitiin ja pohdittiin prosessin toimivuutta pelikehityksessä.
Pohdinnan tuloksena todettiin, että ML-agentit toimivat paremmin kuin oli odotettavissa,
mutta luultavasti parantamisenkin varaa voisi olla. Kuitenkin Unity ML-Agents -työkalun tehokkuus indie-pelien kehityksessä ja pelitestauksessa osoittautui erinomaiseksi useisiin
käyttötarkoituksiin.
Työssä saatiin aikaiseksi toimiva peli, joka kykenee hyödyntämään koneopetettua tekoälyä
itsenäiseen oppimiseen ja pelaamaan itseään vastaan. Jatkossa peliä on tarkoitus laajentaa
osaksi isompaa kokonaisuutta sekä parantaa koneopetutun mallin suorituskykyä.
Jotta koneoppimisen toimivuutta pystyttiin tutkimaan, sitä varten ohjelmoitiin testiympäristön prototyyppi käyttäen Unity-pelimoottoria. Koneoppimisympäristön luontiin käytettiin MLAgents Unity -liitännäistä. Oppimistuloksia ja poikkeavuuksia oppimisessa tarkkailtiin TensorBoard-työkalulla. Lopputulosten oppimismalleja analysoitiin ja pohdittiin prosessin toimivuutta pelikehityksessä.
Pohdinnan tuloksena todettiin, että ML-agentit toimivat paremmin kuin oli odotettavissa,
mutta luultavasti parantamisenkin varaa voisi olla. Kuitenkin Unity ML-Agents -työkalun tehokkuus indie-pelien kehityksessä ja pelitestauksessa osoittautui erinomaiseksi useisiin
käyttötarkoituksiin.
Työssä saatiin aikaiseksi toimiva peli, joka kykenee hyödyntämään koneopetettua tekoälyä
itsenäiseen oppimiseen ja pelaamaan itseään vastaan. Jatkossa peliä on tarkoitus laajentaa
osaksi isompaa kokonaisuutta sekä parantaa koneopetutun mallin suorituskykyä.