2D-pelin toteutus Unityllä
Riiali, Antti (2022)
Riiali, Antti
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022112925000
https://urn.fi/URN:NBN:fi:amk-2022112925000
Tiivistelmä
Opinnäytetyö tutkii, kuinka Unity-pelimoottori soveltuu 2D-pelimaailmojen, ja erityisesti 2D-tasohyppelypelien, toteutukseen. Opinnäytetyössä suunnitellaan ja toteutetaan yksinkertainen 2D-tasohyppelypeli.
Työn toimeksiantajana on Kaakkois-Suomen ammattikorkeakoulun Game Studios -hanke. Hankkeen tarkoituksena on edistää peliohjelmmoinnin opetusta ammattikorkeakoulussa.
Unity-pelimottori on alun perin rakennettu 3D-kehitykseen, johon on myöhemmin lisätty tuki 2D-kehitykselle. Ero näiden kahden eri ulottuvuuden välillä on kuitenkin vähäinen, ja käyttöliittymät toimivat lähes samalla tavalla.
Opinnäytetyön pelidemo mukailee sunnitelmaltaan massiivissa monen pelaajan verkkoroolipeleissä (MMORPG, Massive Multiplayer Online Role-playing Game) nähtyä toimeksiantoa, jossa pelaajan täytyy suorittaa yksinkertainen tehtävä. Pelaajan tehtävä demossa on kerätä 10 omenaa yksinkertaisessa kentässä hyppimällä tasolta tasolle ennen kuin aika loppuu kesken.
Opinnäytetyössä käydään lävitse yksityiskohtaisesti, kuinka luodaan uusi projekti Unityssä, ja alustetaan se, kuinka luodaan objekteja ja kuinka niihin liitetään komponentteja, kuinka animoidaan pelihahmoa ja annetaan sille useita eri animaatioita ja kuinka koodataan eri toiminnallisuuksia objekteille ja pelille.
Lopputuloksena päädyttiin siihen, että Unity-pelimoottori soveltuu hyvin 2D-pelikehitykseen ja varsinkin 2D-tasohyppelypelin luontiin. Opinnäytyöntekijälle avautui ajatuksia siitä, kuinka pelidemoa voisi jatkokehittää, ja minkälaisia asioita kannattaisi tehdä toisin tai paremmin tulevaisudeessa tämän kaltaisessa projektissa. This thesis researched how well the Unity game engine was suited for building 2D game worlds, and in particular, 2D platform games. During the thesis a simple 2D platform game was designed and implemented. The commissioner of the work was Southern Finland University of Applied Science's Game Studio project. The aim of the project is to advance the teaching of game programming in the university. The Unity game engine was originally meant for 3D development, but an official support for 2D development was added to it later. The difference between these two dimensions is minimal, however, and the user interfaces work quite similarly. The game demo in the thesis borrowed its design idea from massive multiplayer online role-playing games (MMORPG) where players have typically been given a simple task or quest. The player's task is to collect 10 apples in a simple level, jumping from a platform to platform before the time runs out.
This thesis showed in detail how to make a new project in Unity and how to prepare it, how to create objects and how to add components to them, how to animate player character and how to give it multiple working animations, and how to code different functionalities to objects and to the system. In conclusion it was found that the Unity game engine suited well for 2D game development and particularly for making a 2D platform game. Making the game demo of the thesis opened up new ideas for developing the demo further in the future and what could have been done differently or better when working on this kind of project.
Työn toimeksiantajana on Kaakkois-Suomen ammattikorkeakoulun Game Studios -hanke. Hankkeen tarkoituksena on edistää peliohjelmmoinnin opetusta ammattikorkeakoulussa.
Unity-pelimottori on alun perin rakennettu 3D-kehitykseen, johon on myöhemmin lisätty tuki 2D-kehitykselle. Ero näiden kahden eri ulottuvuuden välillä on kuitenkin vähäinen, ja käyttöliittymät toimivat lähes samalla tavalla.
Opinnäytetyön pelidemo mukailee sunnitelmaltaan massiivissa monen pelaajan verkkoroolipeleissä (MMORPG, Massive Multiplayer Online Role-playing Game) nähtyä toimeksiantoa, jossa pelaajan täytyy suorittaa yksinkertainen tehtävä. Pelaajan tehtävä demossa on kerätä 10 omenaa yksinkertaisessa kentässä hyppimällä tasolta tasolle ennen kuin aika loppuu kesken.
Opinnäytetyössä käydään lävitse yksityiskohtaisesti, kuinka luodaan uusi projekti Unityssä, ja alustetaan se, kuinka luodaan objekteja ja kuinka niihin liitetään komponentteja, kuinka animoidaan pelihahmoa ja annetaan sille useita eri animaatioita ja kuinka koodataan eri toiminnallisuuksia objekteille ja pelille.
Lopputuloksena päädyttiin siihen, että Unity-pelimoottori soveltuu hyvin 2D-pelikehitykseen ja varsinkin 2D-tasohyppelypelin luontiin. Opinnäytyöntekijälle avautui ajatuksia siitä, kuinka pelidemoa voisi jatkokehittää, ja minkälaisia asioita kannattaisi tehdä toisin tai paremmin tulevaisudeessa tämän kaltaisessa projektissa.
This thesis showed in detail how to make a new project in Unity and how to prepare it, how to create objects and how to add components to them, how to animate player character and how to give it multiple working animations, and how to code different functionalities to objects and to the system. In conclusion it was found that the Unity game engine suited well for 2D game development and particularly for making a 2D platform game. Making the game demo of the thesis opened up new ideas for developing the demo further in the future and what could have been done differently or better when working on this kind of project.