Geneettisten algoritmien eri käyttötavat videopeleissä
Koli, Ville (2025)
Koli, Ville
2025
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Programme in Computer Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-05-05
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202505044716
https://urn.fi/URN:NBN:fi:tuni-202505044716
Tiivistelmä
Videopelien pelaaminen muuttuu koko ajan suositummaksi ja täten on tärkeää tutkia erilaisia tapoja helpottaa videopelikehitystä. Tutkielmassa käsitellään mikä geneettinen algoritmi on ja millaisia esiintymismuotoja algoritmilla yleisesti ottaen on. Geneettisellä algoritmilla tarkoitetaan algoritmia, joka pohjautuu Charles Darwinin luonnon evoluution teoriaan. Algoritmi löytää parempia vastauksia kyseiseen ongelmaan hyödyntämällä risteytystä ja mutaatiota populaatioon yksilöitä. Sukupolvien edetessä yksilöiden ongelman ratkaisukyky paranee. Geneettisen algoritmin esiintymismuotoja on esimerkiksi mahdollinen ja ei-mahdollinen geneettinen algoritmi (FI-2Pop GA) ja NEAT-algoritmi. Mahdollinen ja ei-mahdollinen geneettinen algoritmi sopii hyvin proseduraaliseen datan luomiseen ja NEAT neuroverkkojen kehittämiseen.
Tutkielmassani käsitellään geneettisen algoritmin yleisimpiä mahdollisia käyttötapoja videopeleissä. Erilaisia käyttötapoja tunnistin olevan proseduraalisen generoinnin, tekoälyn kehittämisen ja strategioiden etsinnän. Viimeiseksi esittelen oman käytännön työn, jossa ohjelmoin matopelin, jossa neuroverkko oppii pelaamaan matopeliä itsestään. Proseduraalisessa generoinnin osiossa käsitellään tapoja käyttää geneettisiä algoritmeja generoimaan maastoa, avaruusaluksia, musiikkia ja proseduraalisen generoinnin haasteita videopelikontekstissa. Tekoälyn kehittämisosiossa verrataan geneettistä algoritmia suosittuun tapaan kehittää neuroverkkoa vastavirta-algoritmilla ja tutkitaan, miten geneettistä algoritmia voitaisiin hyödyntää tekoälyn kehityksessä. Strategioiden etsintä osiossa käsitellään tapoja etsiä strategioita videopeleihin ja mitä hyötyjä löydetyistä strategioista voisi olla pelaajalle ja videopelin kehittäjälle.
Tutkielmassani käsitellään geneettisen algoritmin yleisimpiä mahdollisia käyttötapoja videopeleissä. Erilaisia käyttötapoja tunnistin olevan proseduraalisen generoinnin, tekoälyn kehittämisen ja strategioiden etsinnän. Viimeiseksi esittelen oman käytännön työn, jossa ohjelmoin matopelin, jossa neuroverkko oppii pelaamaan matopeliä itsestään. Proseduraalisessa generoinnin osiossa käsitellään tapoja käyttää geneettisiä algoritmeja generoimaan maastoa, avaruusaluksia, musiikkia ja proseduraalisen generoinnin haasteita videopelikontekstissa. Tekoälyn kehittämisosiossa verrataan geneettistä algoritmia suosittuun tapaan kehittää neuroverkkoa vastavirta-algoritmilla ja tutkitaan, miten geneettistä algoritmia voitaisiin hyödyntää tekoälyn kehityksessä. Strategioiden etsintä osiossa käsitellään tapoja etsiä strategioita videopeleihin ja mitä hyötyjä löydetyistä strategioista voisi olla pelaajalle ja videopelin kehittäjälle.
Kokoelmat
- Kandidaatintutkielmat [10744]
