Revolucija kućnih računala sredinom osamdesetih na mala je vrata u naše domove sa sobom donijela i programiranje. Naime, uzmimo u obzir da se u to vrijeme, pogotovo u našim krajevima, zbog restriktivne politike uvoza računala teško dolazilo do hardvera. Nabava novih programa za ta ista računala, uglavnom igara, u prvo je vrijeme bila avantura sama za sebe. Kasnije se razvila cijela piratska scena, ali čak i tada je nabava igara bilo kudikamo teža nego danas. Tad su se mlađi korisnici, znatiželjni kakvi već jesu – svladavši osnove programskog jezika, BASIC koji je bio sastavni dio svakog od tih računala – počinjali zanimati kako bi bilo da u nedostatku gotovih igara naprave svoju. I tu je počelo. Oni koji bi ozbiljnije zagrizli naučili su i assembler te kasnije prešli na naprednije platforme. Pogledate li danas velike kompanije koje rade na razvoju igara, vidjet ćete da je većina njihovih zaposlenika počela upravo tako. Programiranje i izrada igara iz čistog zadovoljstva s vremenom su od hobija mnogima od njih postali stalni posao.
Izrada igara za početnike

Nove igre slažemo u Room Editoru
Ipak, pomoći je bilo čak i za one kojima programiranje čak ni najjednostavnijih programa nije išlo. Rješenje se pojavilo u obliku revolucionarnog programa za C64 po imenu SEUCK (Shoot’Em-Up Construction Kit), koji je svima omogućio (doduše, uz povelika ograničenja) da u par poteza naprave jednostavnu arkadnu igru. Iako strogo ograničen isključivo na pucačine, gotove igre koje su počesto bile slične jedna drugoj kao jaje jajetu, SEUCK je otvorio sasvim novo poglavlje u svijetu multimedijalnih aplikacija. GameMaker 7 najnoviji je izdanak cijele jedne grane multimedijalnih aplikacija posvećenih isključivo izradi igara i po mnogočemu je ispred ostalih. Prvo, za razliku od ostalih nije isključivo posvećen izradi samo jedne vrste igara kako je slučaj s programom RPGMaker XP (tkool.jp/products/rpgxp/eng) koji služi za izradu RPG igara po uzoru na stare hitove s konzola Nintendo, poput serijala Final Fantasy. Program sam po sebi nije loš, štoviše, ali pati od istog sindroma kao i već prije spomenuti SEUCK. Budući da je ograničen isključivo na jednu vrstu igara, krajnji je rezultat dvojbeno raznolik i originalan. Sličan je primjer FRP Creator (www.fpscreator.com/downloads.html) program koji – iako je hvale vrijedan alat i nadasve zabavan za upotrebu – ne omogućuje previše kreativnih izleta izvan granica postavljenih samim programom. Isto tako, bez obzira na to što su oba gore navedena programa namijenjena početnicima, krivulja učenja prilično je strma i događa se da početnici često odustaju prilično rano. Mark Overmars, autor GameMakera, tijekom dizajna i razvoja programa ugradio je u njega svoje znanje i iskustvo znanstvenika i predavača na Sveučilištu u Utrechtu. Kao krajnji rezultat imamo moćan, općenamjenski program za izradu svih vrsta 2D igara (uz podršku za jednostavnije 3D funkcije i grafičke efekte kao što su snijeg i kiša), a sve to uz finu krivulju učenja koja početnicima omogućuje kreiranje prilično jednostavnih igara u svega par poteza mišem pa sve do kompleksnih kreacija koje uključuju upotrebu ugrađenog skriptnog jezika.
Crtanje igara

Programiranje u programskom jeziku GML olakšava priložena dokumentacija
Postupak izrade igara u GameMakeru doista više sliči na crtanje nego na programiranje. Prije samog postupka izrade potrebno je pripremiti grafiku za spriteove, pozadinu, objekte u igri, kao i zvukove, te ih učitati u GameMaker, koji će ih spremiti u odvojene setove. Sljedeći korak je kreiranje objekata od grafike za spriteove. Objekt je kombinacija grafičkog prikaza i predefiniranih akcija koje pridružujemo objektu te time definiramo mogućnosti i način prikaza samog objekta. Sve to radimo preslagujući ikone uz minimalno unošenje koda. Svaki element u igri je objekt čiju ulogu određuju pridružena svojstva. Na sličan način moramo posložiti i "pozornicu" na kojoj će se naši objekti kretati. To činimo dodajući u Room editor pozadinu i na nju slažemo objekte koje smo prethodno definirali. Svakom objektu možemo pridružiti zvuk(ove) te, ukoliko se radi o objektu kojim upravlja računalo, i pripadajuću putanju kojom će se isti objekt kretati. Kretanje objekta osim predefiniranim putanjama možemo definirati i skriptnim jezikom te time uz malo truda i programerskog znanja kreirati nepredvidljive i pametnije neprijatelje.
Osnove programiranja
Osim vizualnog pristupa programiranju, GameMaker podržava i programiranje u jeziku maštovitog naziva Game Maker Language (GML). Sintaksa jezika negdje je između Pascala (što uopće nije čudno jer je i sam GameMaker kreiran u Delphiju) i programskog jezika C++. Sam jezik prilično je pojednostavljen, do te granice da postoje samo dvije vrste varijabli (String i Real), polja su maksimalno dvodimenzionalna, a moguće je tek rudimentarno objektno programiranje. Dok je u prijašnjim verzijama GML bio tek dopuna vizualnom programiranju, s novom verzijom GameMaker interno sve drag & drop akcije prevodi u GML. Isto tako, s novom verzijom u GML su integrirane i naredbe za osnovne 3D funkcije kojima ćemo teško napraviti vlastitu igru, ali ćemo svakako doprinijeti atraktivnosti 2D igara.
Sam svoj majstor
Često se programerima početnicima daje usporedba programskih jezika Basic i C. Za Basic se kaže da je izvrstan ako želiš napraviti jednostavnu kuću, dok ćeš za izradu katedrale upotrijebiti C. Za GameMaker možemo u tom stilu reći da će izvrsno poslužiti za izradu kuće, ali kuće koja će izvana izgledati kao katedrala. Iza GameMakera stoji prilično velika zajednica korisnika. Izdavač YoYo Games prilično redovno održava natjecanja u tematskoj izradi igara s novčanim nagradama. Igre koje ćete napraviti teško da će zaraditi milijune, ali će možda nekim kreativcima odškrinuti vrata razvojnih studija koji su uvijek u lovu na talente. (Željko Draščić)

