0% Complete
0/2 Steps

Kennismakingsopdracht Gamemaker

Acceptatiecriteria:

  • De speler kan bewegen
  • Objecten maken
  • Sprites toevoegen
  • Correcte en consequente naamgeving gebruiken voor alle sprites, objecten etc.
  • Bestandsnamen zijn als volgt opgebouwd:  <periode> <Onderwerp> <Opdracht><naam>. Bijvoorbeeld P1 Databases B1 Pietje Puk.
  • Bestanden van je game zippen en voorzien van naam en opdracht naarif@elzendaalcollege.nl sturen.
  • Bij de opdracht horende punten aanvragen in Progress.

Duur van de opdracht: 3 lessen

Beoordelingspunten: 3

Kennismakingsopdracht Gamemaker

De startopdracht voor gamemaker is bedoeld om je kennis te laten maken met het programmeren. Tijdens deze kennisopdracht ga je een kleine game maken die lijkt op het spel “Maze”. Bij dit spel is het de bedoeling dat het beertje alle diamanten verzamelt in een doolhof.

Voordat we echt kunnen beginnen zijn er een paar bestanden die je moet downloaden vanaf de onderstaande URL:

https://www.dropbox.com/s/9jpz329vwvyjht6/resources.zip?dl=0

  • Sla ze zo op dat je ze ook terug kunt vinden.
  • Open het gedownloade bestand en kopieer de 4 bestanden naar een plaats waar jij ze terug kunt vinden.

Zodra dit gebeurt is kun je gamemaker opstarten.

Afbeelding 2: afbeelding van de interface bij opstarten

Wanneer je gamemaker opent krijg je het volgende scherm te zien:

  • Klik op “new” waarna je in het volgende scherm een naam voor je project kunt invoeren en een plaats kunt kiezen waar je de game opslaat.
  • Voer een duidelijke naam in voor de startopdracht. Bijvoorbeeld Startopdracht<je eigen Naam>.
  • Druk vervolgens op “Create”.

Het scherm dat zich nu heeft geopend is ook het scherm waarin we de game gaan maken. Voor deze game heb je maar een paar knoppen nodig. Het gaat hierbij om de volgende knoppen:

Afbeelding 3: Interface
  • Create sprite
  • Create object
  • Create room
  • Run the Game

Deze knoppen zijn in afbeelding 3 omcirkeld.

Room:

Afbeelding 4: Aanmaken van een room

We beginnen met het maken van een room. Dit is niets anders dan een speelveld waarin we al onze figuurtjes kunnen neerzetten en waarin de figuurtjes kunnen gaan bewegen.

  • Klik op het icoontje “create a room” (witte vierkantje) waarna er een standaard speelveld voor je wordt gemaakt.
  • Standaard staat dit speelveld ingesteld op 1024*768. Dit mag je zo laten staan.
  • Verander de naam in rm_speelveld en klik op het “v’tje” in de linkerbovenhoek.

Sprites

  • Nu kunnen we de sprites gaan maken.
Afbeelding 5: Maken van sprites

Klik op het icoontje “create sprite” (groene bekje) waarna het onderstaande scherm verschijnt. Vul achter name in: spr_steen Selecteer: Load sprite. Ga naar de map waar je de vier gedownloade bestanden hebt neergezet en selecteer het icoon square.ico. Als het goed is gegaan zie je dat links in het menu het icoon met de naam spr_steen is toegevoegd. Bevestig met OK Klik weer op het icoontje “create sprite”. Voeg op dezelfde manier de icoontjes beer en diamant toe.

Objecten

  • Sprites moeten eerst in de map objects komen te staan voordat ze in het speelveld geplaatst kunnen worden.
Afbeelding 6: Maken van objecten

Klik op het icoontje “create object” (groene bal) waarna het onderstaande scherm verschijnt. Vul achter name in: obj_steen Selecteer bij sprite: het steen icoontje. Als het goed is staat het steen icoontje nu ook onder objecten. Zet een vinkje in het vakje voor Solid Doe hetzelfde voor beer en diamant.

Het inrichten van je Room

Afbeelding 7: Inrichten van je room

Selecteer nu het speelveld door er dubbel op te klikken. Kies tab <objets> (omcirkeld in de onderstaande afbeelding). Selecteer links onder bij <undefined> het object steen. Door in het speelveld te klikken kun je de stenen erin plaatsen en een muur gaan bouwen. Een verkeerde steen kun je met de rechtermuisknop verwijderen. Zet op dezelfde manier de diamanten en één beertje in het speelveld.

Het speelveld is klaar maar als we het spel opstarten door op het groene driehoekje te klikken, verschijnt het speelveld wel maar kan je verder niets. Dat is het volgende dat we moeten instellen.

Afbeelding 8: Programmeren van objecten

Programmeren van de objecten.

Beertje

  • Selecteer bij objects  obj_beer door er dubbel op te klikken.
  • Afbeelding van de objecten interface
  • Het scherm dat vervolgens wordt geopend is verdeeld in vier verticale kolommen (afbeelding 8). boven de tweede kolom staat “event”. In die kolom geef je aan wat er gebeurt. Bijvoorbeeld: de linker cursortoets indrukken.
  • Selecteer “add event” (omcirkeld in de afbeelding).
  • Selecteer “Keyboard”
  • Selecteer “Left” (In de kolom event staat nu  <Left>.
  • Boven de derde kolom staat “actions”. Hier kan je vertellen wat er met het beertje moet gebeuren (bewegen naar links).
  • Sleep uit de rechter kolom het icoontje “move fixed” naar de kolom “action” (het scherm van “start moving in a direction” verschijnt).
  • Selecteer van de 8 pijltjes het linkerpijltje (daarmee programmeer je dat bij het indrukken van de linker cursortoets het beertje naar links gaat).
  • Vul voor de snelheid in : 5  en druk op “Ok”.
  • Het programmeren van de linker cursortoets is nu klaar.
  • Programmeer op dezelfde manier de toetsen “up”, “down”, ”right”. Begin dus weer met het aanmaken van een nieuw “event”.

Voordat je de cursortoetsen gaat uitproberen moet je de computer ook nog vertellen dat zodra je de cursortoetsen loslaat het beertje moet stoppen (is niet vanzelf sprekend).

  • Selecteer “add event”
  • “Keyboard” <no key>
  • Selecteer “start moving directions”
  • middenvakje en speed = 0

Klik op het icoontje “run game” (groen driehoekje). Het speelveld wordt weer opgestart. Als alles goed is gegaan moet je nu met de pijltjestoetsen het beertje kunnen bewegen. Maar er komt een ander probleem: het beertje gaat dwars door stenen en diamanten heen.

  • Je gaat nu programmeren dat het beertje stopt zodra het tegen een steen aanbotst.
  • Selecteer “object beer”.
  • Selecteer “add event”.
  • Selecteer “Collision”.
  • Selecteer “steen” (het beertje botst tegen steen)
  • Selecteer uit het rechter vak “start moving in direction”
  • Het beertje moet nu stoppen. Dus vul dezelfde gegevens in als bij “no key”.
  • Vergeet niet Solid □ aan te vinken (als dat nog niet zo is!!!) Solid staat in de linker verticale kolom.
  • Druk op “Ok” om het venster te sluiten.
  • Controleer door het spel te starten of beertje nu niet meer door de muur heen gaat.

Nu moet nog geprogrammeerd worden wat er met een diamant moet gebeuren. Als het beertje daar tegenaan komt moet hij niet stoppen maar de diamant moet verdwijnen.

Diamant

Afbeelding 9: Collision event
  • Selecteer het “object diamant”.
  • Kies bij “add events” voor  “Collision”  –> beer (als het beertje tegen de diamant botst moet er iets gebeuren)
  • Selecteer in de rechterkolom van het scherm  “main1”  –> “destroy  instance” ( de diamant moet van het speelveld verdwijnen).
  • Vink bij applies aan Self (als dat nog niet is gebeurd)
  • Controleer of de diamanten verdwijnen door het spel weer te starten.

Puntentelling

Het enige dat nu nog ontbreekt is een score. Om die ook nog” toe te voegen moeten we twee dingen doen.

Score laten weergeven

  • Selecteer “object diamant”.
Afbeelding 10: Draw event

“Add event” en kies vervolgens voor “draw” –> “draw begin”. Selecteer uit de rechterkolom “score”  –> “draw score” Vul bij X en Y bij de 32 in en druk op “Ok”.

Score aanpassen bij iedere “collision” tussen de beer en een diamant.

  • Selecteer “object diamant”.
  • In events staat al “collision” met de beer. Er moet alleen nog een tweede actie aan toegevoegd worden.
  • Selecteer uit de rechterkolom “score”  –> “set the score”
  • Vul in achter new score: 1
  • Vink de keuze “relative” aan
  • Controleer het resultaat. Als het goed is verschijnt op het moment dat de eerste diamant verdwijnt de score boven in het speelveld.

Opslaan

Sla het project ten slotte op nadat je zelf klaar bent met spelen.

Verbouwen

Probeer nu eens je eigen versie van het spel te maken. Je kan sprites vervangen, een tweede level maken, tegenstanders toevoegen, de achtergrond veranderen en nog veel meer.

Veel plezier!