Het globale idee
Alvorens te duiken in de mogelijkheden van Game Maker is het goed om eerst een idee te krijgen wat het globale idee achter dit programma is. Spellen die gemaakt zijn met Game Maker spelen zich af in één of meer rooms. (Rooms zijn vlak, niet 3D, maar zij kunnen er 3D-achtig uitzien). In deze rooms plaats je objecten, die je met het programma kunt definiëren. Typische objecten zijn: muren, bewegende ballen, monsters, een hoofdfiguur, enz. Sommige objecten zoals muren staan in de room en doen verder niets. Andere objecten zoals een hoofdfiguur kunnen bewegen door de room en reageren op input van de speler (toetsenbord, muis, joystick) en op andere objecten. Bijvoorbeeld, als de hoofdfiguur een monster ontmoet kan dat zijn dood betekenen. Objecten zijn de belangrijkste onderdelen van de spellen die met Game Makerworden gemaakt. Laten we daarom op objecten iets dieper ingaan.
Allereerst hebben objecten een uiterlijk (afbeelding) nodig om ze zichtbaar te maken op het beeldscherm. Zulke afbeeldingen noemen we sprites. Een sprite is soms een enkele afbeelding maar het kan ook voorkomen dat hij bestaat uit meerdere afbeeldingen na elkaar (animated gif). Dan lijkt het bijvoorbeeld of een persoon loopt, een bal draait, een ruimtevaartuig explodeert, enz. Tijdens het spel kan de sprite van een object veranderen. (een persoon ziet er anders uit als hij naar links of naar rechts loopt) In Game Makerkun je je eigen sprites maken of je kunt ze in het spel halen door kant en klare files te openen (bijvoorbeeld animated GIF’s).
Met objecten gebeuren bepaalde dingen. Deze gebeurtenissen noemen we events. Objecten kunnen bepaalde actions (handelingen) verrichten als een event plaatsvindt. Er kan een groot aantal events plaatsvinden en er is een groot aantal handelingen die verricht kunnen worden door de objecten. Bijvoorbeeld: er is een creation event als een object wordt gemaakt. (Om preciezer te zijn: als een instantie van een object wordt gemaakt; er kunnen meerdere instanties van hetzelfde object zijn). Als een bal wordt gemaakt kun je die bal een beweging meegeven zodat hij begint te bewegen als hij gemaakt wordt. Als twee objecten elkaar treffen treedt er een collision event (botsing) op. In zo'n geval kun je ervoor zorgen dat de bal stopt of een beweging krijgt in een andere richting, bijvoorbeeld de tegenovergestelde richting. Je kunt bij die botsing ervoor zorgen dat er een geluid wordt geproduceerd. In Game Maker bestaat de mogelijkheid om sounds (geluiden) toe te voegen aan events. Je kunt ook sounds in Game Maker definiëren. Als een speler van een spel een toets van het toetsenbord indrukt is er sprake van een keyboard event, waarna een object de juiste handeling kan gaan verrichten, bijvoorbeeld bewegen in een bepaalde richting. Ik hoop dat het idee een beetje duidelijk is. Voor elk object dat je ontwerpt kun je actions aangeven voor verschillende events. Dit is de manier om het gedrag van een object te definiëren.
Als je eenmaal je objecten hebt gedefinieerd, wordt het tijd om de rooms waarin die objecten zich gaan bevinden te ontwerpen. Die rooms kunnen gebruikt worden voor de verschillende levels van het spel of om verschillende plaatsen aan te geven. Er bestaan actions waardoor je van de ene room in de andere kunt komen. Rooms hebben op de eerste plaats een background (achtergrond). Dit kan eenvoudig een kleur zijn of een afbeelding. Zulke achtergrondafbeeldingen kun je met Game Maker ontwerpen of je kunt ze importeren in Game Makerals bestaand bestand. (De achtergrond kan een hoop dingen doen maar voorlopig beschouwen we het maar als iets dat de room er mooi laat uitzien.) Daarna kun je de objecten in de room plaatsen. Je kunt meerdere instanties van een zelfde object in de room plaatsen. Zo hoef je maar één muurobject te definiëren terwijl je het op vele plaatsen in de room kunt gebruiken. Bovendien kun je ook meerdere instanties van hetzelfde monsterobject in je spel hebben, zolang ze maar hetzelfde gedrag hebben.
Nu ben je zover om het spel uit te voeren. De eerste room verschijnt in beeld met de objecten daarin die acties uitvoeren die ze bij hun creation event hebben meegekregen. Ze beginnen op elkaar te reageren dankzij de actions in de collision events maar ze kunnen ook reageren op de events van de speler die worden ingegeven met de muis of het toetsenbord.
Samenvattend kunnen we zeggen dat de volgende zaken (vaak worden deze resources genoemd) een belangrijke rol spelen:
- objecten: dit zijn de echte entiteiten in een spel
- rooms: de plaatsen (levels) waarin de objecten leven
- sprites: animated) images die gebruikt worden om de objecten weer te geven
- sounds: deze kunnen in spellen zowel worden gebruikt als achtergrond als ook voor effecten
- backgrounds: de afbeeldingen die gebruikt worden als achtergrond in de rooms
Er bestaan echter nog een aantal andere bronnen: paden (paths), scripts, fonts en tijdlijnen (time lines). Dit zijn belangrijke onderdelen die vooral in wat meer gecompliceerde spellen een rol spelen. Je komt deze dingen alleen tegen als je Game Maker in de advanced mode gebruikt. Deze onderdelen worden later in aparte hoofdtukken voor gevorderden behandeld.