'Kun lapset kuitenkin räpläävät sitä ruutua koko ajan, niin tuotetaan siihen silmien eteen jotain mistä on elämässä oikeasti jotain hyötyä.'
- Perttu Terho

Opetusvideoita pelinkehitykseen GDevelopilla
Scratch on kiva ohjelnoinnin aloitustyökalu, ja vaikkapa tämän materiaalin läpikäymisellä pääsee hyvin sisälle ohjelmointiin. Kuitenkin jos haluat ohjelmontia opittuasi kokeilla tehdä kunnianhimoisempia peliprojekteja, vaihda ehdottomasti kunnon pelimoottoriin. Monet niistä ovat yhtä helppoja kuin Scratch, ja lähes minkä tahansa projektin tekemisessä pesevät Scratchin mennen tullen. Kunnon pelimoottorien tuotokset on mahdollista julkaista vaikka,Google Playssa tai selainpelinä, minkä olettaisi nostavan motivaatiota käyttää kunnon työkalua.

Pelimoottoreita on useita hyviä, ja 2D-pelien tekoon mm. GDevelop, Godot ja GameMaker ovat mainioita. 3D-projekteihin kannattaa miettiä Unitya tai Unreal Enginea. Oma suositukseni on aloittaa astetta yksinkertaisemmista 2D-moottoreista. Itse käytän GDevelopia, eivätkä ominaisuudet ole ainakaan vielä loppuneet kesken. Ikuiseen kysymykseen siitä, mikä on paras pelimoottori, sopii mielestäni vastaus: se mitä on tottunut käyttämään.

Mistä löytyy GDevelop?



GDevelopista löytyy sekä koneelle asennettava työpöytäversio että selanversio.

Työpöytäversion voi ladata osoitteesta gdevelop.io.

Selainversioon pääsee täältä: editor.gdevelop.io. Selainversiota käytettäessä kannattaa katsoa melko aikaisessa vaiheessa alempaa löytyvä video 'GDevelop Chromebookilla', jossa käsitellään ensin yleisesti selainversiossa huomioon otettavia asioita, ja myös erityisesti Chromebook-spesifisiä juttuja.


Objektit



Tässä videossa käydään läpi GDevelopin käyttöliittymä, lisätään ensimmäiset objektit ja tehdään tasohyppelypeli kirjoittamatta riviäkään koodia.




Piskel piirto-ohjelma, Z-order, Jumpthrough Platform ja tikapuut



Videolla tutustutaan GDevelopin yhteydessä olevaan Piskel piirto-ohjelmaan, tutustutaan erilaisiin platform-tyyppeihin ja Z-orderiin, joka määrää, missä järjestyksessä objektit näkyvät katsojan suuntaan.



Eventit



GDevelopilla koodaus perustuu eventteihin, joissa määritellään ehto, ja jos ehto toteutuu, tapahtumat. Videossa parannetaan tasohyppelypelin ohjausta.




Kamera



Videolla kuvataan kameran liikuttelun perusteet, jolla kamera saadaan seuraamaan pelaajahahmoa,ja havaitaan että pelimaailmaa voi laajentaa joka suuntaan niin paljon kuin mielikuvitusta riittää.




Skenen aloitus ja uudelleenaloitus



GDevelopissa rakennetaan 'skenejä', jotka ovat itsenäisiä kokonaisuuksia omine grafiikoineen ja koodeineen. Videolla käydään läpi, miten skene käynnistetään ja esim. hahmon tipahtaessa pelialueelta ulos, miten päästään uudelleenkäynnistyksellä näppärästi tason alkuun uudelleen.




Koodin järjestely ja siivoaminen



Heti alusta asti on syytä opetella, miten koodista saa siistiä ja helposti luettavaa. Tässä videossa vinkit siihen.




Hahmojen animointi, subeventit ja Game Feel



Videolla nähdään, miten GDevelopissa rakennetaan animoituja pelihahmoja. Samalla tutustutaan, miten eventtejä voi asetella järkevästi alieventeiksi ja näin selkeyttää koodia. Lopussa vielä puhutaan tärkeästä asiasta nimeltä Game Feel, eli pelituntuma.




Layerit ja taustan lisääminen



GDevelopissa objektit voi laittaa eri tasoille, jolloin ne esim. liikkuvat eri nopeuksilla. Tässä opitaan, miten tasoja voidaan hyödyntää järkevästi.




Muuttujat ja teksti-objekti



Muuttujat kuuluvat olennaisena osana ohjelmointiin. Videossa nähdään, miten muuttujia käsitellään GDevelopissa ja miten niiden arvoja (esim. elämät tai kerätyt timantit) saa näkyviin peliin.





Gridin käyttö ja object groupit



Kun pelimaailmaa rakennetaan tietynkokoisista palikoista, niiden asetteluun tarvitaan grid. Videolla nähdään, miten tämä toimii. Mikäli pelissä on useita objekteja, joihin tarvitsee kohdistaa samoja asioita, kannattaa näistä luoda object group.




Object variablet



Myös objekteilla voi olla aivan omia muuttujia. Videossa esimerkkinä aarrearkkuja, jotka jokainen sisältää eri määrän kultarahoja.




Vartija-monsterin lisäys peliin



Videolla lisätään ensimmäinen monsteri peliin ja saadaan se liikkumaan halutulla välillä edestakaisin. Näillä keinoilla saadaan peliin dynamiikkaa.




GDevelopin käyttö Chromebookilla



Video esittelee, miten GDevelopia käytetään Chromebookilla.




Räjähdysanimaatio ennen uudelleen aloitusta



Mikäli hahmo esimerkiksi törmää ansaan ja taso pitää aloittaa alusta, on aika tylsän näköistä, jos pelihahmo vain ilmestyy aloituspaikkaan. Tässä esitellään, kuinka voidaan luoda räjähdysanimaatio pelihahmon kohdalle, ja tutustutaan käskyyn Wait X seconds.




Dynaaminen uudelleen ilmestymispaikka



Mikäli pelikenttä on iso, on pelaajan kannalta kivaa, ettei joka kerta tarvitse aloittaa kenttää alusta. Tällaisen 'dynaamisen re-spawnauspaikan' rakentaminen GDevelopilla on hyvinkin suoraviivaista.




Tween ja Once While True



Tween behaviour on yksi tärkeimmistä asioista, millä pelistä saa selkeästi tyylikkäämmän ja ammattimaisemman. Tweenin käyttö kannattaa opetella! Videolla tulee tutuksi myös ehto 'Once While True', eli ehdon täyttyessä toiminnot suoritetaan vain kerran.




Kameran pehmeä liike ja taustan parallax skrolli



Tässä videossa opitaan, miten kameran liikkeen saa lerp-funktiolla selvästi kauniimmaksi, ja kuinka sama funktio mahdollistaa myös taustan ns. parallax skrollauksen, eli taustan liikkumisen eri tahtia (yleensä hitaammin) kuin edessä oleva pelialue.


Tältä sivustolta löydät tietoa Perttu Terhon (alias Paleleva Pingviini) edesottamuksista, peliprojekteista ja muista.

Sivustolla esitetyt mielipiteet ovat kirjoittajan omia eivätkä edusta minkään erityisen tahon kantoja.

Kysyttävää, kommentoitavaa: paleleva.pingviini@gmail.com