ameS
G
PROGRAMMEREN EN K R O VO
R E D IN
JON WOODCOCK VOORWOORD CAROL VORDERMAN
Inhoud 8
VOORWOORD C a r o l Vo rd e r m a n
KAASJACHT 50
COMPUTERGAMES
Zo bouw je Kaasjacht Score
30
Hoogste score
90
12 Wat maakt een spel goed? 14 Sfeer 16 Soorten games 18 Hoe werkt programmeren?
AAN DE SLAG
CIRCLE WARS
22 Kennismaken met Scratch 24 Scratch installeren 26 Scratch-tour
74
Zo bouw je Circle Wars Score
Tijd
8
23.5
STAR HUNTER 30
Zo bouw je Star Hunter Score
0
SPRINGENDE AAP 90
Zo bouw je Springende aap L ANCEERHOEK L ANCEER SNELHEID DRUK OP SPATIEBALK OM TE L ANCEREN
Laceersnelheid
11
BROKKEN OP DE BEZEM
TROPICAL TUNES
108
190
Zo bouw je Brokken op de bezem Score
25
Levens
3
Zo bouw je Tropical Tunes Score
0
HONDENHAPJES
EXTRA’S
130
206 208 210 212 214
Zo bouw je Hondenhapjes
WOORDENLIJST EN REGISTER
GLETSJERRACE 166
218 Woordenlijst 220 Register
Zo bouw je Gletsjerrace Ben juwelen: 20
Remixen en meer Scratch beter Een niveau hoger Games maken als je werk Veel plezier!
Aftellen
11
Laura juwelen: 13
Lees meer op: www.dk.com/computercoding (Engelstalig)
Computergames
12
COMPUTERGAMES
Wat maakt een spel goed?
Ik heb het perfecte recept!
Sommige games zijn zo goed dat je ze altijd weer wilt spelen. Game ontwerpers noemen dat speelbaar heid. Als je een heel speelbare game wilt bouwen, moet je goed nadenken over alle ingrediënten waaruit de game is opgebouwd en hoe die bij elkaar passen. ◁ Karakters In de meeste games gebruik je een karakter op je scherm. Dat kan een dier, een prinses, een raceauto of zelfs een simpel ballonnetje zijn. Om het spel gevaarlijk of spannend te maken, worden er in deze games meestal ook vijandige karakters toegevoegd die je moet verslaan of ontvluchten.
△ Mechanismes Dit zijn de ‘werkwoorden’ in een game: acties als rennen, springen, vliegen, objecten grijpen, en toverspreuken of wapens gebruiken. De mechanismes vormen de kern van het spel. Als ze goed zijn ontworpen, dan is het spel ook goed.
◁ Regels △ Objecten In bijna alle games komen objecten voor, van sterren en munten waarmee je extra gezondheid of punten scoort, tot sleutels waarmee je deuren open kunt maken. Niet alle objecten zijn goed: sommige versperren de weg, verminderen je weerstand of stelen je bezittingen. Ze kunnen ook samen werken om raadsels te maken die jij dan moet oplossen.
De regels van een game vertellen je wat je wel en wat je niet mag doen. Voorbeelden: kun je door muren lopen of blokkeren ze de doorgang? Kun je even stoppen om na te denken of is het een race tegen de klok?
WAT M A A K T E E N S P E L G O E D ?
13
◁ Wereld Bedenk in welke wereld een game zich moet afspelen. Is die 2D of 3D? Overziet de speler het spel van boven, vanaf de zijkant of zit hij er middenin? Zitten er muren of grenzen in het spel die de bewegingsvrijheid van de speler beperken of is het open alsof het zich buiten afspeelt?
JOUW SCORE
25.547.010 P U N T E N !!!
△ Doelen In elke game wordt de speler uitgedaagd een bepaald doel te bereiken, zoals een race winnen, een vijand verslaan, de hoogste score behalen of gewoon zo lang mogelijk overleven. Veel games bevatten ook veel kleinere doelen, zoals deuren openen naar een nieuw leven.
◁ Besturingseenheden Met toetsenbord, muis, joystick en bewegingssensor kun je de game goed besturen. Het spel is leuker als de speler het karakter volledig kan besturen. Daarom moet de besturing gemakkelijk zijn en moet de computer er meteen op reageren.
GAMEONTWERP
Speelbaarheid
Om spelers verslaafd te maken, hoeft een game niet ingewikkeld te zijn. Een van de eerste succesvolle spellen was Pong, een eenvoudige tennissimulator. De bal was een wit blokje en de rackets waren witte lijnen die je alleen maar omhoog en omlaag kon bewegen. Hoewel er geen ingewikkelde grafische snufjes in zaten, was het razend populair vanwege de speel baarheid. Je kon net als in echt tennis tegen vrienden spelen. Het was niet te simpel: je moest je volledig concentreren en een vaste hand hebben, waardoor iedereen steeds opnieuw wilde spelen.
△ Moeilijkheidsgraad Een game is niet leuk als hij te eenvoudig of te moeilijk is. Veel games zijn in het begin gemakkelijk, en naarmate de speler bijleert, wordt het spel moeilijker omdat hij het beter beheerst. Een juiste moeilijkheidsgraad is een eerste vereiste voor een geweldig spel.
14
COMPUTERGAMES
Sfeer Net als een film of een boek kan een goede game je meeslepen en je gevoelens beïnvloeden door een bepaalde sfeer te creëren. Hier lees je een paar trucjes die gameontwerpers gebruiken om een bepaalde sfeer mee op te roepen. ◁ Verhalen vertellen Een achtergrondverhaal kan het decor vormen voor een game en betekenis geven aan de handelingen van de speler. Blockbustergames hebben filmachtige plots met wendingen, maar zelfs eenvoudige games kunnen leuker worden door een soort verhaal waardoor de spelers het idee krijgen dat ze op een missie zijn. Als je aan een verhaal denkt, kun je ook een thema verbinden aan het spel.
▷ Geluid Geluiden kunnen sterk van invloed zijn op ons gevoel. Door een andere tune kan het spel opwindend, eng of zelfs dom worden. Een plotseling geluid na een rustige periode kan je de stuipen op het lijf jagen. Moderne games gebruiken realistische geluidseffecten om de speler het gevoel te geven dat hij er middenin zit.
△ Boe! Springt er iets richting de speler? Angst en achterdocht kunnen een spel eng maken en de speler gespannen. Wat bevindt zich om de volgende hoek? Wat zit er achter die deur? Het wachten kan erger zijn dan de angst!
▷ Sneller, sneller! De snelheid van een game bepaalt het gevoel van opwinding bij de speler. Als je zo nu en dan kunt stoppen om na te denken over je volgende stap, blijf je rustig, maar met een tikkende klok en snelle muziek voel je je altijd opgejaagd.
◁ Kleurenschema Je kunt de sfeer in een game eenvoudig veranderen door de kleuren te wijzigen. Helderblauw, geel en groen geven een warm en zonnig gevoel, ijzig blauw en wit geven een winters idee, terwijl donkere kleuren een game eng maken.
SFEER ▽ Graphics De graphics in de eerste games waren eenvoudige geometrische vormen, maar toen computers meer konden, werden de graphics steeds beter. Veel consolegames gebruiken nu fotorealistische 3D-beelden, maar games die zijn gebaseerd op simpele, getekende graphics zijn nog net zo populair als altijd en kunnen een speelse sfeer scheppen.
15
GAMEONTWERP
Virtuele werkelijkheid Door een virtueel realistische manier van kijken kunnen de games van de toekomst veel echter lijken. Bewegingssensoren in de koptelefoon van de speler registreren bijvoorbeeld de bewegingen van de speler en passen de beelden daarop aan. Zo kan de speler zich omdraaien en elke richting op kijken, net als in het echt. Daardoor
heeft de speler het gevoel dat hij zich echt in het spel bevindt en niet gewoon naar een scherm zit te kijken.
Waar ben je? Een van de gemakkelijkste manieren om een sfeer te creëren is door een achter grond toe te voegen aan een game en hem zo te lokaliseren. Wil je dat beeld overtuigend laten overkomen, zorg dan dat de karakters passen in de setting – zet bijvoorbeeld geen raceauto’s in de diepzee of eenhoorns in de ruimte.
◁ Sneeuw en ijs Een sneeuw landschap is een leuke achtergrond voor een race over een bevroren weg.
△ Spookbos
△ Tropisch strand
△ Diepzeeavontuur
Een donker bos is perfect voor geesten, griffioenen en heksen.
Een zonnig strand creëert een feeststemming voor de steeldrums.
Octopussen en zeesterren passen goed in deze onderwaterwereld.
16
COMPUTERGAMES
Soorten games Games zijn er in alle soorten en maten, maar de meeste vallen binnen een categorie, genre geheten. Sommigen zijn dol op platformgames, terwijl anderen liever racegames of strategische games spelen. Wat is jouw favoriete genre? ◁ Traditioneel Als je geen tegenstander kunt vinden, kan een computer je uitdagen: speel eens een kaartspel, schaak of een van de talloze andere populaire bordgames tegen je computer.
△ Roleplayinggame (RPG) In deze avonturengames spelen donjons, draken en kastelen de hoofdrol. De speler kan zelf rondzwerven of een vaste verhaallijn volgen. Met zijn karakter ontwikkelt hij speciale vaardigheden naarmate het spel vordert, zoals dingen grijpen of zwaardvechten. Sommige RPG’s speel je online, dus met andere spelers samen.
▷ Racen Racegames geven je de illusie van snelheid doordat de achtergrond achter het gezichtspunt van de speler langs scrolt. Als je wilt winnen, zul je elk circuit volledig moeten kennen zodat je al op voorhand gevaarlijke manoeuvres kunt uithalen.
△ Zandbak
△ Gevecht
In sommige games moet je een vastgesteld traject volgen, maar bij zandbakgames kun je de gamewereld in je eigen tempo verkennen en daarbinnen verschillende routes volgen.
Je hebt vlugge vingers nodig in een man-tot-mangevecht. Je bent succesvol als je weet wanneer en hoe je de vele aanvals- en verdedigingsbewegingen moet uitvoeren, van slagen en salto’s tot speciale krachten.
SOORTEN GAMES
17
▷ Strategie Beslissingen, beslissingen: wat zijn de beste keuzes als je een dierentuin runt, oorlog voert of een hele samenleving opbouwt? In strategiegames beschikt de speler over goddelijke krachten via meerdere karakters tegelijk. Maar je moet je bezittingen slim beheren, want anders stort je rijk in.
◁ Muziek en dans Bij dansmatgames moet je binnen de tijd en op het ritme met je voeten tikken of over een rij obstakels springen. In muziekgames kun je doen alsof je met een denkbeeldig instrument in een virtuele band speelt. Om een level te voltooien moet je binnen de tijd de juiste tonen raken.
△ Simulator Als je een puppy wilt, maar niet de zorg van het eten geven en ermee wandelen, dan is een virtueel huisdier misschien iets voor jou. Simulatoren proberen alledaagse situaties na te bootsen. Sommige zijn meer dan alleen maar een game: vluchtsimulatoren werken zo precies en realistisch dat professionele piloten ze gebruiken als trainingsmiddel.
△ Sport Speel de game van je keuze met je favoriete team in een levensecht stadion met juichend publiek. In een sportgame doe je mee aan beroemde toernooien, zoals het WK voetbal. Een digitale scheidsrechter zorgt ervoor dat het eerlijk verloopt.
△ Puzzel Sommige mensen zijn dol op hersentraining via puzzels. Er zijn heel wat verschillende soorten, van kleurrijke puzzelgames tot nummerpuzzels en ontsnappingsgames, waarbij je je fantasie moet gebruiken om de juiste weg te vinden.
18
COMPUTERGAMES
Hoe werkt programmeren? Een computer kan niet zelf denken – hij werkt door blind instructies op te volgen. Een moeilijke taak kan hij alleen uitvoeren als die in eenvoudige stappen is opgedeeld die hem precies vertellen wat hij moet doen en in welke volgorde. Als je instructies schrijft in een taal die een computer begrijpt, noemen we dat coderen.
Een game bedenken
De speler laat de papegaai naar links en rechts vliegen met de linker- en rechterpijltjestoets.
Stel dat je een game wilt maken waarin je een papegaai over een rivier laat vliegen terwijl hij appels pakt die stroomafwaarts drijven maar tegelijk een boze leeuw moet ontwijken. Dan moet je voor elk object – de appel, de papegaai en de leeuw – een aparte set instructies geven.
Score
Als je op de spatiebalk drukt, duikt de papegaai, maar als je de leeuw aanraakt, is het spel voorbij.
10
Elke keer als de papegaai een appel pakt, verdient de speler een punt. De appel drijft telkens opnieuw stroomafwaarts en verschijnt weer links als de papegaai hem heeft gepakt.
▽ Appel Je kunt de computer niet simpelweg vertellen dat de appel over de rivier drijft en verdwijnt als de papegaai hem opeet. In plaats daarvan moet je deze ingewikkelde taak opdelen in een set heel eenvoudige stappen, zoals hiernaast beschreven.
De leeuw loopt naar links en rechts en volgt de papegaai.
Spring naar de linkerzijde van het scherm. Herhaal de volgende stappen telkens opnieuw: Beweeg iets naar rechts. Als ik naar de rechterzijde van het scherm ga, dan spring terug naar de linkerzijde. Als ik de papegaai aanraak, dan tel 1 op bij de score van de papegaai spring terug naar de linkerzijde.
HOE WERKT PROGRAMMEREN?
19
▷ Papegaai De papegaai is ingewikkelder dan de appel omdat de speler hem bestuurt en omhoog, omlaag, naar links en naar rechts kan laten bewegen. Maar ook dat kun je laten functioneren door een reeks eenvoudige instructies te schrijven.
Spring naar de rechterbovenzijde van het scherm. Herhaal deze stappen achtereenvolgens: Als de speler op de toets pijltje naar links drukt, dan beweeg iets naar links als ik kan. Als de speler op de toets pijltje naar rechts drukt, dan beweeg iets naar rechts als ik kan. Als de speler op de spatiebalk drukt, dan beweeg helemaal naar onder in het scherm en wacht even, en beweeg helemaal terug naar boven en wacht even. ▷ Leeuw De leeuw is de vijand van de speler. Het spel stopt als de papegaai hem aanraakt. Dit wordt bestuurd via een eenvoudig programma.
Spring naar het midden van het scherm. Herhaal deze stappen achtereenvolgens: Als de papegaai links van mij is, dan beweeg me een beetje naar links. Als de papegaai rechts van mij is, dan beweeg me een beetje naar rechts. Als de papegaai me aanraakt, dan stop de game.
LINGO
Programmeertalen De instructies op deze bladzijde zijn in gewone taal geschreven, maar als je de game op je computer wilt maken, moet je ze vertalen in speciale woorden die de computer kan begrijpen: een programmeertaal. Programma’s schrijven met een programmeertaal heet coderen of programmeren. In dit boek gebruiken we de programmeertaal Scratch, waarmee je perfect leert programmeren en geweldige games kunt maken.
Aan de slag
22
AAN DE SLAG
Kennismaken met Scratch Alle games in dit boek zijn gemaakt met de programmeer taal Scratch. Scratch is eenvoudig te leren omdat je geen moeilijke coderingen hoeft in te typen. In plaats daarvan bouw je programma’s met kant-en-klare blokken.
De karakters en andere objecten in Scratch-games noemen we sprites.
Beginnen vanuit Scratch Als je een project in Scratch begint, kies je meestal eerst welke objecten, of sprites, er in de game moeten voorkomen. In de Scratch-bibliotheek vind je heel veel kant-en-klare sprites. Sprites Sprites zijn de bewegende en reagerende dingen in de game. Ze kunnen van alles zijn, van dieren en mensen tot pizza’s en ruimteschepen. Op je scherm kun je elke sprite tot leven brengen via een lijst instructies die we de codering noemen. De kat-sprite verschijnt als je met een nieuw Scratch-project begint.
Coderingen Coderingen (soms ook scripts genoemd) bestaan uit blokken die je met je muis kunt slepen en als puzzelstukjes kunt samen voegen. In elk blok staat een instructie, daardoor is het gemakkelijk te begrijpen. wanneer spatiebalk ▾ is ingedrukt neem 20 stappen zeg Hallo!
Samenwerken Games zijn meestal opgebouwd uit enkele samenwerkende sprites, die afzonderlijk worden bestuurd door hun eigen codering. Coderingen laten sprites bewegen, tegen elkaar botsen, geluiden maken en van kleur of vorm veranderen. Sommige sprites doen alsof ze vijanden zijn om het spel moeilijker te maken.
Hallo!
HELP!
TIPS VAN EXPERTS
Experimenteren
Scratch is vooral experimenteren. Heb je eenmaal een game gebouwd, dan kun je er gemakkelijk iets aan toevoegen of veranderen door aan de codering te sleutelen. Je kunt de gevolgen meteen zien.
K E N N I S M A K E N M E T S C R AT C H
23
Een typisch Scratch-project Als je eenmaal een codering hebt gebouwd, kun je zien hoe het werkt door op de groene vlag te klikken. De actie wordt weergegeven in een deel van het Scratch-venster dat ‘speelveld’ wordt genoemd. Daarin bewegen de sprites door elkaar, vaak tegen een achtergrond die sfeer geeft. ▷ Een programma starten
Hiermee start je het programma.
Een programma laten beginnen of starten activeert de coderings blokken die je hebt gebouwd. Als je op het blauwe symbool rechtsboven in je scherm klikt, zal het speelveld over je hele scherm verschijnen. Achtergrondafbeelding
De vijandige dinosprite jaagt op de kat-sprite van de speler.
Er kunnen ineens verschillende sprites op het speelveld zijn.
▽ Sprites laten bewegen In een typische game laat de speler een sprite zelf bewegen en zijn de andere sprites geprogrammeerd om automatisch te bewegen. De codering hieronder laat de dinosaurus op de kat jagen. wanneer op
wordt geklikt
herhaal Het ‘herhaal’blok laat de sprite eindeloos bewegen.
richt naar Kat ▾ neem 15
stappen
Hiermee stop je het programma.
Klik hier om het programma op volledig scherm weer te geven.
24
AAN DE SLAG
Scratch installeren
LINGO
Waarom ‘Scratch’?
Om de projecten in dit boek te kunnen uitvoeren moet je Scratch eerst op je desktop of laptop installeren. Hieronder beschrijven we de twee manieren waarop je Scratch kunt installeren (online en offline).
Scratch online Als je een betrouwbare internetverbinding hebt, kun je Scratch online installeren in een browserscherm zonder iets te hoeven downloaden. Wel moet je een Scratchaccount aanmaken.
1
Word Scratcher
Ga voor de onlineversie naar de website van Scratch, scratch.mit.edu, en klik op ‘Word Scratcher’. Je moet nu een account aanmaken. Je games blijven privé totdat je op ‘Delen’ klikt. Hiermee publiceer je ze op de website.
2
Scratch is genoemd naar ‘scratchen’, een door rappers en dj’s gebruikte techniek om muziek op een draaitafel te mixen. Met de Scratchprogrammeertaal kun je projecten van andere mensen kopiëren en remixen om je eigen unieke versies te maken.
Meld je aan
Als je eenmaal Scratcher bent geworden, klik je op ‘Inloggen’ en voer je je gebruikersnaam en wachtwoord in. Klik nu boven in het scherm op ‘Bestand’ om een nieuw project te beginnen. Via de onlineversie van Scratch kun je je projecten op elke computer bereiken.
Scratch offline Je kunt het Scratch-programma ook downloaden, zodat je het offline kunt gebruiken. Dat is vooral handig als je niet kunt vertrouwen op je internetverbinding.
1
Scratch installeren
Ga voor de offlineversie van Scratch naar scratch.mit.edu/ download. Volg de instructies precies op om de installatiebestanden te downloaden en dubbelklik er vervolgens op. Na de installatie verschijnt er een Scratchicoon op je scherm.
2
Scratch opstarten
Dubbelklik op het icoon op je scherm en Scratch zal opstarten. Je bent nu klaar om te beginnen met programmeren. Je hoeft geen gebruikersaccount aan te maken als je de offlineversie van Scratch gebruikt.
25
S C R AT C H I N S TA L L E R E N
△ Hardware Je kunt Scratch gebruiken op een desktop of laptop, maar het is gemakkelijker als je een muis gebruikt in plaats van een touchpad. Scratch 3.0 werkt ook op een tablet.
△ Besturingssysteem De onlineversie van Scratch werkt goed op Windows-, Ubuntu- en Mac-computers, maar niet op tablets. De offlineversie van Scratch werkt goed op Windows- en Mac-computers. Werkt je computer met Ubuntu, gebruik dan liever de onlineversie.
◁ Opslaan Gebruik je Scratch offline, vergeet je werk dan niet regelmatig op te slaan. Bij de onlineversie gebeurt dat automatisch.
Oude en nieuwe versies In dit boek gebruiken we versie 3.0 van Scratch. De projecten in dit boek werken niet met andere versies van Scratch, dus gebruik 3.0.
▽ Versie 2.0 In oudere versies van Scratch, bijvoorbeeld 2.0, zit het speelveld links en het coderingsveld rechts. SCRATCH
?
Bestand ▾ Bewerken ▾ Tips
Scripts
Untitled
Uiterlijken
Geluiden
Van abcd (unshared)
Beweging
Gebeurtenissen
Uiterlijken
Besturen
Geluid
Waarnemen
Pen
Functies
Data
Meerblokken
x: -126 y: 96
wanneer
op
wordt geklikt
herhaal
neem 10 stappen
ga naar muisaanwijzer ▾ draai
15
graden
draai
15
graden
neem 10 stappen
richt naar 90 ▾ richt naar ▾
SCRATCH Sprites
1 achtergrond
Lessen
Uiterlijken
Code
Beweging
Speelveld
▾ Bestand Bewerk
Untitled
Delen
L A NCEER HOEK L A NCEER SNELHEID DRUK OP SPATIEBALK OM TE VUREN
Beweging neem 10 stappen
Cat
Uiterlijken
Nieuwe achtergrond
draai
15 graden
draai
15 graden
wanneer op
Geluid
Gebeurtenissen
Besturen
▷ Versie 3 Deze versie van Scratch werd uitgebracht in 2019. Nieuwe elementen in 3.0 zijn onder meer de ‘Uitbreidingen’ (linksonder op je scherm), waar je nieuwe coderings blokken, nieuwe en verbeterde sprites en een betere geluidseditor vindt.
Waarnemen
scratch-cat
Bekijk de projectpagina
Geluiden Lanceersnelheid
30
wordt geklikt
herhaal ga naar muisaanwijzer
ga naar willekeurige positie
neem 10 stappen
ga naar x: 0 y: 0 schuif in 1 sec. to willekeurige positie schuif in 1 sec. naar x:
0
y:
wanneer spatiebalk
0
is ingedrukt
start geluid Boing
Functies
ga naar lanceerder
Variabelen
richt naar 90
graden
richt naar muisaanwijzer
Sprite
Mijn blokken
x
Bananas1
Toon
Grootte
100
y
0 Richting
0
Speelveld
90 Achtergronden
1 Monkey
Rugzak
Arrow
Bananas1
Bananas2