Učenje programiranja programiranjem igara u Game Makeru

saida

Zbog čega Game Maker?

Game Maker je program koji je nastao 1999. godine. Napisao ga je profesor Informatike Mark Overmars sa Sveučilišta Utrecht u Nizozemskoj. Osmislio ga je na način da se može koristiti u obrazovanju kao programski alat koji razvija logičke i dizajnerske vještine kroz programiranje i izradu 2D i 3D igara. Osnovna karakteristika programa je da se za postupak izrade aplikacije ne mora koristiti tekstualni način pisanja kôda, već se može programirati tehnikom pritisni – povuci, odnosno slaganjem grafičkih ikona. Grafički način pisanja programa isključuje sintaktičke i leksičke pogreške koje se javljaju pri tekstualnom unosu što učenicima olakšava smišljanje rješenja i izradu programa. Osim toga, problemske aktivnosti s kojima se susreću u postupku stvaranja algoritma, vezane su uz smišljanje scenarija igre pa su im takvi problemi zanimljiviji i rado sudjeluju u njihovom rješavanju.

Kako radi program?

Igra napravljena u Game Makeru odvija se u jednoj ili više soba (rooms). U sobi su smješteni različiti objekti kao što su lopta, zid, duh … Neki objekti u sobi ne rade ništa, primjerice zid, dok neki objekti imaju mogućnost gibanja i upravljanja od strane igrača (mišem ili tipkovnicom) i u interakciji su s drugim objektima (pr. lopta se odbija od zida).

Primjer izrade jednostavne igre: Lopta – ZiD

Igra koju ćemo napraviti pomoću ovog primjera sastoji se od jedne sobe u kojoj se nalaze dva objekta: zid i lopta. Objekti imaju svojstva (Properties) da je zid čvrst i nepomičan, a lopta se giba te se može odbiti od zida.
Kada pokrenemo program Game Maker, dobit ćemo programsko okruženje kao na slici 1.

clip_image002

Slika1 : Sučelje programa Game Maker

Tijek programiranja se sastoji od nekoliko koraka. Prvi korak je osmisliti i definirati izglede likova, predmeta i okruženja koje će se nalaziti u igri. To su objekti ili Sprites.
Sprites su grafičke ikone ili slike koje predstavljaju objekte. Možemo ih sami nacrtati ili ih preuzeti iz neke baze sličica.

clip_image004

clip_image006

Slika 2: Izgledi objekata zida i lopte u programu (Sprites)

U drugom koraku izrade igre opisujemo objekte i to na način da im pridružimo određena svojstva (Properties).

 

Slika 3: Definiranje objekata zida i lopte

Ovaj dio stvaranja programa je najvažniji i u njemu se najviše koriste različite naredbe za programiranje. U Game Makeru postoje sve programske strukture koje se uobičajeno koriste u programiranju: uvjetna naredba, while, repeat, do i for petlje, funkcije i nizovi.

clip_image007

 

 

Objekti u programu su entiteti koji mogu nešto raditi. U programu ih vidimo kao grafičke ikone koje izvode različite akcije (Actions). Akcije se pridružuju događajima (Events) pa tako, primjerice, događaj Create u sebi sadrži akciju gibanja lopte što znači da će se pri pokretanju igre lopta odmah početi gibati u različitim smjerovima.

 

Slika 4: Svaki događaj (Events) ima svoje akcije (Actions)

clip_image008

 

Najvažniji događaji koji se koriste su Create – događaj za definiranje akcija nad objektima prilikom pokretanja igre, Destroy – definiranje akcija za uništavanje objekata, Collision – postavljanje suodnosa među objektima, Keyboard – definiranje akcija pojedinih tipki nad objektima, Mouse – definiranje akcija s mišem i druge.

Slika 5: Izbornik za događaje (Events)

Akcije (Actions) koje se mogu odvijati nad događajima podijeljene su u nekoliko grupa. Postoje akcije gibanja i/ili skakanja (Move), akcije za rad s objektima (Objects), akcije za mjerenje vremena (Timing), akcije za rad s uvjetima i upitima (Quesions), akcije za različite načine bodovanja (Score), akcije crtanja (Drawing) i druge.

clip_image010 clip_image012 clip_image014 clip_image016
Slika 6: Primjeri naredbi akcija (Actions)

Posljednji korak u izradi igre je izrada jedne ili više soba u kojima će se izvoditi igra. U ovom smo primjeru napravili samo jednu sobu, ali je uobičajeno da igre imaju više razina i da se za svaku razinu koristi druga soba. Pri izradi sobe možemo se poslužiti različitim grafičkim dodacima (slikama, bojom pozadine, uzorcima podloge i sl.).
clip_image018
Slika 7: Soba za igru Lopta – ZiD

clip_image020

Nakon ovih nekoliko koraka već možemo isprobati program tako da odaberemo naredbu Run. Igra će se pokrenuti otvaranjem sobe u kojoj će se nalaziti objekti zid i lopta. Lopta će se unutar sobe gibati u različitim smjerovima i odbijati od zida.

 

Slika 8: Prikaz sučelja igre Lopta – ZiD nakon pokretanja

Ovaj program se može nadograđivati novim objektima. Objekti se mogu postavljati u različite suodnose te se tako može izgraditi složeniji scenarij igre. U igre se također mogu dodati zvukovi ili glazba te popratne informacije o načinu korištenja igre.

Što su učenici naučili radom u ovom projektu?

Projekt učenja programiranja programiranjem igara proveo se u nekoliko dijelova. U prvom dijelu učenici su pomoću nekoliko vježbi naučili koristiti program Game Maker te izraditi jednostavnu igru. Kako su imali predznanje iz područja programiranja, nije im bio problem razumjeti osnovne naredbe Game Makera.

Pomoću vježbi su naučili:

  • naredbom rooms napraviti okruženje igre,
  • naredbom backgrounds napraviti grafičku pozadinu igre,
  • naredbama objects i instances postaviti objekte i instance,
  • naredbom sprites definirati izglede objekata,
  • naredbom sounds dodati zvuk,
  • naredbom scripts dati opis igre (upute za korištenje),
  • upravljati tipkama (lijevo, desno, gore, dolje) i mišem te postavljati objekte u različite suodnose,
  • osmisliti, definirati i napisati kod programa za način bodovanja igre, prelazak s razine na razinu i kraj igre.

U izradi igre koristili su:

  1. uvjetne naredbe (za ispitivanje uvjeta i postavljanje pitanja ),
  2. brojač (za bodovanje i mjerenje vremena trajanja igre),
  3. ponavljanje naredbi (petlje).

Za izradu projektnog zadataka učenici su na raspolaganju imali 6 školskih sati. Budući da se verzija Lite Edition programa Game Maker može slobodno preuzeti s interneta, učenici su mogli i dodatno raditi kod kuće. Radovi učenika su ocijenjeni, a nekoliko radova je objavljeno na portalu Željezničke tehničke škole na adresi: http://www.ss-zeljeznickatehnicka-zg.skole.hr/skola/djelatnici/saida_deljac?ms_nav=aaj

Primjeri radova učenika

clip_image022                            clip_image024
clip_image026                          clip_image028

Zaključak

Provedba programa korištenja Game Makera u svrhu učenja programiranja pokazala se vrlo učinkovitom. Učenici, koje programiranje kao proces nije nikada zanimalo, su pokazali zavidan interes za rad u ovom programu.

Korisnim se pokazala i metodologija učenja izradom projektnog zadatka jer su učenici mogli međusobno komunicirati i zajednički rješavati pojedine programske probleme te tako učiti i proširivati znanja. Radom u ovom programu učenici su, osim znanja iz područja logike i programiranja, koristili i proširivali svoja znanja iz područja dizajna koristeći se pritom dodatnim programima za uređivanje i obradu slika.

Literatura