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
  • Metropolia Ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite
  •   Ammattikorkeakoulut
  • Metropolia Ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite

Pelimoottorin rakentaminen C#-ohjelmointikielellä

Lakkala, Nomi (2020)

 
Avaa tiedosto
lakkala_nomi.pdf (1.981Mt)
Lataukset: 


Lakkala, Nomi
2020
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020112724787
Tiivistelmä
Insinööritön päätavoitteena oli suunnitella ja toteuttaa täysin C#-ohjelmointikielellä ohjelmoitu toimiva ja suorituskykyinen 3D-pelimoottori sekä tutkia, sopiiko C#-ohjelmointikieli tällaisten pelimoottorien ohjelmoimiseen.

Insinöörityön pelimoottorin arkkitehtuuri mallinnettiin Unityn ECS-arkkitehtuurin mukaan, johon Unity on vähitellen muuntamassa omaa pelimoottoriaan. Pelimoottorin ECS-arkkitehtuuri yritettiin kehittää mahdollisimman suorituskykyiseksi ja helppokäyttöiseksi. Pelimoottoriin kehitettiin myös monisäikeistetty tehtäväjärjestelmä, joka auttoi saamaan kaiken tehon käyttöön suorittimen ytimistä. Pelimoottorin fysiikkakirjastona käytettiin BEPUPhysics-kirjastoa, ja grafiikkarajapintana käytettiin Vulkania. Pelimoottorin ohella toteutettiin myös resurssipakkaustyökalu ja tekstuuripakkauskirjasto.

Insinöörityön osana myös tutkittiin C#:n hyötyjä ja rajoituksia pelimoottoreiden ohjelmoinnissa sekä perehdyttiin tapoihin, joilla voidaan välttää joitain C#:n heikkouksia. Tämän lisäksi insinöörityössä esiteltiin yleisiä optimointitekniikoita C#-kielelle.

Insinöörityön pelimoottorilla ja Unity-pelimoottorilla toteutettiin samankaltaiset testipelit, joiden avulla vertailtiin pelimoottorien suorituskykyä. Testipeleissä lennetään avaruusaluksella avaruudessa ja yritetään tuhota asteroideja. Testipelin tarkoituksena oli verrata, miten täysin C#:lla ohjelmoitu pelimoottori suoriutuu C++:lla ohjelmoitua Unity-pelimoottoria vastaan.

Insinöörityön tuloksena todettiin, että C# sopii hyvin pelimoottoreiden toteuttamiseen ja että oikeanlaisilla ohjelmointitekniikoilla saadaan täysin C#-kielellä kirjoitetusta pelimoottorista tietynlaisissa peleissä suorituskykyisempi kuin C++-kielellä ohjelmoidusta Unity-pelimoottorista.
Kokoelmat
  • Opinnäytetyöt
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