Begrippenlijst

Gebruik het tekstvak om te zoeken. (Vul alleen letters in)

Actie

Icoontje dat je in een object of een timeline aan een event koppelt.

Alpha

Er zijn twee verschillende gangbare betekenissen.

Argument

In f(x) is f de functie en x het argument.

Array

Een variabele met meerdere genummerde waarden. De array arr heeft elementen arr[0], arr[1], ....

Bèta

Spel dat niet af is, maar waar alle functionaliteit al in zit. Er moeten alleen nog bugs worden gefikst.

Bètatester

Iemand die probeert bugs te vinden in een spel dat nog niet af is, door het spel te spelen/testen.

Bool

Iets dat alleen true of false kan zijn.

Bug

Programmeerfout, of ongewenst gedrag van een computerprogramma als gevolg daarvan. Het proberen te verhelpen van bugs noemt men debuggen. Kan het gevolg zijn van een logische fout of syntaxisfout.

Concatenatie

Het aan elkaar plakken van strings: "Hello" + "World" = "HelloWorld".

Constante

Woord dat een waarde weergeeft. Voorbeelden: c_red, false, pi, mb_left.

Control flow statement

Zie lus.

Credits

Pagina in een spel met daarin een dankbetuiging aan mensen die hebben meegewerkt aan dat spel.

Cutscene

(ook tussenfilmpje) Filmpje dat een deel van het verhaal van een spel toont aan de speler. Meestal niet interactief.

Debuggen

Het opsporen en proberen op te lossen van fouten in de code.

Display

De naam voor het schermvullende beeld. Als je een spelvenster van 640 bij 480 op een beeldscherm van 1920 bij 1080 ziet, dan is je display 1920 bij 1080 en je window 640 bij 480.

Drag & Drop

Het geheel van alle acties.

DLL

(Dynamic Link Library) Windows-gebaseerd bestand dat een collectie van functies bevat, dat door een GM-spel extern kan worden aangeroepen. Het betreft vaak een samenhangende verzameling functies, met een “gezamenlijk doel”, bijvoorbeeld een physics engine. DLL's zijn in andere talen dan GML geschreven en zijn daardoor vaak sneller. Daarom worden DLL's vaak gebruikt voor het doen van erg tijdrovende berekeningen. Voorbeelden: terrein-engine, physics-engine, 3D-engine. DLL's werken alleen binnen Windows. Andere besturingssystemen hebben vergelijkbare zaken, zoals de dylib voor MacOS.

Element

Een van de waarden in een array.

Event

Gebeurtenis in het spel. Veel gebeurtenissen hebben bij één of meer objecten acties tot gevolg. Voorbeelden van events: Key Press: Space, Room start, Step event. Niet alle events vinden voor alle objecten tegelijk plaats. Voorbeelden: Create event; Collision event; Outside Room event.

Expression

Een stukje code dat een waarde voorstelt. Iets dat berekend kan worden en een uitkomst heeft. Een losse variabele kan ook een uitdrukking zijn. Een if-conditie is altijd een uitdrukking. Voorbeelden: x - xstart of keyboard_key_press(ord("C")) or score >= 1000. Een statement is geen uitdrukking.

Extensie

Pakket met extra functies dat in GameMaker kan worden ingeladen om zo extra mogelijkheden beschikbaar te maken. Wordt buiten de GM-wereld vaak library genoemd.

Font

Collectie symbolen (karakters, glyphs) in een bepaalde stijl en een bepaalde afmeting, in de regel gebruikt om tekst weer te geven. Bevat doorgaans de letters, cijfers en leestekens. Ook een type resource in GameMaker.

Functie

Een in GameMaker ingebouwd ding dat iets doet of iets uitrekent. Je schrijft functies altijd met ronde haakjes erachter: functienaam(argumenten). Voorbeelden: instance_create, room_goto_next, make_color_rgb.

Game design

Het “bedenken” van games. Dit staat redelijk los van het programmeren van games. Game-designers:

Deze rollen kunnen verdeeld worden over meerdere personen.

Gamedesigndocument

Document waarin het concept van het spel tot in detail is uitgewerkt, zodat de lezer snapt hoe het spel ongeveer zal worden. Het beschrijft

Gereserveerd woord

Woord in een programmeertaal waarvan de betekenis vastligt. In GML kortweg alle woorden die kleurgecodeerd worden, en die je dus niet kunt gebruiken voor iets anders (het is immers “gereserveerd”). Enkele voorbeelden:

Globale variabele

Een variabele die gedurende het hele spel bewaard blijft en niet in een instantie zit. Enkele voorbeelden:

Je maakt je eigen variabelen globaal door de naam te laten beginnen met global.

Glyph

Teken in een lettertype (font).

GML (GameMaker Language)

De programmeertaal van GameMaker. Veel van de ingewikkeldere dingen binnen GameMaker zijn alleen mogelijk via GML.

Grid

Een type datastructuur. Een tweedimensionaal rooster van waarden.

Hard-coded

Met vaste getallen, in plaats van met variabelen, in de code gezet.

Hierdoor is het lastiger om later wijzigingen aan te brengen. Hard-coden wordt gezien als een slechte gewoonte.

Inheritance

Het principe dat objecten gedrag overnemen uit andere objecten (hun “ouder” oftewel parent). Vaak maak je een ouderobject met generiek gedrag (bijvoorbeeld, het vijandobject, met daarin alles dat alle vijanden doen) en elk type vijand is een kindobject van dat vijandobject. Gedrag dat specifiek is voor dat type vijand staat in het kindobject. Zo heb je minder dubbele code.

Initialiseren

Een eenmalige stap om iets op te starten, bijvoorbeeld: het definiëren van variabelen, het creëren van instanties.

Instantie

Voorwerp in de (huidige) room. Instanties voeren de acties uit die gedefinieerd zijn in een object. De variabele object_index geeft aan welk object.

Instantievariabele

Een variabele die in een instantie zit (en dus wordt verwijderd als deze instantie wordt vernietigd). Voorbeelden: x, image_index. Zelfgemaakte variabelen zijn instantievariabelen tenzij je expliciet aangeeft ze globaal of lokaal te maken.

List

Een veel gebruikte datastructuur; een geordende lijst waarden. Het lijkt op een array, maar heeft meer mogelijkheden, zoals waarden tussenvoegen en er tussenuit halen.

Literal

Vaste waarde, zoals 35 of "Hello world!". Dus géén variabele of constante.

Logische fout

Programmeerfout waarbij de code weliswaar door GameMaker wordt goedgekeurd, maar iets anders doet dan de programmeur bedoeld had. Doorgaans het gevolg van een denkfout bij de programmeur; dit maakt logische fouten vaak lastig oplosbare fouten omdat de oorzaak soms ligt bij een verkeerde aanpak van een probleem.

Lokale variabele

Een variabele die in GML is gedefinieerd met het var-statement en die dus wordt verwijderd nadat het codeblok of script is uitgevoerd. Wordt meestal gebruikt in scripts voor het tijdelijk opslaan van tussenresultaten die na voltooiing van het script niet meer nodig zijn.

Lus

(Ook loop) Een constructie bij programmeren waarin een stuk code kan worden herhaald. GameMaker heeft de volgende lussen:

Magic number

Getal in de code waarvan de betekenis onduidelijk is. Beter vervang je deze door een constante met een duidelijke naam.

Mask

Het “botsingsgebied” van een instantie. Dit kan anders zijn dan het zichtbare plaatje (de sprite) van een instantie. Met de mask worden de collisions met andere instanties berekend. Instanties met een geanimeerde sprite hebben een stilstaande mask om botsingen eenvoudiger te maken en vastzitten te voorkomen.

Model

2D- of 3D-figuur bestaande uit punten, lijnen en vlakken. Die punten, lijnen en vlakken heten primitives.

MP-grid

Een type datastructuur. Een 2D-raster van cellen dat wordt gebruikt voor motion planning (het zoeken van routes).

Nesten

Het “in elkaar plaatsen” van if-statements en/of lussen.

Object

Een definitie van gedrag. Een collectie van events met daarbij behorende acties. De instanties voeren het gedrag uit.

Operator

Een bewerkingsteken zoals

Pad

Route die door een instantie gevolgd kan worden.

Pathfinding

Systeem of algoritmes dat de kortste/snelste weg zoekt van een startpunt naar een bestemming.

Primitive

ook drawing primitive Collectie punten, lijnstukken en/of driehoeken. Driehoeken kunnen een texture hebben.

Priority queue

Een type datastructuur. Een rij waarin elementen geordend zijn op prioriteit.

Queue

Een type datastructuur. Een wachtrij waar dingen achteraan aansluiten en aan de voorkant worden weggehaald.

Recursie

Zelfverwijzing. Het idee dat een functie op de een of andere manier zichzelf aanroept.

Resource

Sprite, achtergrond, geluid, stuk muziek, lettertype of dergelijke. In GameMaker zijn objecten, rooms, timelines ook resources.

Return

Een GML-opdracht die scripts in staat telt een uitkomst (returnwaarde) terug te geven naar de code die het script aanroept.

Room

Ruimte waarin instanties “leven”. Vanuit een view wordt een deel van de room op het scherm geprojecteerd.

Scope

Geeft aan wat de variabele beheert:

Script

Een resource die GML-code bevat; een zelfgemaakte functie. Bij het uitvoeren (aanroepen, activeren, gebruiken, toepassen, ...) van een script wordt deze code uitgevoerd. De reden om scripts te gebruiken is dat je hetzelfde stuk code vaker kunt gebruiken zonder het te hoeven kopiëren. Door argumenten te gebruiken kan één stuk code op verschillende waarden worden toegepast.

Sprite

Afbeelding, al dan niet geanimeerd, dat een voorwerp in een spel uitbeeldt. Bijvoorbeeld, de sprite van een kogel, of een sprite van een poppetje in een bepaalde houding.

Stack

Een type datastructuur. Een stapel waar dingen op kunnen worden gelegd en er weer af worden gehaald.

Statement

Een GML-opdracht, oftewel een stukje code dat GameMaker iets laat doen. Voorbeelden:

String

Tekenreeks. Stuk tekst: "Hello World!".

Syntaxis

De “grammatica” van een programmeertaal. De precieze notatie van code in een gegeven taal, d.w.z. waar de komma's en haakjes moeten etc.

Syntaxisfout

Een “taalfout” in programmeercode, waardoor wat er staat “geen GML is”'. Vaak het gevolg van een tikfout en eenvoudig oplosbaar. Voorbeelden:

Texture

Afbeelding die gebruikt wordt als “reliëf” op de grensvlakken van een (meestal driedimensionale) vorm.

Tile

Stilstaand plaatje in de room, niet gekoppeld aan een instantie. Met een hele collectie tiles kunnen zo hele levels vormgegeven worden, zonder dat je allerlei verschillende objecten nodig hebt.

Tileset

Afbeelding bestaande uit allemaal blokjes met daarop stukjes spelwereld, zodanig getekend dat de stukjes op een heleboel manieren mooi op elkaar aansluiten. Zo kun je een groot level vormgeven met een kleine tileset, en dit bespaart dus een boel geheugen.

Timeline

Type resource in GameMaker. Collectie van momenten (tijdstippen) waaraan acties zijn gekoppeld. Vergelijkbaar met een object, maar met de events vervangen door tijdstippen. Een instantie kan een tijdlijn “volgen”; op de aangegeven momenten worden de acties dan uitgevoerd.

Underscore

Het symbool “_”.

Variabele

Een “container” met een naam die een waarde bevat, bedoeld om deze waarde te kunnen “onthouden”. Variabelen hebben een naam, een waarde en een scope. Voorbeelden:

View

Kijkvenster dat bepaalt welk deel van de room zichtbaar is en hoe dat wordt weergegeven (geschaald, gedraaid).

Window

Je spelvenster. Als je een spelvenster van 640 bij 480 op een beeldscherm van 1920 bij 1080 ziet, dan is je window dus 640 bij 480 en je display 1920 bij 1080.