2D-pelinkehitys Unity-pelimoottorilla : Graafisen työn ja ohjelmoinnin yhdistäminen pelin toteutuksessa
Kurki, Juhani; Sutinen, Olli-Pekka (2019)
Kurki, Juhani
Sutinen, Olli-Pekka
2019
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-2019052812460
https://urn.fi/URN:NBN:fi:amk-2019052812460
Tiivistelmä
Opinnäytetyön tarkoituksena oli suunnitella ja luoda 2D-tasohyppelypeli Unity-pelimoottorilla, yhteisen peli-idean pohjalta. Tavoitteena oli saada luotua toimiva demo ja prototyyppi valmiin peli-idean pohjalta, jota olisi mahdollista työstää myös jatkossa laajemmalle kehitykselle. Teorian, käytännön ja toteutuksen osuudet opinnäytetyössä ovat jaettu kahtia. Näissä toinen tekijä keskittyi ohjelmointiin ja toinen pelin graafisen ulkoasun toteuttamiseen.
Ohjelmointi ja pelin toiminnalliset osiot työssä toteutettiin käyttämällä C# -ohjelmointikieltä, joka on tällä hetkellä Unityn ainoa mahdollinen ohjelmointikieli. Tämän lisäksi kyseinen ohjelmointikieli oli helppo hallita ja omaksua oman henkilökohtaisen kokemuksen pohjalta. Pelin grafiikka tehtiin pääasiassa Adobe Photoshop -ohjelmalla ja animaatiot Adobe Animate -ohjelmalla. Hyödyntämällä ja yhdistämällä grafiikkaa ohjelmoinnin tukena, saatiin lopulta luotua aikaiseksi pelimekaniikoiltaan toimiva sekä onnistunut peli.
Emme pyri tällä raportilla opettamaan pelin tekoa lukijalle, vaan kuvaamaan prosessia, jonka kävimme läpi peliä tehdessä. Työ sisältää runsaasti Unity-pelimoottoriin, grafiikkaan ja ohjelmointiin liittyviä teknisiä termejä, joiden kääntäminen suomenkieliseen muotoon tuotti kyseisessä raportissa hieman haasteita tekijöille. Raportissa esiteltäviin aiheisiin kuuluu muun muassa pelinkehitystyökalujen laajamittainen tarkastelu, grafiikan, animaatioiden ja pelimaailman luominen sekä ohjelmoinnin hyödyntäminen ja käyttäminen pelin eri toiminnallisuuksien tekemisen perustana. Näissä aihealueissa käymme läpi myös tarkemmin, kuinka pelikehityksessä on tärkeää yhdistää grafiikkaa ohjelmakoodin kanssa esimerkiksi liikkumisen ja animaatioiden tuottamisen tukena. Työn tuloksia on mahdollista hyödyntää Unity-pelimoottorin edistyksellisempään tutkimiseen sekä grafiikan ja ohjelmoinnin laajamittaiseen tarkasteluun pelinkehityksen tukena. The purpose of this thesis was to design and create a 2D-platformer game with the Unity game engine, based on a common game idea between the two creators. The goal was to create a working demo and a prototype based on a finished game idea, which could also be further developed in the future. The parts of theory, practice and implementation in the thesis were divided into two. In these, one creator focuses on programming and the other on the graphic appearance of the game.
Programming and the functionality of the game is implemented using the C# programming language. This programming language was chosen based on its popularity and personal experience. The game’s graphics were mainly made with Adobe Photoshop and animations with Adobe Animate. Utilizing and combining graphics to support programming in the project, we succeeded in making a game with working mechanics.
With this report, we do not seek to teach the reader how to make a make with Unity engine, but to describe the process that we used while making our own game. The work contains a lot of technical terms related to Unity’s gaming engine, graphics and programming. Topics covered in the thesis include a wide-ranging review of game development tools and softwares, the creation of graphics, animations and the gaming world as well as the use of programming as a basis for making different functionalities of the game. In these topics, we will also go into more detail about the importance of combining graphics with programming files, for example, to support movement and animation while making different mechanics for the game. It’s possible to utilize the results of the thesis for more advanced exploration of the Unity game engine and to get a comprehensive review of graphics and programming in game development.
Ohjelmointi ja pelin toiminnalliset osiot työssä toteutettiin käyttämällä C# -ohjelmointikieltä, joka on tällä hetkellä Unityn ainoa mahdollinen ohjelmointikieli. Tämän lisäksi kyseinen ohjelmointikieli oli helppo hallita ja omaksua oman henkilökohtaisen kokemuksen pohjalta. Pelin grafiikka tehtiin pääasiassa Adobe Photoshop -ohjelmalla ja animaatiot Adobe Animate -ohjelmalla. Hyödyntämällä ja yhdistämällä grafiikkaa ohjelmoinnin tukena, saatiin lopulta luotua aikaiseksi pelimekaniikoiltaan toimiva sekä onnistunut peli.
Emme pyri tällä raportilla opettamaan pelin tekoa lukijalle, vaan kuvaamaan prosessia, jonka kävimme läpi peliä tehdessä. Työ sisältää runsaasti Unity-pelimoottoriin, grafiikkaan ja ohjelmointiin liittyviä teknisiä termejä, joiden kääntäminen suomenkieliseen muotoon tuotti kyseisessä raportissa hieman haasteita tekijöille. Raportissa esiteltäviin aiheisiin kuuluu muun muassa pelinkehitystyökalujen laajamittainen tarkastelu, grafiikan, animaatioiden ja pelimaailman luominen sekä ohjelmoinnin hyödyntäminen ja käyttäminen pelin eri toiminnallisuuksien tekemisen perustana. Näissä aihealueissa käymme läpi myös tarkemmin, kuinka pelikehityksessä on tärkeää yhdistää grafiikkaa ohjelmakoodin kanssa esimerkiksi liikkumisen ja animaatioiden tuottamisen tukena. Työn tuloksia on mahdollista hyödyntää Unity-pelimoottorin edistyksellisempään tutkimiseen sekä grafiikan ja ohjelmoinnin laajamittaiseen tarkasteluun pelinkehityksen tukena.
Programming and the functionality of the game is implemented using the C# programming language. This programming language was chosen based on its popularity and personal experience. The game’s graphics were mainly made with Adobe Photoshop and animations with Adobe Animate. Utilizing and combining graphics to support programming in the project, we succeeded in making a game with working mechanics.
With this report, we do not seek to teach the reader how to make a make with Unity engine, but to describe the process that we used while making our own game. The work contains a lot of technical terms related to Unity’s gaming engine, graphics and programming. Topics covered in the thesis include a wide-ranging review of game development tools and softwares, the creation of graphics, animations and the gaming world as well as the use of programming as a basis for making different functionalities of the game. In these topics, we will also go into more detail about the importance of combining graphics with programming files, for example, to support movement and animation while making different mechanics for the game. It’s possible to utilize the results of the thesis for more advanced exploration of the Unity game engine and to get a comprehensive review of graphics and programming in game development.