Koneoppiminen Unity-pelimoottorissa
Visuri, Timo (2023)
Visuri, Timo
2023
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-202305088318
https://urn.fi/URN:NBN:fi:amk-202305088318
Tiivistelmä
Insinöörityön päätarkoituksena oli tutkia koneoppimisen soveltuvuutta pelikehityksessä. Työssä koneoppimisen soveltuvuutta tutkittiin erityisesti pienen peliprojektin näkykulmasta. Lisäksi työssä selvitettiin yleisesti koneoppimisen perusteita. Tavoitteena oli luoda tekoälylle haastava tilanne, jossa koneoppimisen rajoja voitiin testata helposti.
Tekoälyn koulutusta varten luotiin 2D-peli Unity-pelimoottorilla. Koneoppimiseen käytettiin Unity ML-Agents-työkalupakettia. Tekoälyn oppimistuloksien seuraamiseen käytettiin TensorBoard-työkalua.
Työtä varten kehitettiin pieni avaruuslentelypeli. Pelissä tarkoituksena oli voittaa vastustaja tuhoamalla vastustajan alus. Koulutus tapahtui käyttämällä self-play-koulutusmenetelmää, jossa tekoäly harjoittelee omaa klooniansa vastaan.
Lopputuloksena todettiin, että ML-Agents-työkalun käyttö oli todella helppo aloittaa ja sen avulla pystyi nopeasti toteuttamaan yksinkertaisen tekoälyn. Täysin toimivaa tekoälyä ei kuitenkaan saatu valmiiksi, mutta toisaalta peliin suunnitellulle tekoälylle asetettiin melko korkeat vaatimukset, jotta pystyttiin selvittämään, mihin koneoppiminen pystyy. Koneoppimisen hyödyt ja ongelmat tulivat työssä hyvin esille. Koneoppimisen käyttö pienissä peleissä vaikutti varteenotettavalta vaihtoehdolta, jos pelin tekoäly oli suunniteltu hyvin.
Tekoälyn koulutusta varten luotiin 2D-peli Unity-pelimoottorilla. Koneoppimiseen käytettiin Unity ML-Agents-työkalupakettia. Tekoälyn oppimistuloksien seuraamiseen käytettiin TensorBoard-työkalua.
Työtä varten kehitettiin pieni avaruuslentelypeli. Pelissä tarkoituksena oli voittaa vastustaja tuhoamalla vastustajan alus. Koulutus tapahtui käyttämällä self-play-koulutusmenetelmää, jossa tekoäly harjoittelee omaa klooniansa vastaan.
Lopputuloksena todettiin, että ML-Agents-työkalun käyttö oli todella helppo aloittaa ja sen avulla pystyi nopeasti toteuttamaan yksinkertaisen tekoälyn. Täysin toimivaa tekoälyä ei kuitenkaan saatu valmiiksi, mutta toisaalta peliin suunnitellulle tekoälylle asetettiin melko korkeat vaatimukset, jotta pystyttiin selvittämään, mihin koneoppiminen pystyy. Koneoppimisen hyödyt ja ongelmat tulivat työssä hyvin esille. Koneoppimisen käyttö pienissä peleissä vaikutti varteenotettavalta vaihtoehdolta, jos pelin tekoäly oli suunniteltu hyvin.