Gamestudio: leer programmeren met Nintendo

Ik wou dat ik dertig jaar geleden een programma als Gamestudio had. In een heel ver verleden was ik namelijk ook bezig met programmeren. Ik had een veel oudere vriend Roy en hij deed veel met computers. Toen ik een jaar of tien oud was, kreeg ik van Roy een boek met de titel Turbo Pascal. Dit was geen roman of een snelle voetballer of tennisser zoals leeftijdsgenootjes lazen, maar een cursus programmeren in de taal Pascal. Ik leerde dankzij dit boek de tofste dingen maken. Van een simpel spel als Pong tot handige oefenprogramma’s voor mijn keersommen. Helaas was in die tijd een game of programma maken niet heel erg hip en ben ik uiteindelijk met de hobby gestopt. Zonde!

Andere tijden met Gamestudio

Tijden veranderen en tegenwoordig is games maken enorm hip en een stuk gemakkelijker! Nu hoef je geen ellenlange teksten met codes te schrijven, maar kun je zogenoemd objectgeoriënteerd programmeren via een gebruikersinterface. Hierbij komt geen ingewikkelde programmeertaal aan te pas, maar hoef je slechts de logica van programmeren te begrijpen. Nintendo doet dat met Gamestudio op een gemakkelijke en laagdrempelige manier. Spelenderwijs leer je belangrijke elementen om de basisprincipes van het objectgeoriënteerd programmeren te begrijpen.

Bij Object

Michael en ik hebben flink wat tijd in Gamestudio gestoken en hoewel we nog lang niet zover zijn dat we een hele game kunnen ontwerpen—dat kost immers veel tijd—is Michael enthousiast en zie ik zijn kennis steeds verder toenemen. Ik heb onlangs zelfs Unreal Engine op zijn pc geïnstalleerd, en al snel maakte Michael koppelingen met de informatie die hij uit Gamestudio had vergaard. Zo wist hij bijvoorbeeld al hoe x- en y-coördinaten werken door Gamestudio. Maar genoeg over onze ervaring, laten we wat dieper op de software ingaan en jullie laten zien wat je met Gamestudio precies kunt doen.

Gamestudio

In Gamestudio voor de Nintendo Switch kunnen kinderen en hun ouders games maken en hun creaties delen met anderen online. Het programmeren wordt gedaan door verbindingen te maken tussen kleurrijke wezens die in het spel Knopixen worden genoemd. Elke Knoppix heeft een eigen functie. Zo kun je een Spelersfiguurknoppix koppelen aan een Stick-bewegingsknoppix. Daarmee laat je het spelersfiguur bewegen. De Knoppixen zijn verdeeld onder invoer-, tussen-, uitvoer- en objectknoppixen.

Voordat je goed aan de slag kunt met je eigen game, staat er ongeveer 10 uur aan lesmateriaal voor je klaar. In deze lessen maak je kennis met alle Knopixen die Gamestudio te bieden heeft. Tijdens deze lessen ga je stap voor stap zelf spellen maken met Gamestudio. Zo begin je met een spel Tikkertje en maak je uiteindelijk een racegame en 3D-wereld. Voor elke les wordt zo’n 60 tot 90 minuten gerekend, maar vaak ben je er iets langer mee bezig. Heb je een les afgerond, dan staat er eerst een toets voor je klaar voordat je door kunt gaan naar de volgende les.

Voor de lessen wordt de nodige concentratie gevraagd. Het is zeker niet gemakkelijk, maar het wordt op een dusdanig vrolijke en laagdrempelige manier uitgelegd dat het toch leuk blijft om te volgen. Na zo’n vier lessen begon ik zelf ook ideeën en oplossingen te bedenken en begon ik het programmeren in Gamestudio echt te begrijpen.

Vrij programmeren

De vrijheid in Gamestudio is enorm en ik verwacht dat er bijzonder veel toffe games mee gemaakt gaan worden. De beperkingen van Gamestudio zitten niet in het programma zelf, maar in de hardware van de Nintendo Switch. Je kunt bijvoorbeeld maximaal 66 games opslaan en hebt een limiet van 2GB aan opslagruimte. Ook kunnen er maximaal 512 Knopixen en 1024 verbindingen worden gemaakt in een spel. Dat lijkt veel, maar voor een simpele stap ben je al gauw vijf tot vijftien Knopixen kwijt. Toch blijft er veel mogelijk met Gamestudio.

Bij het vrij programmeren kun je pas echt los, maar let wel op er kunnen maximaal 512 Knopixen en 1024 verbindingen worden gebruikt in een spel.
Bij het vrij programmeren kun je pas echt los, maar let wel op dat er maximaal 512 Knopixen en 1024 verbindingen kunnen worden gebruikt.

Eigen texturen

In Gamestudio kun je ook eigen poppetjes en elementen tekenen via de optie Eigen texturen. Met een eenvoudig tekenprogramma kun je bijvoorbeeld een platformpoppetje, auto of schatkist maken. Wie handig is, kan zelfs hele levels ontwerpen. Ik zag al een level van de originele *Donkey Kong* en een nagebouwd circuit uit Mario Kart waar je kunt racen.

Gamestudio is Game Builder Garage in Amerika

Hoewel Gamestudio een krachtige tool is, missen er enkele belangrijke functies. Zo kun je je gemaakte levels online delen, maar alleen via Game-ID’s die je met vrienden moet delen. Als je game drie maanden niet wordt gedownload, verwijdert Nintendo deze van hun server. Ook kun je texturen niet delen tussen spellen, waardoor je alles opnieuw moet tekenen. Gelukkig zijn er oplossingen, zoals het Reddit-kanaal voor Game Builder Garage (de Amerikaanse titel). Hier kun je vragen stellen en Game-ID’s van anderen vinden. Ik heb hier al prachtige games gezien.

Op Reddit kun je code's van andere spelers vinden zoals deze Mario Kart-game.
Op Reddit kun je Game-ID’s van andere spelers vinden, zoals deze Mario Kart-game.

Conclusie

Het kostte mij wat tijd om Gamestudio onder de knie te krijgen, maar het gaf me meer inzicht in objectgeoriënteerd programmeren dan eerdere cursussen in Unity. Gamestudio is meer dan een Nintendo-game; het is een krachtige tool met veel potentie. Michael heeft alle cursussen afgerond en werkt nu aan zijn eigen spel.

Er zijn nog verbeterpunten. Zo zou een centrale plek om games en texturen te delen een enorme meerwaarde zijn. Hierdoor krijgt Gamestudio niet de volle vijf sterren, maar het blijft een geweldige tool met veel potentie. Ik hoop dat Nintendo de software blijft verbeteren.

Wie interesse heeft in programmeren en dit op een laagdrempelige manier wil leren, kan Gamestudio zeker overwegen. Het programma heeft bewezen een waardige concurrent te zijn voor andere tools zoals Scratch.

https://youtu.be/hSqo4bievCU

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *