Koneoppiminen tasohyppelypelissä
Pietilä, Markus (2019)
Pietilä, Markus
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-2019120123742
https://urn.fi/URN:NBN:fi:amk-2019120123742
Tiivistelmä
Insinöörityön päätarkoituksena oli selvittää koneoppimisen soveltuvuutta 3D-tasohyppelyyn. Erityisesti tutkittiin, voidaanko koneoppimista hyödyntää yhden henkilön projekteissa. Tavoitteeksi asetettiin saada valmiiksi järkevältä vaikuttava tekoäly, jonka toiminnasta pystytään hahmottamaan sen oppimat asiat.
Tekoälyn koulutusta varten luotiin prototyyppi 3D-tasohyppelypelin tasosta, johon tehtiin mahdollisimman monipuolisesti haasteita. Projektin tasot tehtiin Unity-pelimoottorilla, ja tekoälyn tekemiseen käytettiin Unity ML-Agents-työkalupakkia. Tekoälyn oppimisen seuraamiseen käytettiin TensorBoard-työkalua.
Projekti aloitettiin tekemällä yksinkertainen taso, josta tekoälyn piti päästä läpi. Kun tekoäly läpäisi tason, nostettiin tason vaikeusastetta ja kehitettiin tekoälyä. Tasojen tekemisessä keskityttiin esteiden monimuotoisuuteen, jotta tekoäly kehittyisi monipuoliseksi.
Lopputuloksena todettiin, että ML-Agents on sopiva pieniin projekteihin, vaikka tekoäly ei ollut täysin aukoton. Koneoppimisen ML-Agents-työkalupakin huomattiin olevan huomioitava vaihtoehto varsinkin indie-tason projekteissa.
Työssä saatiin aikaiseksi pienimuotoinen tasohyppelypeli, jonka kehitystä on tarkoitus jatkaa tulevaisuudessa ja opettaa tekoälyä selviytymään vielä monimutkaisemmista ongelmista.
Tekoälyn koulutusta varten luotiin prototyyppi 3D-tasohyppelypelin tasosta, johon tehtiin mahdollisimman monipuolisesti haasteita. Projektin tasot tehtiin Unity-pelimoottorilla, ja tekoälyn tekemiseen käytettiin Unity ML-Agents-työkalupakkia. Tekoälyn oppimisen seuraamiseen käytettiin TensorBoard-työkalua.
Projekti aloitettiin tekemällä yksinkertainen taso, josta tekoälyn piti päästä läpi. Kun tekoäly läpäisi tason, nostettiin tason vaikeusastetta ja kehitettiin tekoälyä. Tasojen tekemisessä keskityttiin esteiden monimuotoisuuteen, jotta tekoäly kehittyisi monipuoliseksi.
Lopputuloksena todettiin, että ML-Agents on sopiva pieniin projekteihin, vaikka tekoäly ei ollut täysin aukoton. Koneoppimisen ML-Agents-työkalupakin huomattiin olevan huomioitava vaihtoehto varsinkin indie-tason projekteissa.
Työssä saatiin aikaiseksi pienimuotoinen tasohyppelypeli, jonka kehitystä on tarkoitus jatkaa tulevaisuudessa ja opettaa tekoälyä selviytymään vielä monimutkaisemmista ongelmista.