'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.