[5] Game Maker :: Rad sa GML i distribucija igre

[5] Game Maker :: Rad sa GML i distribucija igre

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4449

Rad sa GML


[1] Uvod u programiranje unutar Game Maker-a
[1.1] Razlika između GML i programskih jezika
[1.2] Uvod u GML Editor
[2] Varijable (promenljive)
[3] If i else (ispitivanje i postavljanje uslova)
[4] Operatori
[5] While petlja


Napomena: ::Exclamation GML (Game Maker Language) se često meša sa GML (Generalized Markup Language) zbog sličnog naziva. Vodite računa kada pretražujete nešto o tome jer se radi o dva potpuno različita jezika!

[1] Uvod u programiranje unutar Game Maker-a

Do sada smo videli da stvaranje igara u Gejm Mejkeru nije toliko teško. Sve se svodi na to da definišete parametre i ubacujete ih tamo gde treba. Međutim, kako vreme odmiče, nalazićete se u problemu - za neke akcije ne postoje biblioteke. Zato je potrebno koristiti GML (Game Maker Language) odnosno jezik za označavanje unutar Gejm Mejkera. Serija ovih članaka je prevashodno napravljena za one koji se nikada do sada nisu susretali sa razvojnim okruženjima i programskim jezicima, te bi bilo potrebno pojasniti vam neke stvari o programiranju koje se tiču i Gejm Mejkera. Ako ste već napredan programer (ili max. programer srednjeg nivoa), možete preskočiti ovaj deo.

[1.1] Razlika između GML i programskih jezika

Računarsko programiranje predstavlja proces pri kom korisnik stvara algoritme koristeći određene programske jezike da bi napravio računarski program. Pri tom procesu koristi većim delom matematičku logiku i elemente konstruisanja.

Sa GML je stvar malo drugačija. On nije programski jezik, već jezik za označavanje.

Razlika je u tome što programski jezici koriste tačno određen algoritam za pisanje koda. U programskom jeziku najčešće morate navesti;

1. Biblioteke koje će program koristiti (ređa praksa u strukturnim jezicima, češće koristi kod OO programiranja).
2. Navesti odakle će program početi (najčešće vitičastom zagradom, komandom, početkom klase ili sa begin).
3. Pisati uopšteni izvorni kod (odatle počinje deo u kome ćete pisati kod koji program treba da izvrši).
4. Navesti gde će se program završiti (najčešće vitičastom zagradom, komandom, završetkom klase ili sa end).

GML jezik dosta skraćuje ovaj algoritam iako je dosta elemenata preuzeo od C programskih jezika. Kod GML možete odmah početi sa trećim korakom (pisanjem uopštenog izvornog koda) koji će biti odrađen pri nekoj akciji (kod će se izvršiti pri događaju u kom se nalazi).

Naprimer:

Događaj Create >> Dodavanje akcije za kod >> Kod: zivota = 3;

Vrlo lako i jednostavno. Kako vreme odmiče, videćete da GML sadrži već gotove funkcije poput set height ili set depth ili set 3D ili set camera itd. Dosta lakše nego da se mučite sa stotinu logičkih parametara u nekom programskom jeziku.

[1.2] Uvod u GML Editor

GML Editor je uređivač GML koda. Da biste uređivali GML kod možete koristiti dva načina:


Dodati kod unutar Script elementa:


1. Idite do levog dela prozora Game Maker razvojnog okruženja i pronađite Scripts.



2. Desnim klikom na Scripts pa u padajućem meniju izaberite Create Script.




Odmah pisati unutar događaja tako što ćete otići na tab Control i desnim klikom na ikonicu
.


Izgled GML Editor-a



1. Sačuvaj promene
2. Otvori već postojeći kod
3. Sačuvaj kod
4. Odštampaj kod
5. Opozovi/ponovi radnju
6. Iseci izabran kod
7. Kopiraj
8. Nalepi
9. Pronađi
10. Proveri tačnost koda
11. Pomoć
12. Primeni na...
13. Tekstualna kutija za pisanje GML koda

[2] Varijable (promenljive)

Varijable (promenljive) su vrednosti suprotne konstantama (poznatim vrednostima). To znači da varijabla može imati bilo koju vrednost koju definišemo unutar nje. Ovo je slučaj kod GML, mada u ostalim jezicima postoji više tipova promenljivih (čitaj: Tipovi podataka), te se dele na cele, decimalne, stringove i buleanske.

Primer koda:



Na slici iznad prvo uočavamo vitičaste zagrade. Njih nije potrebno pisati (obično se to radi kod većih projekata radi boljeg snalaženja). U većini jezika se iza znakova // pišu komentari. Oni se ne obrađuju, već služe za lakše snalaženje, takođe kod velikih projekata, ali i saradnicima na velikim projektima kako bi bolje objasnili svaki deo koda. Komentari nisu obavezni. Preći ćemo na izvorni kod.

Analiza koda:



[3] If i else (ispitivanje i postavljanje uslova)

Današnji programi su dosta moćni te mogu analizirati korisnički odgovor. Kako? Tako što se programu postave radnje koje treba da uradi u nekom momentu ako je zadovoljen uslov. Bolje ćete razumeti ako pogledate sledeći primer;

Primer koda:



Analiza koda:



Napomena! ::Exclamation Ako ikada budete gledali tutorijale vezane za Gejm Mejker na Youtube, primetićete često da korisnici pišu ceo kod u jednoj liniji, što uopšte nije praktično.

[4] Operatori

Sa operatorima ste se verovatno već upoznali, tačnije sa nekima od njih. Operatori su naprimer, znakovi operacija koje vi koristite pri računanju.

Relacioni operatori



Napomena! ::Relacione operatore u GML korisimo pri relaciji ili vezama sa drugim promenljivim vrednostima.

Primer koda:



Analiza koda:



[5] While

Na početku ste naučili da je Game Maker okruženje bazirano na događajima i na akcijama. Akcija će se desiti uvek kada je zadovoljen događaj kojim je ona definisana. Šta ako želimo u GML da se neka akcija ponavlja automatski kada je zadovoljen neki uslov, a da ne koristimo if statement? Upravo zato je lakše koristiti while petlju.

Primer koda:



Analiza koda:



U redu, dakle, while funkcija označava period dok/sve dokle je neki uslov zadovoljen. Razlika između if statement i while jeste u tome što je if statement jednokratan dok je while automatizovan i izvršava neku akciju celo vreme dok je uslov zadovoljen.

Slično je i sa drugom varijantom u kojoj dodajemo do (uradi) pa akciju, until (dok) je zadovoljen uslov.

Distribucija igre


[1] Uvod u distribuciju igre
[1.1] Izvršni .exe fajl


[1] Uvod u distribuciju igre

U trenutku kada budemo završili svoju video igru susrešćemo se sa jednim problemom. Prijatelj, poznanik ili neka treća osoba koja bude htela da pokrene našu igru neće moći to da uradi ako nema instalirano razvojno okruženje. Zbog toga ćemo morati da napravimo izvršni fajl.

Napomena! ::Exclamation Igra mora imati bar jednu sobu kako bi mogli da napravimo izvršni fajl te igre!

1. Kada smo završili sa razvojem igre, kliknemo na u meniju.

2. Nakon toga preciziramo gde želimo da sačuvamo fajl.




Exe fajl će biti sačuvan na lokaciji koju ste izabrali.


[1.1] Izvršni .exe fajl

.exe (eng. executable) je izvršni fajl koji sadrži određene resurse (slike, ikonice i ostalo što bi moglo poslužiti za građenje grafičkog korisničkog interfejsa). Fajlove sa ovim formatom možemo pokretati potpuno normalno na računaru, a moguća su i proširenja koje pravimo dodavanjem biblioteka (eng. libraries, dynamical libraries ili DLL) o kojima ćemo govoriti kasnije.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 649 korisnika na forumu :: 41 registrovanih, 11 sakrivenih i 597 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 19:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 11neco11, A.R.Chafee.Jr., aleksandar_tatic, aligrudici, amir3045, calvi, chester_perry, Djole, docadoca, Dorcolac, Dragan1998, Faki-Valjevo, ivica976, jovan.simovic97, krunomiletic5, KUZMAR, ltcolonel, majorgaspar, MarKhan, Marko Marković, Mercury2, Metanoja, Mikulino, mrav pesadinac, mračni čovek, ofbeyond, opt1, Outis, panticstefan53, pein, Pippi Langstrumpf, Predrag Macura, renoje2, robertino, rovac, Stole Balkanboy, VJ, Warhawk, Wrangler2, Zandar, zola92