Tekoälypelin rakennus Unitylla - Sumean logiikan kyky oppia
Lampikoski, Elina (2019)
Lampikoski, Elina
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019082217935
https://urn.fi/URN:NBN:fi:amk-2019082217935
Tiivistelmä
Opinnäytetyön tavoitteena oli rakentaa tekoälypeli äärellisen automaatin ja sumean logiikan keinoin. Pelimoottorina käytettiin Unitya, joka osoittautui erittäin hyväksi alustaksi näiden tekoälytekniikoiden ohjelmointiin. Opinnäytteellä ei ollut toimeksiantajaa.
Opinnäytteessä käsitellään tekoälytekniikoita pelikehityksen näkökulmasta keskittyen äärelliseen automaattiin sekä sumeaan logiikkaan. Teoriaosuuden jälkeen opinnäytetyön käytännön osuudessa käydään läpi äärellisen automaatin rakennusta ja sitä, miten äärellinen automaatti muutettiin sumeaksi automaatiksi.
Unitysta löytyi valmiita apuvälineitä sekä ohjelmointiin että pelin testaamiseen. Äärellisen automaatin rakentaminen oli suoraviivaista ja nopeaa, mutta sumean logiikan yhdistäminen siihen osoittautui hieman haastavammaksi.
Sumea logiikka yhdistettynä äärelliseen automaattiin ei ole paras tapa luoda oppivaa tekoälyä, mutta äärelliseen automaattiin verraten sumea automaatti on toiminnoiltaan elävämmän kaltainen. Agentti pystyy joustavammin vaihtamaan toimintatapaansa ja se voidaan tietyissä rajoissa mieltää oppimiseksi. Pelitekoäly on loppujen lopuksi kuitenkin älykkyyden imitointia, koska peleihin raskaiden, oikeasti oppivien tekoälytekniikoiden upottaminen ei usein ole mahdollista rajallisten prosessointitehojen vuoksi.
Opinnäytteessä käsitellään tekoälytekniikoita pelikehityksen näkökulmasta keskittyen äärelliseen automaattiin sekä sumeaan logiikkaan. Teoriaosuuden jälkeen opinnäytetyön käytännön osuudessa käydään läpi äärellisen automaatin rakennusta ja sitä, miten äärellinen automaatti muutettiin sumeaksi automaatiksi.
Unitysta löytyi valmiita apuvälineitä sekä ohjelmointiin että pelin testaamiseen. Äärellisen automaatin rakentaminen oli suoraviivaista ja nopeaa, mutta sumean logiikan yhdistäminen siihen osoittautui hieman haastavammaksi.
Sumea logiikka yhdistettynä äärelliseen automaattiin ei ole paras tapa luoda oppivaa tekoälyä, mutta äärelliseen automaattiin verraten sumea automaatti on toiminnoiltaan elävämmän kaltainen. Agentti pystyy joustavammin vaihtamaan toimintatapaansa ja se voidaan tietyissä rajoissa mieltää oppimiseksi. Pelitekoäly on loppujen lopuksi kuitenkin älykkyyden imitointia, koska peleihin raskaiden, oikeasti oppivien tekoälytekniikoiden upottaminen ei usein ole mahdollista rajallisten prosessointitehojen vuoksi.