Tekoälyn suunnittelu vuoropohjaiseen strategiapeliin
Tikkakoski, Antti (2013)
Tikkakoski, Antti
Kajaanin ammattikorkeakoulu
2013
Creative Commons Attribution-NonCommercial-NoDerivs 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201303133252
https://urn.fi/URN:NBN:fi:amk-201303133252
Tiivistelmä
Opinnäytetyönä suunnittelin tekoälyjärjestelmä vuoropohjaiselle Pc-strategiapelille. Tekoäly hyödyntää moderneja ohjelmistosuunnittelun- sekä pelitekoälyntekniikoita. Tekoälyn on haastava, mutta reilu ihmispelaajaa kohtaan. Tekoäly ei turvaudu huijaukseen perustuviin ratkaisuihin pelissä.
Pelin tekoäly perustuu priorisointijärjestelmään, missä tekoäly on jaettu pelivuoron vaiheiden mukaisiin alajärjestelmiin. Nämä alajärjestelmät tulevat käyttämään useita perinteisiä tekoälytekniikoita, kuten äärellisiä tilakoneita. Näiden alajärjestelmien yksityiskohtaiseen toteutukseen ei kuitenkaan puututa tämän opinnäytteen puitteissa, vaan opinnäytteen toteutusosio keskittyy priorisointipohjaisen strategisen tekoälyjärjestelmän suunnitteluun pelille. Priorisointipohjaisessa järjestelmässä kaikille tekoälyn toiminnoille on määritelty numeerinen prioriteettiarvo, johon vaikuttavat sekä pelin tapahtumat että tekoälyn persoonallisuus. Numeerisen prioriteettiarvon perusteella tekoäly valitsee toimintonsa jokaisella pelivuorolla. Valinnan jälkeen tekoälyn alajärjestelmät huolehtivat näiden toimintojen toteutuksesta.
Pelin tekoäly perustuu priorisointijärjestelmään, missä tekoäly on jaettu pelivuoron vaiheiden mukaisiin alajärjestelmiin. Nämä alajärjestelmät tulevat käyttämään useita perinteisiä tekoälytekniikoita, kuten äärellisiä tilakoneita. Näiden alajärjestelmien yksityiskohtaiseen toteutukseen ei kuitenkaan puututa tämän opinnäytteen puitteissa, vaan opinnäytteen toteutusosio keskittyy priorisointipohjaisen strategisen tekoälyjärjestelmän suunnitteluun pelille. Priorisointipohjaisessa järjestelmässä kaikille tekoälyn toiminnoille on määritelty numeerinen prioriteettiarvo, johon vaikuttavat sekä pelin tapahtumat että tekoälyn persoonallisuus. Numeerisen prioriteettiarvon perusteella tekoäly valitsee toimintonsa jokaisella pelivuorolla. Valinnan jälkeen tekoälyn alajärjestelmät huolehtivat näiden toimintojen toteutuksesta.