Tekoäly Cryengine-pelimoottorissa
Metsälä, Joni (2017)
Metsälä, Joni
Kaakkois-Suomen ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201704184868
https://urn.fi/URN:NBN:fi:amk-201704184868
Tiivistelmä
Opinnäytetyö käsittelee pelien tekoälyä ja sisältää Cryengine-pelimoottorilla toteutetun konseptin lipunryöstötekoälystä. Lipunryöstössä kaksi joukkuetta kilpailevat ja yrittävät viedä vastustajajoukkueen lipun. Cryenginen lisänä käytettiin sen virallista GameSDK-projektipohjaa.
Teoriaosuudessa käsitellään yleisiä tekoälyn toteuttamiseen käytettyjä tapoja, kuten navigaation ja käyttäytymislogiikan toteutusta. Tekoäly on erittäin laaja kokonaisuus, joten kaikkia sen osia ei pystytty sisällyttämään työhön. Käsiteltyä teoriaa vastaavia tapoja sovellettiin toteutuksessa.
Keskeisiä menetelmiä toteutuksen kannalta olivat Behavior Tree -rakenteen muodostaminen ja pelilogiikan muodostaminen Cryenginen visuaalisella ohjelmointijärjestelmällä. Behavior Tree kirjoitettiin XML-merkintäkielellä Notepad++ -ohjelmaa käyttäen. Pelimekaniikat ja logiikka tehtiin Cryenginen omalla Flow Graph -järjestelmällä. Rakenteita laajennettiin Cryengineen kuuluvia Signal Reference ja Tactical Point System -menetelmiä käyttäen.
Projektille asetetut tavoitteet saavutettiin. Lopullisessa työssä on toimiva Behavior Tree -rakenne sekä hahmoja, jotka käyttävät sitä lipun siirtämiseen pisteiden välillä. Tekoälyn jatkokehitys on aina mahdollista, mutta projektin katsottiin edenneen riittävästi, kun peruslogiikat olivat toimivia ja työ vastasi asetettuja tavoitteita.
Teoriaosuudessa käsitellään yleisiä tekoälyn toteuttamiseen käytettyjä tapoja, kuten navigaation ja käyttäytymislogiikan toteutusta. Tekoäly on erittäin laaja kokonaisuus, joten kaikkia sen osia ei pystytty sisällyttämään työhön. Käsiteltyä teoriaa vastaavia tapoja sovellettiin toteutuksessa.
Keskeisiä menetelmiä toteutuksen kannalta olivat Behavior Tree -rakenteen muodostaminen ja pelilogiikan muodostaminen Cryenginen visuaalisella ohjelmointijärjestelmällä. Behavior Tree kirjoitettiin XML-merkintäkielellä Notepad++ -ohjelmaa käyttäen. Pelimekaniikat ja logiikka tehtiin Cryenginen omalla Flow Graph -järjestelmällä. Rakenteita laajennettiin Cryengineen kuuluvia Signal Reference ja Tactical Point System -menetelmiä käyttäen.
Projektille asetetut tavoitteet saavutettiin. Lopullisessa työssä on toimiva Behavior Tree -rakenne sekä hahmoja, jotka käyttävät sitä lipun siirtämiseen pisteiden välillä. Tekoälyn jatkokehitys on aina mahdollista, mutta projektin katsottiin edenneen riittävästi, kun peruslogiikat olivat toimivia ja työ vastasi asetettuja tavoitteita.