Pelin tekoälyn suunnittelu : Ensimmäisen persoonan ammuskelupeli
Väisänen, Tommi (2017)
Väisänen, Tommi
Hämeen ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017100515746
https://urn.fi/URN:NBN:fi:amk-2017100515746
Tiivistelmä
Työn tavoitteena oli luoda toimintaopas aloittelevalle ensimmäisen persoonan räiskintäpelin tekoälyn suunnittelijalle. Samalla tutustuttiin yleisesti pelin suunnitteluun kuuluviin prosesseihin sekä Unity–pelimoottoriin. Käytännön osuuden tavoitteena oli luoda yksinkertainen esimerkkipeli, jonka avulla pystyi mittaamaan pelin suunniteluun kuluvan ajan ja vaivan. Esimerkkipelistä syntyi myös opasteena toimivaa ohjelmakoodia C#-ohjelmointikielellä.
Luodut ohjelmakoodit saatiin toimimaan Unity-pelimoottorilla ja lisäksi pelissä käytettiin yksinkertaisia mutta toimivia mallikappaleita. Tekoälyvirheiden korjaaminen vei odotettua enemmän aikaa, mikä tarkoitti tekoälyn ominaisuuksien vähentämistä.
Pelillisesti reilun tekoälyn ohjelmointi on vaikeaa, sillä tietokoneen äly on erittäin suoraviivaista. Tätä suoraviivaisuutta voi rikkoa muuttamalla tekoälyn saamat tiedot enemmän sattumanvaraisiksi. Tämä saa tietokoneen tekemät päätökset vaikuttamaan enemmän arvauksiksi, mikä vaikuttaa pelaajalle reilulta. Samalla ajateltiin kaikkien toimintojen optimointia, jotta peli ei kuluttaisi liikaa prosessointitehoja.
Luodut ohjelmakoodit saatiin toimimaan Unity-pelimoottorilla ja lisäksi pelissä käytettiin yksinkertaisia mutta toimivia mallikappaleita. Tekoälyvirheiden korjaaminen vei odotettua enemmän aikaa, mikä tarkoitti tekoälyn ominaisuuksien vähentämistä.
Pelillisesti reilun tekoälyn ohjelmointi on vaikeaa, sillä tietokoneen äly on erittäin suoraviivaista. Tätä suoraviivaisuutta voi rikkoa muuttamalla tekoälyn saamat tiedot enemmän sattumanvaraisiksi. Tämä saa tietokoneen tekemät päätökset vaikuttamaan enemmän arvauksiksi, mikä vaikuttaa pelaajalle reilulta. Samalla ajateltiin kaikkien toimintojen optimointia, jotta peli ei kuluttaisi liikaa prosessointitehoja.