Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Tampereen ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Tampereen ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

A*:n ja Flowfieldin vertailu Unity-pelimoottorissa

Niemelä, Oskari (2022)

 
Avaa tiedosto
Niemela_Oskari.pdf (1.147Mt)
Lataukset: 


Niemelä, Oskari
2022
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022121530264
Tiivistelmä
Reitinlöytö on nimensä mukaisesti reittien etsintää. Etsintä toteutetaan matemaattisesti laskien. Tässä opinnäytetyössä esiintyvät reitinlöytöalgoritmit laskevat reitit graafien avulla. Taustatietona käydään läpi Dijkstran algoritmin toiminta.

Reitinlöydöllä on monia applikaatioita. Tässä työssä vertaillaan kahta reitinlöytöalgoritmia erityisesti strategiapelien näkökulmasta. Työssä käytetään laajasti alalla käytössä olevaa Unity-pelimoottoria algoritmien implementointiin sekä testaukseen.

Reitinlöytö on tärkeä osa peliohjelmointia. Reitinlöytöä täytyy käyttää, kun pelin sisäiset hahmot navigoivat pelimaailmaa itsenäisesti, joko tekoälyn tai sitten pelaajan käskyttämänä. On erityisen tärkeää, että reitinlöytö tehdään tehokkain keinoin, jotta pelien kuvataajuus säilyy pelin ohjautuvuuden kannalta hyväksyttävällä tasolla.

Työn kaksi algoritmia, A* sekä Flowfield, valittiin niiden miltei päinvastaisten käyttötarkoitusten takia. Flowfield on tehty suurien hahmomäärien liikuttamiseen pelikentällä, minkä vuoksi se laskee koko kentän kattavan reitistön aina kun algoritmia käytetään. A* on tehty laskemaan yksi reitti pisteestä A pisteeseen B, jolloin sen täytyy laskea jokaiselle liikkuvalle yksikölle oma reittinsä päämäärään. A* sekä Flowfield käyttävät pohjanaan Dijkstran algoritmia.

Algoritmien vertailua varten määriteltiin testejä, joiden tarkoituksena oli tarkastella algoritmien skaalautuvuutta eri tilanteissa. Toteutusvaiheessa haastavimmaksi osoittautui algoritmien toteutus pelimoottorissa sekä tulosten ulossaanti.

Työn tulokset vastasivat odotuksia: algoritmien skaalautuvuus riippui eri asioista. A* skaalautui hahmojen määrän sekä laskettavan reitin pituuden mukaan. Flowfield skaalautui kartan koon sekä monimutkaisuuden mukaan. Pohdintoihin lisättiin vielä huomautus reitinlöydön muista teknisistä osista, jotka tulee ottaa huomioon reitinlöytöä implementoidessa.
 
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste