Shoot ’em up -pelidemon toteutus Unity- ja Unreal Engine -pelimoottoreilla
Kovalainen, Reko (2025)
Kovalainen, Reko
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025111127621
https://urn.fi/URN:NBN:fi:amk-2025111127621
Tiivistelmä
Opinnäytetyössä toteutettiin lyhyt shoot ’em up -genren pelidemo kahdelle pelimoottorille, Unitylle ja Unreal Enginelle. Demot keskittyivät pelin toimivuuteen ja mekaniikkoihin ja niiden ohjelmointiin.
Opinnäytetyö jakautui teorian ja käytännön osuuksiin. Teoriaosuudessa käytiin ensimmäiseksi läpi, mitä ovat pelimoottorit ja erityisesti mitä ovat Unity ja Unreal Engine ovat. Sen jälkeen selitettiin shoot ’em up -projektista ja mikä on shoot ’em up -peligenre. Teoriaosuuden lopussa keskityttiin tärkeimpiin huomioitaviin asioihin pelidemoa tehdessä ja selitettiin tarkemmin auki, mitä ovat ja miten toimivat projektissa käytetyt spline komponentti ja object pooling.
Opinnäytetyön käytännön osuus jaettiin myös kahteen osaan. Ensimmäinen luku näistä käsitteli shoot ’em upin tekemistä Unity pelimoottorilla painottuen mekaniikkojen toteutukseen ja miten ne toimivat tai näyttävät pelissä. Ominaisuudet ja mekaniikat olivat pelaajahahmon luonti ja toiminta, ampumismekaniikat, vihollisen ja loppuvastuksen käyttäytyminen, power-upit, liikkuminen pelialueella spline-komponentin avulla ja ilman, pelin ominaisuuksien hallinta ja käyttöliittymä. Toinen kappale kertoi samat asiat ja miten ne toteutettiin Unreal Enginelle.
Viimeinen kappale opinnäytetyössä veti yhteen projektin onnistumiset ja epäonnistumiset. Siinä keskityttiin, mitä uusia asioita opittiin pelimoottorien käytöstä sekä miten saman pelidemon työstäminen eroaa eri pelimoottoreilla. Lyhyesti myös käsiteltiin, miten asioita olisi kannattanut tehdä toisin. In this thesis, a short game demo in the shoot 'em up genre was created using both Unity and Unreal Engine. The demo focused on functionality and mechanics and how they were programmed rather than visuals or looking pretty.
The thesis was divided into theoretical and practical sections. The theoretical section began by explaining what game engines are, with a focus on Unity and Unreal engine. It then described the shoot ‘em up project and characteristics of the shoot ‘em up genre. Finally, the theoretical section discussed what should be considered when creating a demo and explained the spline component and object pooling used in the project, including their functions.
The practical part was also divided into two sections. The first section focused on creating a shoot ‘em up using the Unity game engine, emphasizing the implementation of mechanics and how they function or appear in-game. This included the development of the player character, shooting mechanics, enemy and final boss behaviour, power-ups, movement withing the game word with or without the spline component, game management and the user interface. The second section covered the same topics but described how they were implemented using Unreal Engine.
The final part of the thesis was a conclusion that summarized the positive and negative outcomes of the project, focusing on what new was learned from using both game engines and how the process differed when implementing the same project using two different game engines. A brief section also discussed what could have been done differently during the project.
Opinnäytetyö jakautui teorian ja käytännön osuuksiin. Teoriaosuudessa käytiin ensimmäiseksi läpi, mitä ovat pelimoottorit ja erityisesti mitä ovat Unity ja Unreal Engine ovat. Sen jälkeen selitettiin shoot ’em up -projektista ja mikä on shoot ’em up -peligenre. Teoriaosuuden lopussa keskityttiin tärkeimpiin huomioitaviin asioihin pelidemoa tehdessä ja selitettiin tarkemmin auki, mitä ovat ja miten toimivat projektissa käytetyt spline komponentti ja object pooling.
Opinnäytetyön käytännön osuus jaettiin myös kahteen osaan. Ensimmäinen luku näistä käsitteli shoot ’em upin tekemistä Unity pelimoottorilla painottuen mekaniikkojen toteutukseen ja miten ne toimivat tai näyttävät pelissä. Ominaisuudet ja mekaniikat olivat pelaajahahmon luonti ja toiminta, ampumismekaniikat, vihollisen ja loppuvastuksen käyttäytyminen, power-upit, liikkuminen pelialueella spline-komponentin avulla ja ilman, pelin ominaisuuksien hallinta ja käyttöliittymä. Toinen kappale kertoi samat asiat ja miten ne toteutettiin Unreal Enginelle.
Viimeinen kappale opinnäytetyössä veti yhteen projektin onnistumiset ja epäonnistumiset. Siinä keskityttiin, mitä uusia asioita opittiin pelimoottorien käytöstä sekä miten saman pelidemon työstäminen eroaa eri pelimoottoreilla. Lyhyesti myös käsiteltiin, miten asioita olisi kannattanut tehdä toisin.
The thesis was divided into theoretical and practical sections. The theoretical section began by explaining what game engines are, with a focus on Unity and Unreal engine. It then described the shoot ‘em up project and characteristics of the shoot ‘em up genre. Finally, the theoretical section discussed what should be considered when creating a demo and explained the spline component and object pooling used in the project, including their functions.
The practical part was also divided into two sections. The first section focused on creating a shoot ‘em up using the Unity game engine, emphasizing the implementation of mechanics and how they function or appear in-game. This included the development of the player character, shooting mechanics, enemy and final boss behaviour, power-ups, movement withing the game word with or without the spline component, game management and the user interface. The second section covered the same topics but described how they were implemented using Unreal Engine.
The final part of the thesis was a conclusion that summarized the positive and negative outcomes of the project, focusing on what new was learned from using both game engines and how the process differed when implementing the same project using two different game engines. A brief section also discussed what could have been done differently during the project.
