Game Maker Language

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Game Maker Language (GML) is de ingebouwde programmeertaal van Game Maker. Deze taal breidt de functionaliteit van het programma Game Maker uit, waar normaal gesproken met een slepen en neerzetten (drag and drop) interface wordt gewerkt.

Doordat GML veel overzichtelijker en flexibeler is dan de drag and drop methode die het programma ondersteunt, wordt GML in veel grote en complexe Game Maker spellen gebruikt.

Oorsprong[bewerken]

De taal is gebaseerd op de welbekende C familie, andere vormen hierin zijn C++, Objective C, Java, Javascript, C# en PHP, echter kan in veel gevallen ook BASIC-syntaxis worden gebruikt. Doordat GML nauwe banden heeft met deze bovenstaande programmeertalen, is de overstap van GML naar een andere programmeertaal vrij gemakkelijk. Men kan stellen dat GML bijna een complete kopie is van Java. Het verschil zit men in een paar uitgebreide functies die men in Java niet heeft. Als men kan programmeren in Java, dan kan men ook in GML programmeren. De laatste tijd staat GML in hoog aanzien bij sommige softwarebedrijven omdat het de mogelijkheid geeft om een eigen project naar HTLM5 te exporteren. Hiervoor is echter de nodige kennis qua informatica nodig, aangezien alles in GML moet geschreven zijn en men bijna geen "drag 'n drop" functies kan gebruiken.

Mogelijkheden[bewerken]

In Game Maker kan een beginner zijn eerste spel maken op basis van slepen en neerzetten. Dit betekent dat men een actie voor een voorwerp selecteert en deze laat uitvoeren op een bepaald moment, door een pictogram naar een reeks te slepen. Al snel komt men er achter dat men met GML echter veel meer kan bereiken, dit zorgt voor een drang om deze programmeertaal te willen leren. De mogelijkheden van GML zijn dan ook veel uitgebreider dan van de bovenstaande beschreven manier.

Zo is het mogelijk om met GML eenvoudige maar ook complexe tekeningen te maken. Daarnaast kan men bestaande bestanden vervangen of toevoegen door middel van GML en is het mogelijk om in het Windows register te schrijven. Verder nieuw in Game Maker 6, is het deeltjessysteem, wat voornamelijk benut kan worden met behulp van GML. Speciale effecten (denk aan vuurwerk, regen, rook) worden hiermee gecreëerd, zonder een enkele afbeelding te gebruiken.

Met GML is het ook mogelijk multiplayer spellen te maken die gespeeld kunnen worden over een netwerk of internet.

Nieuw in Game Maker 6 is ook het steeds populairder wordende 3D systeem, hiermee kunnen echte 3D spellen worden gemaakt. De mogelijkheden zijn op dit gebied nog wel beperkt, maar er is toch al heel wat mee te bereiken. GML biedt ook de mogelijkheid om DLL-bestanden op te nemen in het spel. Deze kunnen geschreven worden in andere talen en op deze manier kunnen nieuwe functies toegevoegd worden aan het spel.

Game Maker 7.0/8.0[bewerken]

Sinds lange tijd is er nu ook Game Maker versie 7.0. Deze is te downloaden via op de website van YoYo Games. Game Maker 7.0 is achterwaarts compatibel (dit wil zeggen dat Game Maker 7.0 kan spellen openen die gemaakt zijn met Game Maker 6.1).

Game Maker 8.0 is nu ook uit. Met Game Maker 8.0 kan men spellen gemaakt in Game Maker 6.1 en Game Maker 7.0 ook openen. Met Game Maker 8.0 kwam ook een verbeterde code-editor met kleurenmarkering, automatische afmaking en als men een functie typt, ziet men de parameters onderin verschijnen.

Game Maker HTML5[bewerken]

In deze relatief nieuwe programmeer omgeving, die voornamelijk bedoelt is voor professionele Web developers, kunnen spellen gemaakt worden die bedoeld zijn om in een browser te plaatsen, iets wat te vergelijken valt met Adobe Flash. Normaal gesproken compileert de code van Game Maker zich naar een executabele, maar men kan in deze versie van Game Maker instellen dat de code wordt omgezet naar een HTML5 web pagina en de bijbehorende Javascript code waarin het spel zal worden uitgevoerd. Hierdoor valt Game Maker ook uit te voeren op bijvoorbeeld een Ipad, een Ipod Touch of een Android. Hierdoor is de HTML5 versie dan ook duurder[1] dan de andere versies, die voornamelijk voor beginnende programmeurs of hobbyisten bedoeld zijn.

Syntaxis[bewerken]

De syntaxis die wordt gebruikt in GML is vrij flexibel en staat gebruikers die vertrouwd zijn met andere programmeertalen toe makkelijk te schakelen tussen GML en een andere taal. Deze feature staat de gebruiker tevens toe meteen de taal te gebruiken indien hij al ervaring heeft met een andere programmeertaal.

Enkele voorbeelden van de variatie waarin GML gebruikt kan worden:

if a=b then
  begin
  c=a;
  end;
if a = b then
  {
  c = a;
  }
if a==b {c:=a}
if(a == b)
  c = a
if a = b {
  c = a
  }
if a=b c=a
if a=b then c=a

Alle bovenstaande stukjes code geven hetzelfde resultaat: ze zijn allen correct in GML mits de variabelen a en b bestaan. Als a gelijk is aan b zal c na het uitvoeren van de code dezelfde waarde bevatten als a en b. Als a niet gelijk is aan b zal c niet gedefinieerd zijn of de oude waarde bevatten.

Externe links[bewerken]

  1. http://yoyogames.com/gamemaker