Käyttäytymispuukirjaston luonti C#-kielellä
Halttunen, Juho (2024)
Halttunen, Juho
2024
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-2024112831020
https://urn.fi/URN:NBN:fi:amk-2024112831020
Tiivistelmä
Tässä opinnäytetyössä tutkittiin käyttäytymispuurakennetta ja sen hyödyntämistä videopelitekoälyjen luonnissa. Aihe valittiin kiinnostavuuden ja opettelun takia. Käyttäytymispuu on matemaattinen malli, jota hyödyntämällä voidaan toteuttaa päätöksentekomenetelmää tietokoneella. Käyttäytymispuiden hierarkkisen luonteen takia on niitä ja päätöksenteon kulkua helppo lukea. Niiden avulla on mahdollista luoda tekoälytoteutuksia esimerkiksi videopeleihin.
Osana opinnäytetyötä tehtiin projektina yksinkertainen käyttäytymispuukirjasto C#-ohjelmointikielellä. Projektin tarkoitus oli hyödyntää vain yleisiä C#-kirjastoja, jotta toteutusta voisi hyödyntää missä tahansa C#-kieltä käyttävässä projektissa. Kirjaston testausta varten tehdään myös kaksi päätöksentekototeutusta kahdessa eri pelimoottoriohjelmassa.
Työn lopussa saatiin tehtyä toimiva C#-käyttäytymispuukirjasto. Projektin aikana ilmenneiden vaikeuksien takia jäi tekninen osuus suunniteltua suppeammaksi. Vaikka ongelmia ilmeni, pystyttiin kirjastoa käyttämään onnistuneesti Unity- ja Godot- pelimoottoreissa ja luomaan kaksi eri päätoimintoa kuvaavaa päätöksentekoprosessia.
Osana opinnäytetyötä tehtiin projektina yksinkertainen käyttäytymispuukirjasto C#-ohjelmointikielellä. Projektin tarkoitus oli hyödyntää vain yleisiä C#-kirjastoja, jotta toteutusta voisi hyödyntää missä tahansa C#-kieltä käyttävässä projektissa. Kirjaston testausta varten tehdään myös kaksi päätöksentekototeutusta kahdessa eri pelimoottoriohjelmassa.
Työn lopussa saatiin tehtyä toimiva C#-käyttäytymispuukirjasto. Projektin aikana ilmenneiden vaikeuksien takia jäi tekninen osuus suunniteltua suppeammaksi. Vaikka ongelmia ilmeni, pystyttiin kirjastoa käyttämään onnistuneesti Unity- ja Godot- pelimoottoreissa ja luomaan kaksi eri päätoimintoa kuvaavaa päätöksentekoprosessia.