• Ei tuloksia

2D-pelin tekeminen Unity-pelimoottorilla

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "2D-pelin tekeminen Unity-pelimoottorilla"

Copied!
26
0
0

Kokoteksti

(1)

Opinnäytetyö (AMK) Tietojenkäsittely 2021

Joni Paakki

2D-PELIN TEKEMINEN UNITY-

PELIMOOTTORILLA

(2)

OPINNÄYTETYÖ (AMK) | TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU Tietojenkäsittely

2021 | 26 sivua

Joni Paakki

2D-PELIN TEKEMINEN UNITY-PELIMOOTTORILLA

Opinnäytetyön tavoitteena oli luoda ensimmäinen taso viihdekäyttöön tarkoitetulle 2D-tasohyp- pelypelille ja perehtyä pelikehityksen eri vaiheisiin. Ensimmäisellä tasolla pelaaja saisi oppia pelin perusmekaniikat, kuten liikkuminen ja taisteleminen ja kuinka salaisuudet voidaan merkitä pe- lissä. peliä kehitettiin yksin, joten tämä tarkoitti sitä, että kirjoittaja teki grafiikat, äänisuunnittelun ja ohjelmoinnin yksin.

Kehitys alkoi vertaamalla ja valitsemalla, käytetäänkö peliin Unreal- vai Unity-pelimoottoria. Lo- pulta Unity-pelimoottori valittiin paremman 2D-tuen vuoksi ja koska ohjemointikieli oli tutumpi C#.

Pelityyppi muuttui kehityksen aikana vastaamaan paremmin pelin tarinaelementtiä. Pelin grafiikan tekoon käytettiin Piskel nimistä ohjelmaa ja äänisuunnittelussa käytettiin Audacity nimistä ohjel- maa.

Pelin ensimmäiseen tasoon saatiin tärkeimmät mekaniikat toteutettua, ja pelaaja pääsee kokei- lemaan, miten peli toimii.

Kehityksen aikana kävi selväksi, kuinka vaikeaa on tehdä pienikin peli yksin ilman resursseja, ja joutua opettelemaan uusia taitoja, kuten pikselitaidetta ja äänisuunnittelua kehityksen aikana.

ASIASANAT:

Pelisuunnittelu, Unity, Pelinkehitys

(3)

BACHELOR´S THESIS | ABSTRACT

TURKU UNIVERSITY OF APPLIED SCIENCES Business Information Technology

2021 | 26 pages

Joni Paakki

MAKING A 2D-GAME WITH UNITY ENGINE

The goal of this thesis was to create the first level of a 2D platformer game for entertainment purposes, and for the author of the thesis to become familiar with game development at different phases. On the first level the player could learn the basic mechanics of the game, such as move- ment, combat and how secrets may be marked in the game world. The game was developed as a solo project, so this meant that the author executed the artwork, sound design, and program- ming alone.

The development started with comparing and choosing whether to use the Unreal or the Unity engine. In the end, Unity engine was chosen for its better 2D support, and because the language used for programming was the more familiar C#. During the development the games style ended up changing to better fit the story element of the game. The program used for artwork was Piskel and Audacity was used for sound design.

The first level was created, and the most important game mechanics were implemented so that the player may test how the game works.

During the development it became clear how difficult it is to make even a small game alone with practically no resources and having to learn new skills such as pixel art and sound design on the go.

KEYWORDS:

Game design, Unity, Game development

(4)

SISÄLTÖ

SANASTO 6

1 JOHDANTO 8

2 PELIMOOTTORIN VALINTA 9

3 PELIN SUUNNITTELU 12

3.1 Pelilajityypit 12

3.2 Markkinointi ja myynti 13

3.3 Oman pelin suunnittelu 13

4 PELIN TAVOITE 17

5 PELIN KEHITTÄMINEN 19

5.1 Oman pelin kehitys 21

5.2 Pelin testaus 22

5.3 Jatkosuunnitelma 23

6 POHDINTA 24

LÄHTEET 25

(5)

KUVAT

Kuva 1. Tilemap Renderer- ja Tilemap Collider 2D -komponenttien käyttö. 10 Kuva 2. Tilemap koostuu monesta pienestä kuvasta, joita käytetään maalaamaan

maailma sen muotoiseksi kuin halutaan. 11

Kuva 3. Ensimmäisen vihollisen ja loppuvihollisen luonnos. 14 Kuva 4. Power-up esineiden luonnoksia. Vasemmalta oikealle nopeus, elämä ja voima.

14

Kuva 5. Palkintojen luonnoksia. 15

Kuva 6. Amuletin luonnokset. 15

Kuva 7. Pelaajahahmon luonnos. 16

Kuva 8. Ensimmäisen kentän alku vihollisen ja sen ammuksen kanssa alfaversiossa. 17

Kuva 9. Ensimmäisen kentän vuokaavio. 18

TAULUKKO

Taulukko 1. Unity Vs Unreal. 9

(6)

SANASTO

2D Kaksiulotteinen grafiikka. (Unity Manual, 2021) 3D Kolmiulotteinen grafiikka. (Unity Manual, 2021) Alfaversio Valmiin tuotteen runko

DLC Downloadable Content. Ladattava lisäosa, joka voi olla mak- sullinen

Dungeon crawler Pelityyppi, jossa pelaaja navigoi labyrinttimaisissa kentissä (Moby Games, 2021)

Easter egg Piilotettu viesti tai viittaus mediassa (Techopedia, 2018) FPS First-person shooter. Peligenre, jossa pelaajan näkee maail-

man hahmon silmin (Techopedia, 2011)

Level Leveleillä mitataan pelaajan kehitystä, ansaitaan uusia kykyjä ja kehitytään vahvemmaksi (Pav, 2020)

Loot Pelaajan keräämät tavarat, kuten aseet, haarniskat, vaatteet, kulta jne (Cyber Definitions, 2021)

MOBA Multiplayer Online Battle Arena. Strategia pelien alalaji (Çakir, 2021)

Pelimoottori ohjelmistokehys, jota käytetään pelien tekemistä varten Point & Click Pelilajityyppi, jossa pelaaja liikkuu ja on vuorovaikutuksessa

pelin kanssa käyttämällä pelkästään hiirtä

Power-up Esine, joka voi esimerkiksi kasvattaa hahmon voimaa tai no- peutta ja antaa uusia kykyjä tai muuttaa olemassa olevia (Techopedia, 2015)

Respawn Vihollisten tai pelaajan uudelleen syntyminen tietylle alueelle RPG Role-Playing Game. Peligenre, jossa on roolipelielementtejä, joihin yleensä lukeutuu hahmonluominen ja hahmon kehitys

(7)

Skene Pelin keskeyttävä tapahtuma, kuten tarinaan liittyvä animaa- tio

Speedrun Pelaajien keksimä pelityyli, jossa tarkoituksena on päästä peli läpi mahdollisimman nopeasti (Gonzalez, 2021)

Sprite kaksiulotteinen kuva tai animaation (Unity Documentation, 2021)

Subreddit Reddit palvelun oma-alue, jossa ihmiset voivat keskustella tietystä aiheesta (Reddit, 2021)

XP Experience points. Pelaajan ansaitsemat kokemuspisteet, joiden avulla pelaaja kehittyy ja saa leveleitä

(8)

8

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

1 JOHDANTO

Pelinkehityksessä on vuosien saatossa tapahtunut paljon parannuksia laitteiden kehitty- essä aina grafiikoista pelimekaniikkoihin. Vaikka pelit kehittyvät yhä realistisemmaksi, ja suuri osa isojen pelistudioiden kehittämistä peleistä on 3D-pelejä, niin 2D-pelit, jotka käyttävät piirrosmaisia ja pikseligrafiikoita, ovat yhä suosiossa. Unity-pelimoottori mah- dollistaa 2D- ja 3D-pelien kehityksen tietokoneille, pelikonsoleille sekä mobiililaitteille.

Tämän opinnäytetyön tavoitteena on perehtyä pelikehitykseen yleisesti, sekä luoda 2D- pelin ensimmäinen kenttä, käyttämällä Unity-pelimoottoria. Pelin ensimmäisen kentän tarkoitus on opettaa pelaajalle pelin tärkeimmät ominaisuudet, kuten liikkumisen ja tais- telemisen. Tässä kentässä pelaaja pääsee kohtaamaan ensimmäiset viholliset sekä kentän loppuvastuksen, jonka on tarkoitus olla muita vihollisia haastavampi. Ensimmäi- seen kenttään lisätään myös muutama salaisuus, jotta pelaaja oppii tunnistamaan, miten ne löytyvät. Tämän lisäksi tutustutaan pelinkehityksen eri vaiheisiin, kuten suunnittelu, markkinointi, testaaminen jne. Tavoitteena on antaa pienelle testiryhmälle alfaversio pe- listä kokeiltavaksi ja pyytää ryhmältä palautetta pelin toiminnoista ja mahdollisista ongel- mista, joita testiryhmä kohtaa.

Opinnäytetyö on toiminnallinen tutkimus, jossa toteutetaan yksi toimiva kenttä. Idea tä- hän opinnäytetyöhön lähti omasta kiinnostuksesta peleihin ja pelikehitykseen ja halusta luoda jotain omaa ilman rajoitteita muilta.

(9)

9

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

2 PELIMOOTTORIN VALINTA

Ennen pelinkehityksen aloittamista täytyy miettiä, mitä pelimoottoria käytetään, tähän projektiin päädyttiin valitsemaan Unity-pelimoottori vertaamalla Unityn ja Unreal Enginen eroavaisuuksia ja kuinka ne sopisivat kyseiseen projektiin (Taulukko 1).

Taulukko 1. Unity Vs Unreal.

Unity ja Unreal Engine ovat molemmat aloittelijaystävällisiä pelimoottoreita, Unity käyttää koodin kirjoittamisessa C#-ohjelmointikieltä, kun taas Unreal käyttää C++-ohjelmointi- kieltä. Molemmat pelimoottorit voivat käyttää myös Python-ohjelmointikieltä koodin kir- joittamisessa mutta se tarvitsee lisäosan toimiakseen ja sen toiminta on rajoitettua. Suu- rimmaksi osaksi Pythonia käytetään editorin parantamiseksi automatisoimalla joitain toi- mintoja. (Unreal Engine 4 Documentation, 2021)

Molemmat pelimoottorit tukevat melkein kaikkia samoja alustoja, kuten konsolit, tietoko- nealustat, mobiilialustat sekä VR-alustat, mutta Unity tukee myös Android- ja iOS TV- alustoja. Molempien pelimoottoreiden yhteisöt ovat melko suuria ja aktiivisia, joten on useimmiten helppo löytää ratkaisu pelimoottoriin liittyviin ongelmiin sekä ideoita ja neu- voja projektien tekemiseen. Unity tarjoaa laajemman Asset Storen 2D-komponentteja varten, josta kehittäjät voivat ostaa esimerkiksi grafiikoita ja ääniefektejä, Asset Storessa on myös tarjolla ilmaisia grafiikkapaketteja, joita saa vapaasti käyttää. Unityllä on noin 8700 2D-assettia tarjolla ja Unreal Enginellä noin 390. (Unity Asset Store, 2021; Unreal Engine Marketplace 2021) Unreal Engine sopii paremmin suurempiin peleihin ja Unity

(10)

10

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

pienempiin peleihin, jotka eivät vaadin kovin paljon laitteelta, kuten mobiilipelit sekä 2D- pelit.

Unity-pelimoottori keskittyy enemmän 2D-komponentteihin, kun taas Unreal Engine kes- kittyy enemmän 3D- ja moninpelikomponentteihin, Unrealilla on hyvin rajoitettu 2D-tuki, kun taas Unity tarjoaa monenlaisia 2D-työkaluja pelien tekemiseen, mistä johtuen monet mobiilipelien kehittäjät suosivat Unityä. Unityn 2D-työkalujen avulla peliin saatiin helposti rakennettua kenttä käyttämällä Tilemap Collider 2D sekä Tilemap Renderer-työkaluja.

(Unity Technologies, 2021a; 2021b) (Kuva 1).

Kuva 1. Tilemap Renderer- ja Tilemap Collider 2D -komponenttien käyttö.

(11)

11

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Näiden avulla peliin tehdyistä 2D-spriteistä saatiin rakennettua toimiva kenttä. Tilemap Renderer on komponentti, joka mahdollistaa spritejen näkymisen kentässä ja Tilemap Collider 2D on komponentti, joka mahdollistaa vuorovaikutuksen tilemapin kanssa. Ken- tän rakentamiseen käytettiin niin kutsuttua tileset spriteä, joka koostui monesta eri ku- vasta, josta valittiin oikeat palat ja maalattiin kentän reunat ja alustat sellaisiksi kuin ha- luttiin. (Kuva 2).

Kuva 2. Tilemap koostuu monesta pienestä kuvasta, joita käytetään maalaamaan maa- ilma sen muotoiseksi kuin halutaan.

Tähän projektiin valittiin Unity pääosin 2D-komponenttien tuesta johtuen, sekä siitä, että Unityä on käytetty aikaisemmissa projekteissa ja se on tullut tutummaksi.

(12)

12

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

3 PELIN SUUNNITTELU

Pelin suunnittelu on tärkeä osa pelin tekemistä, ja on tärkeää määrittää pelin rajat alusta asti. Pelin idea ja pelimekaniikat saattavat muuttua hiukan kehityksen aikana, mutta pää- asiassa pyritään pysymään alkuperäisessä suunnitelmassa. Syy pelin idean ja pelime- kaniikan muuttumiseen voi olla moniosainen. Jos huomataan, että peliä ei välttämättä saada valmiiksi julkaisuun mennessä, on mahdollista, että pelistä jätetään joitain asioita pois julkaisuksi. Toinen tähän vaikuttava tekijä saattaa olla resurssit. Jos kehitykseen ei ole saatu tarpeeksi grafiikka puolen osaajia, ääni puolen osaajia, tai ohjelmoijia, niin peli voi olla julkaisussa hieman puutteellinen. Useat pienemmät peliyritykset ja yksittäiset in- die-kehittäjät saattavat vain viivästyttää julkaisua, jotta peli saadaan toimimaan, ja sitä ei tarvitse heti alkaa korjaamaan.

3.1 Pelilajityypit

Pelien lajityypit määräytyvät pelimekaniikan mukaan. Esimerkiksi tasohyppelypeleissä pelaajan pitää pystyä hyppimään ja liikkumaan vapaasti eri tasojen päällä, kun taas point

& click peleissä pelaaja liikkuu ja on vuorovaikutuksessa pelkällä hiirellä. Sen seurauk- sena liikkuminen on rajoitetumpaa ja sitä ei voi luokitella esimerkiksi tasohyppely peliksi.

Useat pelit myös yhdistelevät lajityyppejä, kuten Borderlands (2K, 2021), joka on RPG- ja FPS-lajityyppien yhdistelmä. FPS-tyyppi tulee siitä, että pelissä on mukana ampumista ja pelaajan näkymä on ensimmäisessä persoonassa, kun taas RPG-elementti tulee pelin loot- ja level-systeemistä, jonka avulla pelaaja kerää XP:tä ja avaa uusia taitoja, joilla hahmosta tehdään vahvempi. Roguelike-pelilajityyppi tarkoittaa pelejä, joissa jokainen kenttä on proseduraalisesti generoitu, joten mikään pelikerta ei ole samanlainen. Ro- guelike-peleissä pelaajien tavoite on päästä esimerkiksi jonkin luolaston loppuun asti ke- räämällä power-up-esineitä, jotka auttavat pelaajaa voittamaan vihollisia, joista tulee sitä vahvempia, mitä pidemmälle pelaaja pääsee. Roguelike-lajityyppi saa nimensä vuoden 1980 pelistä Rogue: Exploring the Dungeons of Doom (McHugh, 2018). Metroidvania- lajityyppi saa nimensä Metroid (Nintendo 2021) ja Castlevania (Konami, 2021) peleistä ja lajityyppi sisältää näille peleille keskeisiä konsepteja, kuten kenttiä, jotka muodostuvat yhdestä isosta tai monesta pienemmästä alueesta ja vihollisista, jotka voivat respawnata eli uudelleensyntyä. Pelaajat kohtaavat monesti alueita, joista ei pääse läpi ennen kuin on löytänyt tietyn power-upin, joka auttaa pelaajaa avaamaan lukitun oven tai tuhoamaan

(13)

13

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

seinän. Tämän seurauksena pelaaja joutuu kääntymään takaisin ja etsimään uuden rei- tin löytääkseen kyseisen power-upin.

3.2 Markkinointi ja myynti

Pelin suunnittelussa pitää myös ottaa huomioon, miten peliä voidaan markkinoida ja mi- ten ihmiset saadaan kiinnostumaan siitä. Tämä voidaan saavuttaa tekemällä peliin kiin- nostavan näköinen traileri ja käyttämällä pelistä otettuja kuvakaappauksia. Ihmisten kiin- nostus voi nousta ja laskea yhtä nopeasti, jos pelin esittely video ei pistä silmään. Peliä on mahdollista markkinoida ilmaiseksi käyttämällä sosiaalisen median palveluita kuten Twitter ja Reddit. Redditissä on monta eri subreddittiä joiden kautta peliä voi mainostaa ja yrittää saada pelille näkyvyyttä ja se ei vaadi muuta kuin oman käyttäjän tekemistä.

Pelin maksulliseen markkinointiin voidaan käyttää samoja sosiaalisenmedian palveluita kuin ilmaiseen markkinointiin käytettyjä, ostamalla mainostilaa niiden sivuilta. Pelin mai- nontaa varten pitää ottaa huomioon, kenelle peliä yritetään myydä ja miten kyseinen kohderyhmä tavoitetaan. Satunnaisten pelaajien tavoittaminen toimii parhaiten somen kautta, kuten Tiktok, Reddit, Twitter ja Facebook. Tällä tavalla voidaan myös tavoittaa henkilöitä, jotka pelaavat enemmän, mutta heidät voi myös tavoittaa pelitapahtumista, kuten E3. Pelin myynti onnistuu esimerkiksi laittamalla se myyntiin Steamiin tai Epic Sto- reen.

3.3 Oman pelin suunnittelu

Pelin suunnittelu alkoi miettimällä, halutaanko pelistä tehdä 2D-, 2.5D- vai 3D-peli ja va- litaanko pelin taidetyyliksi pikseli, vector, cel shade jne. Seuraavaksi piti myös miettiä, halutaanko pelistä tasohyppely, FPS, RPG, roguelike, metroidvania vai halutaanko näitä tyylejä sekoittaa keskenään. Lopputuloksena oli päätös tehdä 2D-tasohyppelypeli, jossa käytetään pikseligrafiikoita ja musiikin sekä äänien ei pitäisi rajoittua niin sanottuun ret- romusiikkiin, joka on tavallista vanhemmille pikselityylisille peleille. Vaan siinä pitäisi käyttää musiikkia ja ääniä, jotka sopivat kyseiseen hetkeen ja teemaan käyttämällä mo- derneja työkaluja ja menetelmiä.

Seuraavaksi alettiin suunnittelemaan minkälaisia vihollisia pelaaja tulee kohtaamaan.

Ensimmäisten vihollisten luonnoksiin ideana oli tehdä niistä eläintyyppisiä, kuten rapu- maisia ja mustekalamaisia. (Kuva 3).

(14)

14

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Kuva 3. Ensimmäisen vihollisen ja loppuvihollisen luonnos.

Vihollisten lisäksi suunniteltiin esineitä, jotka voivat antaa pelaajalle tilapäisiä voimia, ku- ten nopeampi liikkuminen, jota kuvaa sulka, tai vahvempi hyökkäys, jota kuvastaa kel- tainen pullo (Kuva 4).

Kuva 4. Power-up esineiden luonnoksia. Vasemmalta oikealle nopeus, elämä ja voima.

(15)

15

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Palkinnoksi kentän päävihollisen voittamisesta pelaaja saa kolme esinettä, joista heidän tulee valita yksi. Jokainen esine nostaa yhtä tiettyä kykyä, kuten nopeus, voima ja elä- mäpisteet ja antaa pelaajalle mahdollisuuden valita millä tyylillä he haluavat pelata (Kuva 5).

Kuva 5. Palkintojen luonnoksia.

Alun perin pelaajalla piti olla mahdollisuus eläköityä halutessaan ja siirtää voimat toiselle hahmolle. Tästä ideasta luovuttiin tarinaa varten, jossa pelaaja löytää voimakkaan amu- letin, joka antaa hahmolle erikoiset voimat ja kyvyn kehittyä paremmaksi (Kuva 6).

Kuva 6. Amuletin luonnokset.

(16)

16

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Tavoitteena on tehdä peliin monta eri kenttää ja tarinaa. Tämä saavutetaan siten, että tarinan päähahmo vaihtuu aina kun peli päästään läpi. Tämän avulla peliin saadaan luo- tua monta eri hahmoa ja erilasia kenttiä. Pelin ensimmäisen tarinan lopussa paljastuu, että amuletti on kirottu ja kun pelaaja tuhoaa loppuvastuksen, niin amuletti korruptoi pe- laajan ja tekee tästä pahan. Amuletti tuhoutuu tai katoaa jollain tavalla ja menettää osan voimista. Kun uusi hahmo löytää amuletin ja pääsee pelin loppuun, niin hän joutuu tais- telemaan uuden loppuvastuksen kanssa. Uusi loppuvastus on pelaajan edellinen hahmo, jolla on melkein kaikki edellisestä pelistä hankitut voimat. Tämän ansiosta peliin voidaan tehdä monta erilaista kenttää, ja se sopii tarinan kerrontaan. Pelaajahahmon suunnittelu aloitettiin vasta myöhemmin, koska siihen haluttiin keskittyä enemmän (Kuva 7).

Kuva 7. Pelaajahahmon luonnos.

(17)

17

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

4 PELIN TAVOITE

Peli on tarkoitettu viihdetarkoitukseen, ja tavoitteena on tehdä pelistä sellainen, että kuka tahansa voi vapaa-ajallaan aloittaa pelaamaan sitä ilman suurempia sitoumuksia ajalli- sesti. Peli tehdään alustavasti PC:lle ja mahdollisesti tulevaisuudessa yhteensopivaksi muille alustoille. Ensimmäisen kentän tarkoitus on toimia tutoriaalina, joten kentän vihol- lisiksi ei haluta mitään liian haastavaa, jotta pelaaja pääsee kokeilemaan pelin toimintoja ennen vaikeampia haasteita. (Kuva 8).

Kuva 8. Ensimmäisen kentän alku vihollisen ja sen ammuksen kanssa alfaversiossa.

(18)

18

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Kentät perustuvat hahmojen taustoihin, esimerkiksi jokin hahmo saattaa asua kylmällä vuoristoalueella, jolloin kentät ovat täynnä lunta, kun taas toinen hahmo saattaa asua aavikolla hiekan ympäröimänä. Näiden eri alueiden avulla saadaan peliin myös eri toi- minnallisuuksia. Alueiden erilaisuus ei ole tarkoitus vain olla kosmeettisia, vaan myös toiminnallisia, esimerkiksi hahmolla, jonka kentissä on lunta, saattaa olla vaikeampaa tehdä tarkkoja liikkeitä, sillä jotkin kentän alustat ovat jäisiä ja hahmo liukuu niiden päällä.

Aavikkokentissä pelaaja saattaa kohdata juoksuhiekkaa ja erilaisia vihollisia, jotka sopi- vat kyseiseen maastoon. Pelin ensimmäisessä tutoriaalikentässä pelaajilla on muutama eri suuntaa, joihin he voivat liikkua ja tutkia kenttää (Kuva 9).

Kuva 9. Ensimmäisen kentän vuokaavio.

Peliin voidaan myös lisätä erilaisia pelimoodeja, kuten speedrun-moodi, jossa pelaajan tavoite on päästä peli mahdollisimman nopeasti läpi, tai pelimoodi, jossa pelaaja saa jatkaa pelaamista päävihollisena, jolla on oma tarina.

(19)

19

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

5 PELIN KEHITTÄMINEN

Pelinkehityksessä on seitsemän tasoa: suunnittelu, esituotanto, tuotanto, testaus, esijul- kaisu, julkaisu ja jälkituotanto. Suunnittelussa pitää ottaa huomioon pelin idean, tyylin, grafiikoiden ja pelimekaniikkojen lisäksi mitä haasteita on mahdollista kohdata kehityk- sen aikana, kuten määräajat ja budjetti. Pitää ottaa myös huomioon keitä henkilöitä on mukana kehityksessä ja miten pelistudio/julkaisija haluaa toteuttaa esimerkiksi markki- noinnin, ja pitääkö peliin mahdollisesti palkata ääninäyttelijöitä studion ulkopuolelta vai käytetäänkö siihen studion omia työntekijöitä. Jos julkaisijana toimii suurempi yritys, niin usein ääninäyttelijät palkataan studion ulkopuolelta, mutta pienemmissä indie-studioissa ääninäyttelijät saattavat olla myös ohjelmointi-, ääni- tai grafiikkapuolelta.

Pelin esituotannossa keskitytään tarinan kehittämiseen ja kerrontaan, minkälaisia hah- moja peliin tulee, kuinka tarina kehittyy ja esimerkiksi jätetäänkö tarinasta joitain osia pois, jotta niitä voidaan käyttää tulevissa peleissä kasvattamaan maailmaa. Samalla ale- taan suunnittelemaan aikataulua, milloin tiettyjen asioiden pitää olla valmiit ja minkälaisia rajoitteita käytetyllä pelimoottorilla on, kuten kuinka paljon hahmoja sekä esineitä voi- daan laittaa näkyville samaan aikaan ja varmistaa, että pelimoottori pystyy pyörittämään peliä kaatumatta. Tässä vaiheessa peliin aletaan myös suunnittelemaan ja kehittämään prototyyppiä. Kehityksen kolmannessa vaiheessa eli tuotannossa aletaan kehittää ää- niefektejä, musiikkia, fysiikoita ja pelimekaniikoita.

Testausvaiheessa keskitytään löytämään mahdollisia ohjelmavirheitä sekä ominaisuuk- sia mitä pelaaja voi hyväksikäyttää, ja joita pitää korjata. Testaaminen saatetaan osittain tai kokonaan ulkoistaa pienelle ryhmälle, jotka raportoivat omat löydöksensä kehittäjille.

Heidän tehtävänänsä on yrittää ”rikkoa” peli ja etsiä kaikki mahdolliset ongelmat ja sel- vittää, onko peli liian helppo tai vaikea, ja onko peli edes hauska tai hyvä.

Esijulkaisussa pelistä julkaistaan alfa- tai beetaversiot. Tämä voi tapahtua julkisesti, jotta kuka tahansa pääsee kokeilemaan alustavaa versiota pelistä tai tämä saatetaan tehdä pienellä testiryhmällä. Testiryhmän valitseminen voi tapahtua esimerkiksi arvonnalla, jossa ihmiset osallistuvat sähköpostilla arvontaan, joista valitaan esimerkiksi tuhat hen- kilöä, usein tähän vaatimuksena on, että pelaajat kirjoittavat lyhyen raportin tai arvoste- lun pelistä ja että he lupautuvat myös raportoimaan kaikki mahdolliset ohjelmavirheet, joita he löytävät.

(20)

20

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Peliä aletaan markkinoimaan ja yritetään kasvattaa intoa, jotta ihmiset saadaan kiinnos- tumaan, tätä tehdään useasti monien eri kanavien kautta, kuten Twitter, Facebook, You- Tube jne. Suuremmat pelistudiot ovat myös usein esittämässä peliään pelitapahtumissa, kuten E3, joissa ihmiset pääsevät samalla kokeilemaan pelin demoversiota.

Juuri ennen julkaisua pelistä korjataan suurimmat ohjelmavirheet ja mahdollisimman pal- jon pienempiä ohjelmavirheitä, peliä hiotaan vielä viimeiseen asti, jotta se toimii odote- tusti. Julkaisun jälkeen jatketaan ohjelmavirheiden korjaamista ja peliin julkaistaan ilmai- sia päivityksiä, joissa on korjauksia pelin toimintaan ja joitakin pelimekaniikoita saatetaan muokata, jotta peli olisi tasapainoisempi. Julkaisun jälkeen aletaan myös kehittämään uutta sisältöä peliin, tämä voi olla esimerkiksi ilmainen kosmeettinen paketti tai vaikka maksullinen DLC-paketti. Joissain tapauksissa kehittäjä saattaa tehdä päätöksen, että kaikki tulevat lisäykset peliin ovat ilmaisia, tämä pätee useimmiten peleihin, joissa on mikrokustannuksia, joista kehittäjä/studio luottaa saavan rahaa pelin julkaisun jälkeen.

(Pickell, 2019)

Usein pelit, joissa on paljon mikrokustannuksia, julkaistaan ilmaiseksi, kuten monet mo- biilipelit ja MOBA-pelit, kuten League of Legends (Riot Games, 2021). Pelinkehityksessä tulee myös ottaa huomioon monta eri osa-aluetta, kuten pelin grafiikat, äänet, pelimeka- niikat ja se, kuinka palkitsevalta peli tuntuu pelaajasta. Tähän voidaan vaikuttaa esimer- kiksi antamalla pelaajalle palkintoja tekemällä sivutehtäviä ja niin kutsuttuja saavutuksia.

Palkintojen ei tarvitse vaikuttaa pelin vaikeuteen tai toiminnallisuuteen ollenkaan, vaan ne voivat olla pelkästään kosmeettisia. Peliin voidaan myös piilottaa salahuoneita, joita pelaaja voi yrittää etsiä tarinan ohella. Salahuoneisiin voidaan piilottaa tavaroita, tarinaan lisää täytettä, jota pelaaja ei muutoin löytäisi tai jonkinlainen easter egg, joka viittaa esi- merkiksi toiseen peliin tai johonkin popkulttuuri-ilmiöön. Easter eggin tarkoitus on antaa viihdettä pelaajille, jotka etsivät salaisuuksia pelistä.

Kehityksen aikana peli saattaa kokea monia muutoksia alkuperäiseen suunnitelmaan verrattuna, usein nämä ovat pienempiä muutoksia pelimekaniikkoihin tai pelin spritejä saatetaan muuttaa hiukan. Joskus saatetaan tehdä suuriakin muutoksia, joista esimerk- keinä tästä toimii Borderlands (2K, 2021), jonka alkuperäinen taidetyyli muutettiin koko- naan kesken kehityksen ja Diablo (Blizzard, 2021), jonka pelimekaniikka muutettiin vuoro pohjaisesta RPG-pelistä reaaliaikaiseen action/RPG-peliin. (PC Gamer, 2018)

Jokaisessa pelissä on omat rajat, joita pelikehittäjät joutuvat seuraamaan. Nämä rajat saattavat olla toiminnallisia, kuten pelaajan liikkumista ja voimia rajoitetaan tietyillä

(21)

21

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

alueilla tai tietyissä hetkissä, tai esimerkiksi tarinaan perustuvia, kuten hahmolla on tiet- tyjä kykyjä, mutta ei voi käyttää niitä ennen kuin on kohdannut omat ongelmansa tai hyväksynyt tapahtuneet asiat. Nämä rajat voivat myös vaikuttaa tarinan kerrontaan esi- merkiksi olla antamatta pelaajalle ja muille hahmoille minkäänlaisia vuorosanoja ja antaa tarinan kerronnan tapahtua vain kertojan äänellä, kuten esimerkiksi Stanley Parable (Stanley Parable, 2021) pelissä, jossa kertoja opastaa pelaajaa, mitä tulee tehdä.

5.1 Oman pelin kehitys

Pelinkehityksessä on ollut omat haasteensa, kuten asioiden tekeminen järjestyksessä, usein on joutunut keskittymään vain yhteen asiaan kerralla ja siirtymään uuteen puutteet huomattua, joka on tehnyt kehityksen kulusta hitaampaa. Lisäksi uusien ideoiden synty- minen ja niiden rajoittaminen oman ajan ja taidon puutteen vuoksi on ollut haasteellista, sen takia suuri osa uusista ideoista on kirjattu muistiin ja mahdollisesti sovelletaan peliin myöhemmin kehityksessä. Kehityksen aikana uusia taitoja, kuten ääniefektien tekemistä ja pikseligrafiikoiden käyttöä on jouduttu opettelemaan ja vanhoja taitoja kuten ohjel- mointia ja tarinan kerrontaa on jouduttu hiomaan.

Oman pelin kehittäminen alkoi suunnittelemalla täysin erilainen peli mitä nyt on tekeillä.

Alkuperäisen suunnitelman mukaan pelistä piti tulla dungeon crawler -tyylinen peli, jossa pelaajan oli tarkoitus selviytyä mahdollisimman pitkälle labyrinttimaisessa kentässä sa- malla, kun hän kerää tavaroita, joista pelaaja saisi lisää voimia ja apua vaikeampia vi- hollisia vastaan. Nyt peli on muuttunut tasohyppelytyyliseksi peliksi, johon on suunniteltu tarina mukaan, ainoa asia, joka on pysynyt samana, on pelaajan löytämä amuletti, joka antaa heille voimat sekä amuletin tarina. Muutoksen syy oli, että alkuperäinen tyyli tuntui liian rajoittavalta sekä tarinaa, että pelimekaniikoita ajatellen. Pelin tärkeimmät mekanii- kat ovat pelaajahahmon, sekä vihollisten liikkuminen ja ampuminen. Näiden lisäksi pe- lissä on salahuoneita, joiden sisäänkäynnit näyttävät melkein samalta kuin muutkin sei- nät, lukuun ottamatta pieniä eroja seinän kuvioinnissa. Peliin mahdollisesti lisätään myös mekaniikkoja, jotka esimerkiksi antavat pelaajalle mahdollisuuden tarttua seinään kiinni ja liukua hitaasti sitä pitkin alas, tai antaa pelaajalle kyvyn liitää lyhyitä matkoja.

Peligrafiikan on alusta asti ollut tarkoitus olla pikselityyli, tähän valintaan vaikuttaa muun muassa se, että peliin halutaan luoda nostalginen tunnelma käyttämällä samaa tyyliä mitä näki paljon lapsena peleissä. Tällä hetkellä grafiikat on jäänyt enemmän taka-alalle,

(22)

22

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

jotta voidaan keskittyä enemmän toiminnallisuuteen, mutta jatkossa myös pelin grafiikka- ja äänipuoleen keskitytään enemmän.

Pelin musiikit ovat ilmaisia ääniraitoja, joita kuka tahansa saa käyttää (De Arteaga, 2021), näitä käytetään sen takia, että peliin saadaan luotua sopiva tunnelma, mutta tu- levaisuudessa on tarkoitus korvata ilmaiset ääniraidat itse tekemillä äänillä ja musiikilla.

Peliin on tarkoitus lisätä muutamia animaatioita, kuten ensimmäinen skene, jossa pe- laaja löytää amuletin ja viimeinen skene, jossa pelaajan hahmo vaihtuu. Pelinkehityk- seen käytetään Unity-pelimoottoria ja C#-ohjelmointikieltä, joita on aikaisemmin käytetty muissa projekteissa. Projektin aikana on täytynyt opetella paljon uusia menetelmiä ja Unityn käyttämiä metodeja, jotta kaikki on saatu toimimaan kunnolla.

5.2 Pelin testaus

Pelistä on rakennettu alfaversio ja se jaettiin pienelle testiryhmälle, joka koostui ystävä- piiristä. Pelin alfaversio koostui ensimmäisestä kentästä, jossa pelaaja pääsee kokeile- maan pelin toimintoja, kuten liikkumista, ampumista, tasohyppelyä sekä salahuoneiden etsimistä. Vaikka testiversio oli vasta alfavaiheessa, niin testiryhmältä kerättiin palautetta pelinkehitystä varten antamalla heille Microsoft Forms -lomake. Testaajilta pyydettiin pa- lautetta mahdollisista ohjelmavirheistä sekä muista pelikokemukseen vaikuttavista teki- jöistä esimerkiksi, kuinka sulavasti hahmo liikkuu, hahmon ampumanopeudesta sekä yleisesti pelaajan kokemuksesta ja parannusehdotuksista. Palautteesta kävi ilmi muuta- mia ohjelmavirheitä, joita kehityksen aikana ei ollut huomattu, kuten se, että pelaaja- hahmo alkoi täristä, jos liikkui jatkuvasti seinää vasten. Hahmo saattoi mennä hieman seinän sisälle, kunnes pelaaja lopetti liikkumisen ja seinä työnsi hahmon ulos. Testaajat huomauttivat myös hahmon liikkuvuudesta sekä ampumanopeudesta. Alfaversiossa pe- laaja pystyi ampumaan erittäin nopeasti, jos ampumanappia painettiin jatkuvasti nope- aan tahtiin. Vihollisten ammuksista huomattiin myös, että ampumanopeus saattoi olla liian nopea, etenkin ensimmäiselle tasolle, jonka tarkoitus on opettaa pelaajalle kontrollit.

Vihollisten ammusten nopeus myös hidastui huomattavasti, jos pelaaja seisoi vihollisen päällä. Palautteessa huomautettiin myös muista seikoista, jotka eivät alfaversiossa olleet niin tärkeässä osassa, kuten efektit ja musiikki, joiden oli tarkoitus vain olla antamassa pelille hieman ambienssia.

(23)

23

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Luonnollisesti nämäkin huomiot merkittiin ylös, sillä niissäkin oli asioita, joita niiden im- plementointihetkellä ei ollut huomattu. Testaajilta pyydettiin myös ideoita ja parannuseh- dotuksia jatkoa varten. Suurin osa ehdotuksista oli samankaltaisia ja liittyivät suurim- maksi osaksi pelin visuaalisiin aspekteihin ja efekteihin. Testaajat halusivat nähdä esi- merkiksi pelaajan elämäpisteiden lisäksi myös vihollisten elämäpisteet sekä salahuonei- den aktivointiin jonkinlaisen tuhoutumisanimaation. Palautteiden perusteella olemassa olevat grafiikat ja ääniefektit olivat mieluisat, testaajat pitivät salahuoneista ja teemasta.

Jatkossa peliä lähdetään parantelemaan ja korjaamaan palautteiden perusteella ja kun muutokset ovat valmiita, testiryhmälle annetaan uudempi versio kokeiltavaksi.

5.3 Jatkosuunnitelma

Opinnäytetyötä varten tarkoituksena oli tehdä ensimmäinen niin sanotusti tutoriaali- kenttä, jossa pelaaja pääsee kokeilemaan pelin tärkeimpiä pelimekaniikoita ja element- tejä. Jatkossa peliä kehitetään harrastus- ja harjoitusmielessä aina silloin kun on mah- dollista ja on aikaa. Peliä voidaan mahdollisesti myös kokeilla myydä, kun se on hiottu kunnolliseksi. Peliä saatetaan myös jatkaa täyspäiväisesti, jos siihen saadaan jonkun pelifirman tuki tai, jos peli laitetaan Kickstarteriin ja se saa sitä kautta tarpeeksi rahoi- tusta. Peliin on tarkoitus lisätä enemmän kenttiä ja vihollisia, jotka kaikki toimivat hiukan eri tavalla, joillakin saattaa olla enemmän elämäpisteitä tai ne tekevät enemmän vahin- koa, jotkut saattavat olla pienempiä ja nopeampia, jotta niihin on vaikeampi osua ja joil- lakin on erilainen liikkumis- ja hyökkäystyyli. Tarinaa myös kirjoitetaan lisää, jotta pelaa- jat saavat selville amuletin alkuperän ja kuinka se toimii. Peliin lisätään myös lisää salai- suuksia, jotka antavat ylimääräistä tarinaa niille, jotka ovat kiinnostuneet etsimään sitä.

Ideana on myös lisätä peliin joitain harvinaisia tapahtumia, esimerkiksi on noin yhdestä kolmeen prosentin mahdollisuus, että ihminen ei löydä amulettia, vaan jokin eläin, kuten sammakko, jolloin pelaajahahmona toimii kyseinen eläin. Toisena esimerkkinä on yksi tuhannesta mahdollisuus, että pelaajan ammus vaihtaa väriä tai on kaksi kertaa tavallista suurempi. Tällä tavoin voidaan myös lisätä harvinaisia vihollisia, jotka ovat normaalia vahvempia ja niiden voittamisesta voi saada jonkin ylimääräisen palkinnon.

(24)

24

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

6 POHDINTA

Opinnäytetyön tavoitteena oli tutustua pelikehitykseen ja sen eri vaiheisiin tekemällä yksi toimiva tutoriaalitaso 2D-tasohyppelypeliä varten, jota on tarkoitus jatkaa eteenpäin va- paa-ajalla ja mahdollisesti laittaa peli myyntiin, kun se on saavuttanut tietyn tason. Pelin tekemiseen valittiin Unity-pelimoottori sen 2D-tuen takia sekä siksi, että kyseistä peli- moottoria on käytetty myös aikaisemmissa projekteissa.

Pelin tekemiseen käytettiin vain C#-ohjelmointikieltä. Peliin tehtiin kaikki peligrafiikat ja peliäänet itse, lukuun ottamatta pelin musiikkia ja taustakuvaa. Pelinkehityksen aikana huomattiin, kuinka vaativaa pelin tekeminen alusta asti on erityisesti yksin ja kuinka hel- posti virheitä ja puutteita jää huomioimatta. Kun pelin alfaversio annettiin testattavaksi, palautteista huomasi, kuinka joitain pieniä asioita oli jäänyt huomaamatta, vaikka peliä olikin itse testattu moneen otteeseen.

Pelin jatkoa ajatellen tekeminen jatkuu sen mukaan, miten aika riittää, ellei pelille saada jatkuvaa tukea, joka mahdollistaisi sen täyspäiväisen kehityksen. Peliä varten pitää miet- tiä koodin lisäksi sitä, jatketaanko grafiikka- ja äänipuolta itsenäisesti vai palkataanko siihen ulkopuolisia henkilöitä, joilla on näistä kokemusta.

(25)

25

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

LÄHTEET

2K 2021. Borderlands. Viitattu 25.10.2021

https://2k.com/en-US/game/borderlands-1/

Blizzard 2021. Diablo Viitattu. 3.11.2021

https://www.blizzard.com/en-us/

Çakir, Gökhan 2021. What is a MOBA. Viitattu 3.12.2021 https://dotesports.com/news/what-is-a-moba

Cuphead 2021. Cuphead. Viitattu 25.10.2021

http://www.cupheadgame.com/

Cyber definitions 2021. Loot. Viitattu 3.12.2021

https://www.cyberdefinitions.com/definitions/LOOT.html

De Arteaga, Patrick 2021. Royalty Free Music. Viitattu 23.8.2021 https://patrickdearteaga.com/royalty-free-music/

Gonzalez, Adrian 2021. What is speedrunning? Speedrunning Explained. Viitattu 3.12.2021 https://www.speedgamingnews.com/what-is-speedrunning/

Hollow Knight 2021. Hollow Knight. Viitattu 25.10.2021

https://www.hollowknight.com/

Konami 2021. Castlevania. Viitattu 26.10.2021

https://www.konami.com/games/castlevania/eu/en/

McHugh, Alex 2018. What is a Roguelike. Viitattu 26.10.2021 https://www.greenmangaming.com/blog/what-is-a-roguelike/

Moby Games 2021. Dungeon crawler. Viitattu 3.12.2021

https://www.mobygames.com/game-group/genre-dungeon-crawler

Nintendo 2021. Metroid. Viitattu 26.10.2021

https://metroid.nintendo.com/

Ori and the Blind Forest 2021. Ori and the Blind Forest 2021. Viitattu 25.10.2021 https://www.orithegame.com/blind-forest/

Pav Creations 2020. Level systems and character growth in RPG games. Viitattu 26.10.2021 https://pavcreations.com/level-systems-and-character-growth-in-rpg-games/

PC Gamer 2018. Games that completely changed mid-development. Viitattu 24.8.2021 https://www.pcgamer.com/games-that-completely-changed-mid-development/

Pickell, Devin 2019. The 7 Stages of Game Development. Viitattu 24.8.2021 https://www.g2.com/articles/stages-of-game-development

Reddit 2021. Subreddit. Viitattu 25.10.2021

https://www.reddit.com/wiki/faq#wiki_what_are_subreddits.3F

Riot Games 2021. League of Legends. Viitattu 25.10.2021 https://www.leagueoflegends.com/en-gb/

Stanley Parable 2021. Stanley Parable. Viitattu 28.10.2021 https://www.stanleyparable.com/

(26)

26

TURUN AMK:N OPINNÄYTETYÖ | Joni Paakki

Techopedia 2018. Easter Egg. Viitattu 3.12.2021

https://www.techopedia.com/definition/3786/easter-egg

Techopedia 2011. First Person Shooter (FPS). Viitattu 3.12.2021 https://www.techopedia.com/definition/241/first-person-shooter-fps

Techopedia 2015. Power-up. Viitattu 3.12.2021

https://www.techopedia.com/definition/2266/power-up-gaming

Unity Asset Store 2021. Unity Asset Store. Viitattu 25.8.2021 https://assetstore.unity.com/2d

Unity Documentation 2021. Sprite. Viitattu 25.10.2021

https://docs.unity3d.com/ScriptReference/Sprite.html

Unity Manual 2021. 2D or 3D. Viitattu 25.10.2021

https://docs.unity3d.com/Manual/2Dor3D.html

Unity Technologies 2021. Tilemap Renderer. Viitattu 26.8.2021 https://docs.unity3d.com/Manual/class-TilemapRenderer.html

Unity Technologies 2021. Tilemap Collider 2D. Viitattu 26.8.2021 https://docs.unity3d.com/Manual/class-TilemapCollider2D.html

Unreal Engine 4 Documentation. Scripting the Editor using Python. Viitattu 25.8.2021 https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/ScriptingAndAutomation/Python/

Unreal Engine Marketplace 2021. Unreal Engie Marketplace. Viitattu 25.8.2021 https://www.unrealengine.com/marketplace/en-US/content-cat/assets/2d?count=20&sortBy=ef- fectiveDate&sortDir=DESC&start=0

Viittaukset

LIITTYVÄT TIEDOSTOT

Voidaan jopa väittää, että jo digitaalisen pelin pelaaminen kehittää joitain pelaajan TVT-taitoja kuten ohjainlait- teiden käyttöä sekä laitehallintaa, mikäli pelaaja

Pelaajan usko siihen, että hän pystyy kontrolloimaan pelin lopputulosta, voi johtaa lopulta ongelmapelaamiseen (Langer, 1975), mikäli pelaaja pelaa enemmän kuin mihin hänellä

Esimerkiksi näkövammaisen pelaajan tarpeet ovat erilaisia kuin kuulovammaisella pelaajalla (Yuan ym. Neljänneksi tarkastelen, millainen yhteys pelin genrellä on sen

Esimerkiksi nopeusmittari päivittää tuntinopeutensa, käyttöliittymä muuttaa itsensä hyperavaruus tason teemaan sopivaksi, kala generaattori muuttaa käytössä olevia malleja

(Nienstedt ym. 2006, 477; Erityisherkän elämää 2019b.) Ymmärtääksemme, mitä aistien adaptoituminen käytännös- sä on, voimme ajatella esimerkkinä tilannetta, jossa menemme

Muokkaaminen katsottiin parhaimmaksi toteuttaa niin, että äk- kinäisten muutosten tapahtuessa peliobjektin asennossa, liikealustalle lähe- tettävää arvon

Kuten teoriassa mainittiin, mikäli pelaaja on todettu erittäin epätodennäköisesti maksajaksi muuttuvaksi eli kun pelaajan jäljellä oleva arvo pelissä on vähemmän kuin

Klassisessa merkityksessä freemium-pelin ajatuksena on pelaajan kyky ladata peli ilmaiseksi, mutta peli olisi riisuttu eikä sisältäisi kaikkia ominai- suuksia (esimerkiksi demo).