Tekoälyn toteuttaminen Unity-pelimoottorilla
Hyttinen, Joonas (2013)
Hyttinen, Joonas
Mikkelin ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013121621358
https://urn.fi/URN:NBN:fi:amk-2013121621358
Tiivistelmä
Tämän opinnäytetyön tarkoituksena on selvittää, kuinka tekoälyn voi toteuttaa Unity-pelimoottoria hyödyntävään tietokonepeliin. Tavoitteena on saada selville, kuinka pelitekoäly voidaan yleisesti toteuttaa ja millaiset edellytykset nimenomaan Unityn kehitysympäristö tähän tarjoaa. Samalla käyn läpi pelin kehittämistä Unitylla yleisesti.
Työn teoriaosuudessa tarkastelen lähemmin termiä ”tekoäly” ja selvitän, mitä sillä oikeastaan tarkoitetaan. Käyn myös karkeasti läpi tekoälyn kehittymisen historian ja esittelen erilaisia käyttötapoja, joilla tekoälyä voidaan hyödyntää. Tämän jälkeen syvennyn tekoälyn historiaan tietokonepeleissä ja otan selvää tekoälyn roolista tietokonepeleissä.
Käytännön esimerkkeinä olen toteuttanut kaksi pienehköä pelidemoa, joissa tekoälyä on hyödynnetty. Ensimmäinen esimerkki on reaaliaikainen sokkelopeli, jossa havainnoidaan tekoälyn toimintaa silloin, kun sen pitää jatkuvasti tehdä päätöksiä pelin edetessä. Toinen esimerkki on ristinolla, jossa tekoäly ottaa toisen pelaajan roolin. Ristinollassa havainnoidaan tekoälyn toimintaa hidastempoisemmassa pelissä, jossa tekoälyn täytyy tehdä päätöksiä vain silloin tällöin.
Päätännössä teen johtopäätökseni työn onnistumisesta ja pohdin vaihtoehtoisia toteutustapoja. Esitän myös johtopäätökseni Unityn käytännöllisyydestä tekoälyn toteutuksessa. Tämän lisäksi pohdin myös pelitekoälyn tulevaisuutta: kuinka se tulee tulevaisuudessa kehittymään ja vaikuttamaan itse pelinkehitykseen.
Työn teoriaosuudessa tarkastelen lähemmin termiä ”tekoäly” ja selvitän, mitä sillä oikeastaan tarkoitetaan. Käyn myös karkeasti läpi tekoälyn kehittymisen historian ja esittelen erilaisia käyttötapoja, joilla tekoälyä voidaan hyödyntää. Tämän jälkeen syvennyn tekoälyn historiaan tietokonepeleissä ja otan selvää tekoälyn roolista tietokonepeleissä.
Käytännön esimerkkeinä olen toteuttanut kaksi pienehköä pelidemoa, joissa tekoälyä on hyödynnetty. Ensimmäinen esimerkki on reaaliaikainen sokkelopeli, jossa havainnoidaan tekoälyn toimintaa silloin, kun sen pitää jatkuvasti tehdä päätöksiä pelin edetessä. Toinen esimerkki on ristinolla, jossa tekoäly ottaa toisen pelaajan roolin. Ristinollassa havainnoidaan tekoälyn toimintaa hidastempoisemmassa pelissä, jossa tekoälyn täytyy tehdä päätöksiä vain silloin tällöin.
Päätännössä teen johtopäätökseni työn onnistumisesta ja pohdin vaihtoehtoisia toteutustapoja. Esitän myös johtopäätökseni Unityn käytännöllisyydestä tekoälyn toteutuksessa. Tämän lisäksi pohdin myös pelitekoälyn tulevaisuutta: kuinka se tulee tulevaisuudessa kehittymään ja vaikuttamaan itse pelinkehitykseen.