Game maken in Scratch

Hoe maak je zelf een eenvoudige maar leuke game? Volg onderstaande video’s om van je idee eerst een algoritme en daarna een echt programma te maken. Allemaal met de gratis tool ‘Scratch’ van MIT!

Op deze pagina vind je een heel stappenplan, met volgende hoofdstukken:

  1. Inleiding: algoritmes
  2. De Scratch-omgeving
  3. Bouwstenen: looks, motions en events
  4. Bouwstenen: variabelen, operatoren en sensoren
  5. Enkelvoudige keuze en herhaling
  6. Meervoudige keuze
  7. Een tijdslimiet instellen
  8. Een tweede sprite

In elke stap leer je net iets meer en kan je weer iets nieuws in je eigen game programmeren.

1 – Inleiding: algoritmes

In deze lessenreeks gaan jullie zelf een spelletje programmeren. Om dat te kunnen, moeten we in deze eerste les enkele basisbegrippen overlopen. Daarna gaan we aan de slag. Lees deze eerste les dus aandachtig door!

Alles wat te maken heeft met programmeren heeft als basis het denken in algoritmes. Maar wat zijn algoritmes? Waaruit bestaan ze? En wie heeft die naam verzonnen? Bekijk de video.

Zoals je in de video kon zien, is een algoritme min of meer hetzelfde als een stappenplan. Wanneer we een stappenplan uitwerken op de computer om tot een programma te komen, noemen we dat een programma. De taal waarin dat programma gemaakt wordt, is de code. Deze begrippen mag je niet door elkaar halen! Dus:

  • algoritme: een stappenplan
  • programma: een algoritme dat op de computer is uitgewerkt
  • code: de taal waarin het programma geschreven werd

Bij het denken in algoritmes moet echt élke stap gedetailleerd uitgedacht worden, ook stappen die voor ons vanzelfsprekend zijn. Denk daarbij aan het voorbeeld uit de video van het binden van de veters. Een ander voorbeeld: denk zelf even na in hoeveel stappen je de voor ons eenvoudige actie van ‘het openen van een deur’ kan opdelen…

2 – De Scratch-omgeving

In dit onderdeel verkennen we de leeromgeving waarbinnen we de theoretische kennis uit het vorige deel gaan toepassen. We gebruiken hiervoor de leeromgeving ‘Scratch’, een product van de Amerikaanse universiteit MIT. Volg de stappen in de video zodat je zelf ook een eigen sprite kan kiezen en de achtergrond kan veranderen.

3 – Bouwstenen: looks, motion en events

Wanneer we een algoritme gaan gebruiken om een programma aan te maken, beginnen we met het effectief programmeren. Dat kan in tekstvorm in een programmeertaal (Java, JavaScript, Python, C++, etc.), maar ook met codeblokjes (zoals in Sphero of Lego Mindstorms). Ook Scratch werkt met blokjes die je in de juiste volgorde moet slepen. Bekijk de video om meer te leren over de eerste drie soorten: looks, motion en events.

Zelf aan de slag: oefening:

  • We beginnen met ons spel te maken. Het spel start wanneer er op de groene vlag geklikt wordt. De sprite verandert van een prinses in een kikker, en roept ‘Help me!’. Meteen daarna roept ze ook: ‘Breng me bij de tovenaar!’
  • Programmeer basisbewegingen voor je sprite om haar te laten bewegen met de pijltjestoetsen (zowel horizontaal als verticaal).

4 – Bouwstenen: variabelen, operatoren en sensoren

Nu de basis gelegd is, is het tijd voor het echte werk. In deze video leer je alles over de bouwstenen variabelen, operatoren en sensoren.

  • Variabelen kan je een eigen waarde geven, en die waarde aanpassen;
  • Operatoren werken verder met die variabelen: ze zorgen ervoor dat je variabelen kan combineren, ermee kan rekenen, enzovoort;
  • Sensoren zorgen ervoor dat je aan de gebruiker kan vragen welke variabelen er gebruikt moeten worden, en dat variabelen veranderd kunnen worden.

Dat klinkt allemaal heel vaag. Bekijk dus zeker de video waarin alles heel concreet getoond wordt. Zet regelmatig op pauze en probeer dezelfde algoritmes ook zelf te maken.

5 – Enkelvoudige keuze en herhaling

Nu je de verschillende bouwstenen of blocks kent, kunnen we eindelijk aan onze game beginnen. Hiervoor komen er twee begrippen uit de inleidende video terug:

  • de herhalingsfunctie / repeat / loop: bepaalde acties of bouwstenen zich laten herhalen;
  • de enkelvoudige keuze: instellen wat er wanneer moet gebeuren. Dat wordt ook een ALS-DAN genoemd:
    • ALS dit gebeurt, DAN moet dat gebeuren;

Als dit opnieuw heel ingewikkeld klinkt, bekijk dan zeker snel de video. Al deze begrippen worden heel praktisch ingezet om een begin te maken met de zoektocht van ons elfje.

Link naar de plattegrond: https://begrepen.be/wp-content/uploads/2020/03/game5.jpeg

6 – Meervoudige keuze

De meervoudige keuze bestaat uit drie onderdelen:

  • een logische voorwaarde (met operators);
  • iets wat moet gebeuren als aan die voorwaarde voldaan is (‘if’);
  • iets wat moet gebeuren als niét aan die voorwaarde voldaan is (‘else’);

Daarna loopt het programma gewoon verder met wat er na de meervoudige keuze geprogrammeerd staat.

Bekijk de video, zet regelmatig op pauze en pas je eigen versie van het spel aan.

Link naar het scherm ‘game over’: https://begrepen.be/wp-content/uploads/2020/04/game-over.jpeg

7 – Een tijdslimiet instellen

In deze oefening bekijken we de for-loop. Dat begrip komt heel vaak terug bij programmeren. Dat wil zeggen dat we een bepaald stuk van het algoritme gaan herhalen (‘loop’), zoals we hierboven al leerden, maar slechts een aantal keer.

Dat geeft ons de optie om bepaalde grenzen te stellen in ons spel: het elfje mag maar een aantal keer iets proberen voordat het spel afgelopen is, bijvoorbeeld. Of het kan gebruikt worden om een tijdslimiet in te stellen.

Bekijk de video om te ontdekken hoe je dat doet. Net zoals vorige keer: zet regelmatig op pauze en pas je game dan verder aan.

8 – Een tweede sprite

Tot nu toe hebben we een spel met maar één mannetje gemaakt. Het wordt natuurlijk net iets spannender wanneer we een tweede mannetje, een tegenstander, kunnen introduceren. Eigenlijk is dat niet eens zo verschillend van wat we tot nu toe gedaan hebben.

Open je game uit de vorige lessen, bekijk de video en vul aan.

Zo, nu ben je helemaal klaar. Tijd om je spel uit te testen. Wie bereikt er als eerste het kasteel? Wie zet de beste tijd neer? Let the games begin…