Tekoälyn toteuttaminen vuoropohjaiseen strategiapeliin
Nurmi, Matti (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024120933913
https://urn.fi/URN:NBN:fi:amk-2024120933913
Tiivistelmä
Työssä käsiteltiin erilaisia tapoja toteuttaa tekoälyä hyödyntävä tietokonepelaaja videopeleihin. Erityisesti keskityttiin peleihin, joissa tekoäly pelaa ihmispelaajaa vastaan. Tarkastelussa olivat yleisimmät hakualgoritmit ja muut lähestymistavat, kuten neuroverkot. Työssä selvitettiin tekoälyn toteutustapoja ja niiden pohjalta toteutettiin tekoälypelaaja yksinkertaiselle strategiapelille. Työn aihe valittiin tekijän henkilökohtaisen kiinnostuksen pohjalta.
Peli ja tekoäly toteutettiin molemmat Unity-pelimoottorilla, käyttäen C#-ohjelmointikieltä. Pelistä tuli yksinkertainen vastakkainen, kahden pelaajan täydellisen tiedon nollasummapeli. Tämänkaltaiselle pelille parhaaksi metodiksi valikoitu Monte Carlo -puuhaku, epäsymmetrisen hakupuun luova puuhakualgoritmi, joka kehitettiin alun perin lautapelien pelaamista varten minimax-algoritmin pohjalle. Metodi valittiin sen lähestyttävyyden sekä sen aiempien toteutuksien perusteella.
Monte Carlo -puuhaun avulla luotiin tekoälypelaajan alkuversio, jota olisi jatkossa mielekästä kehittää ihmispelaajaa haastavaksi pelaajaksi. Työstä syntyi kuitenkin hyvä alkuversio myöhemmälle kehitykselle, ja tekijälle kertyi paljon tietämystä ja osaamista aihealueelta.
Peli ja tekoäly toteutettiin molemmat Unity-pelimoottorilla, käyttäen C#-ohjelmointikieltä. Pelistä tuli yksinkertainen vastakkainen, kahden pelaajan täydellisen tiedon nollasummapeli. Tämänkaltaiselle pelille parhaaksi metodiksi valikoitu Monte Carlo -puuhaku, epäsymmetrisen hakupuun luova puuhakualgoritmi, joka kehitettiin alun perin lautapelien pelaamista varten minimax-algoritmin pohjalle. Metodi valittiin sen lähestyttävyyden sekä sen aiempien toteutuksien perusteella.
Monte Carlo -puuhaun avulla luotiin tekoälypelaajan alkuversio, jota olisi jatkossa mielekästä kehittää ihmispelaajaa haastavaksi pelaajaksi. Työstä syntyi kuitenkin hyvä alkuversio myöhemmälle kehitykselle, ja tekijälle kertyi paljon tietämystä ja osaamista aihealueelta.