Pelimoottorin rakenne
Kugge, Kilian (2024)
Kugge, Kilian
2024
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ä
2024-05-20
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202405145803
https://urn.fi/URN:NBN:fi:tuni-202405145803
Tiivistelmä
Pelimoottorit ovat videopelien suorittamisen ydintoiminnoista vastuussa olevia uudelleenkäytettäviä ohjelmistoja. Pelimoottorin rakenteella on suuri merkitys pelin ja pelikehityksen kannalta, mutta monet käyttäjät sivuuttavat nämä seikat ja keskittyvät enemmän pelimoottorin käyttämiseen tarkoitettujen työkalujen opettelemiseen. Tutkielmassa tarkastellaan kirjallisuuskatsauksen kautta pelimoottorin rakennetta: mitkä ovat pelimoottorin tärkeimmät vastuualueet, mitä ne sisältävät, ja miten ne linkittyvät toisiinsa.
Pelimoottoreista voidaan tunnistaa muutama päävastuualue. Pelin simulaation kannalta tärkeimmät näistä vastuualueista ovat pelimaailman piirtäminen eli renderöinti, pelimaailman objektien välillä tapahtuvien törmäyksien ja niiden fyysisten ominaisuuksien hallinnointi eli fysiikka, peliobjektien ja -hahmojen animaatio sekä äänimaailman hallinnointi eli audio. Näiden lisäksi pelimoottorin vastuualueisiin kuuluu esimerkiksi pelin suorituksen ja ulkoisten laitteiden hallinnointi.
Pelimoottorin päävastuualueet voidaan tunnistaa helposti, mutta yhteydet eri osien välillä voivat olla vaikeampi hahmottaa. Modulaarisesta ihanteesta huolimatta pelimoottorin eri osien täytyy keskustella keskenään paljon. Pelimoottoreiden komponenteista voidaan tunnistaa yleisimmät ja tärkeimmät yhteyskohdat, sekä sen mitkä komponentit ovat kaikista kutsutuimpia pelimoottorin suorituksen aikana. Yleisiä palveluita tarjoavien vastuualueiden lisäksi renderöinti on tunnistetuista päävastuualueista kaikista eniten yhteyksiä omaava, mikä viestiikin entistä selvemmin visuaalisuuden tärkeydestä pelimoottoreiden ja pelien kannalta.
Pelimoottoreiden yksilöllisyydestä ja konkreettisten toteutusten loputtomista mahdollisuuksista huolimatta yleiset ohjelmistoarkkitehtuurilliset ratkaisut ovat usein havaittavissa. Pelimoottoreiden lähdekoodin suuresta määrästä ja monimutkaisuudesta huolimatta niiden modulaarinen rakenne seuraa korkealla tasolla selkeää kaavaa, jossa jokaisella osalla on omat tehtävänsä. Tämän rakenteen tunnistaminen tekee näennäisesti monimutkaisesta ohjelmistosta merkittävästi lähestyttävämmän.
Pelimoottoreista voidaan tunnistaa muutama päävastuualue. Pelin simulaation kannalta tärkeimmät näistä vastuualueista ovat pelimaailman piirtäminen eli renderöinti, pelimaailman objektien välillä tapahtuvien törmäyksien ja niiden fyysisten ominaisuuksien hallinnointi eli fysiikka, peliobjektien ja -hahmojen animaatio sekä äänimaailman hallinnointi eli audio. Näiden lisäksi pelimoottorin vastuualueisiin kuuluu esimerkiksi pelin suorituksen ja ulkoisten laitteiden hallinnointi.
Pelimoottorin päävastuualueet voidaan tunnistaa helposti, mutta yhteydet eri osien välillä voivat olla vaikeampi hahmottaa. Modulaarisesta ihanteesta huolimatta pelimoottorin eri osien täytyy keskustella keskenään paljon. Pelimoottoreiden komponenteista voidaan tunnistaa yleisimmät ja tärkeimmät yhteyskohdat, sekä sen mitkä komponentit ovat kaikista kutsutuimpia pelimoottorin suorituksen aikana. Yleisiä palveluita tarjoavien vastuualueiden lisäksi renderöinti on tunnistetuista päävastuualueista kaikista eniten yhteyksiä omaava, mikä viestiikin entistä selvemmin visuaalisuuden tärkeydestä pelimoottoreiden ja pelien kannalta.
Pelimoottoreiden yksilöllisyydestä ja konkreettisten toteutusten loputtomista mahdollisuuksista huolimatta yleiset ohjelmistoarkkitehtuurilliset ratkaisut ovat usein havaittavissa. Pelimoottoreiden lähdekoodin suuresta määrästä ja monimutkaisuudesta huolimatta niiden modulaarinen rakenne seuraa korkealla tasolla selkeää kaavaa, jossa jokaisella osalla on omat tehtävänsä. Tämän rakenteen tunnistaminen tekee näennäisesti monimutkaisesta ohjelmistosta merkittävästi lähestyttävämmän.
Kokoelmat
- Kandidaatintutkielmat [8430]