Het grootste spel van dit moment, in zowel Amerika als Europa, is Roblox. (En aangezien het al jarenlang op mijn voorpagina staat als ik de Play Store open, is het al langer extreem populair.)
Dit is een programma waarin mensen gratis zelf een computerspel kunnen maken en die gratis online kunnen zetten. Het wordt voornamelijk zowel gespeeld als gebruikt door kinderen en jongeren, soms zelfs zo jong dat ze nog een paar jaar op de basisschool moeten zitten.
Er bestaan natuurlijk vele programma’s om spellen te maken, dus wat is hier zo bijzonder aan?
- Jouw gemaakte spellen komen in hun online store. Voor iedereen die jouw spel koopt/speelt, verdien jij geld.
- Het hosten van spellen is gratis, wat betekent dat je gratis en relatief simpel een “online multiplayer” spel kunt maken. (Iets dat in alle andere gevallen veel geld kost, aangezien je een eigen server moet beheren.)
- Het gebruikt een relatief simpele programmeertaal en interface, met directe feedback en plaatjes om te gebruiken, wat het makkelijk maakt om in de game development wereld te stappen.
Oftewel, het maakt het makkelijk voor beginners om te leren spellen maken, terwijl het gratis en voor niets online functionaliteit toevoegt, en je kunt er ook nog aan verdienen!
Dat wekt natuurlijk mijn interesse. Elke tool die het makkelijk maakt voor kinderen om te beginnen met programmeren (en spellen ontwikkelen) is er eentje die welkom is. Dus ik heb het eens geprobeerd, ik heb onderzoek gedaan naar allerlei praktijken, en heb mijn oordeel gevormd: het is een geweldige manier om niks te bereiken.
Dat onderzoek was niet zo diepgaand als het nu lijkt, hoor. Ik heb er gewoon een paar dagen een uurtje aan besteed en vertrouwt op diepgaand onderzoek van anderen. Maar dat vond ik genoeg om een mening te vormen, gezien mijn decennium aan ervaring met (spellen) programmeren.
Inhoudsopgave
Het leert programmeren, toch?
Er is één belangrijk onderscheid in “leren” dat ik vaak maak: is dit deep learning of superficial learning?
En Roblox is overduidelijk oppervlakkig.
Bij “deep learning” ontvang je kennis die je breed kunt toepassen. Je ontwikkelt intuïtie, basisvaardigheden, algemene ervaring, een diepere kennis van wat je doet. Misschien heb je leren programmeren in programma A, maar je kan diezelfde vaardigheden makkelijk overbrengen naar programma B.
Bij “superficial learning” doe je dat allemaal niet. Je leert vooral welk knopje je moet indrukken om iets te laten gebeuren. Welke paar woorden je moet typen, in welke situatie, om Roblox te laten doen wat je wilt. Welke rare fouten verschijnen als je iets wilt doen, of welke restricties er zitten op die servers van Roblox.
Het belangrijke is dus dat deze oppervlakkige kennis meestal niet toepasbaar is buiten de situatie waarin je het leerde. Je leert niet “programmeren” in het algemeen, je leert “programmeren in Roblox”. Je leert niet “logisch problemen oplossen”, je leert “hoe achterhaal ik welke knopjes ik moet indrukken om Roblox dit probleem te laten oplossen”?
Het is onmogelijk om al je harde werk uit Roblox te halen, zodat je ergens anders verder kunt werken. Veel dingen die je leert zullen niet werken in een andere omgeving, of misschien zelfs een hele onhandig of inefficiënte manier zijn als je serieus wordt over programmeren.
Oftewel, in het beste geval is Roblox een “kennismaker”. Voor iemand die nooit spellen heeft gemaakt, is Roblox een prima manier om voor het eerst enthousiast te worden en een idee te krijgen wat het inhoudt.
Maar als je er meer tijd in steekt, als je écht iets wilt leren, ben je hier op de verkeerde plek.
Vergelijk het met het volgende. Ik ken veel mensen die boeken aanschaffen, of cursussen volgen, over hoe je Photoshop moet gebruiken. Deze cursussen leren je echt wel iets! Het is niet “zinloos”. Maar wat je leert, is vooral hoe het programma Photoshop werkt. Je wordt niet beter in fotograferen, visueel ontwerp, editing, kleurcorrectie, artistiek verantwoorde keuzes maken, etcetera. Je leert waar elk knopje zit en wat ze doen.
Deze kennis is superhandig voor een professional die deze diepe kennis al heeft en gewoon sneller wil werken met Photoshop … maar zinloos voor de persoon die nog aan het begin staat.
Het stimuleert creativiteit, toch?
Ja en nee.
Wederom is het geweldig dat er een gratis programma is, dat zo simpel en toegankelijk is dat kinderen het volop kunnen (en willen) gebruiken. Voor zover ik kan zien worden er soms geweldige dingen gemaakt met dit programma. (Zoals altijd: 99% is rotzooi, maar als 1% geniaal en slim en creatief is, hebben we het nog steeds over duizenden goede spellen.)
Maar omdat je vast zit aan het programma (en de bijbehorende standaardplaatjes), én het feit dat het online multiplayer moet zijn, wordt je automatisch in een vorm gegoten. Er zijn hele soorten spellen, hele genres, die niet (of nauwelijks) gemaakt kunnen worden in dit systeem.
En zelfs als je ze maakt, wordt het gegarandeerd een grote flop. Aangezien het systeem nu al zo lang bestaat, en zo groot is, zijn er enkele ontwikkelaars “de grootste” en enkele spellen “de grootste”.
Er is geen enkele manier om nieuwe spellen te ontdekken. Er is geen lijst met “nieuwe releases”, geen willekeurige “shuffle”-lijst om nieuwe dingen te ontdekken. Het soort spel dat werkt gaat steeds beter werken, en alle andere spellen gaan roemloos ten onder.
Het logische gevolg? Iedereen stopt met risico’s nemen en iedereen probeert de meest populaire spellen na te maken. Het tegenovergestelde van creativiteit en expressie, dus.
Het geeft kinderen motivatie om hard te werken voor hun droom, toch?
De belofte van geld, roem, succes, en al die mooie dingen is altijd al een grote motivator geweest. De reden waarom mensen hard werken en grote dingen bereiken … of waarom ze zich kapotwerken en leeg achterblijven.
De laatste tijd heb ik op dit blog veel geschreven over onderwijs. (Ik heb er zelfs een heel boek over gemaakt: Het Boek Tegen School)
Eén terugkerend element is dat studies bewijzen dat extrinsieke motivatie (ofwel beloningen van buitenaf) een hele slechte invloed is op iemands leerproces én iemands geluk. Ja, het zorgt dat mensen dingen gaan doen zodat ze de beloning krijgen. Maar, zodra de beloning wegvalt, of uitblijft, stoppen ze meteen.
Nog erger, iets waar mensen intrinsieke motivatie voor hadden ( = ze wilden het uit zichzelf al doen, zonder dat iemand hen dwong) … verdwijnt als je die beloningen toevoegt.
Oftewel, een kind droomt van spellen maken (of wil leren programmeren). Niemand hoeft hem of haar te dwingen, er is geen toets aan het einde, het kind wil dat uit zichzelf.
En dan voeg je een beloning toe. De belofte van geld of “viraal” gaan. Wat gebeurt er? Het kind verliest deze innerlijke motivatie. Het werkt alleen nog om die beloning te krijgen. Je hebt letterlijk diens droom en motivatie vernield.
Ik stel juist voor het tegenovergestelde te doen. Als een kind iets wil, spoor diegene aan om ermee bezig te zijn. Om er aan te werken, om te experimenteren, om te proberen. Om gewoon lekker tegen een systeem aan te schoppen en te doen waar ze zin in hebben.
Maar plak er géén beloning aan vast. En het moment dat iemand anders dat probeert te doen, of een website (zoals Roblox) opplopt met zulke beloftes, sta het niet toe! Het is het ergste dat je kunt doen, misschien niet op de korte termijn, maar zéker op de lange termijn.
Maar als dit niet genoeg is om je te overtuigen, speel ik nog een laatste kaart …
Je kunt daadwerkelijk goed verdienen (of bekend worden), toch?
Ja, kan is het juiste woord. Net zoals je de loterij kunt winnen.
Ik wil niet al te technisch worden, dus hieronder zal ik een YouTube video linken (van People Make Games, zeker een aanrader) die dit helemaal uit de doeken doet. (Met mooie plaatjes, animaties, interviews, en dat soort dingen.) Niet geheel verrassend, was het verschijnen van deze video de laatste druppel die mij motiveerde Roblox eens nader te bekijken.
Maar het komt neer op het volgende:
- Roblox neemt een gigantisch deel van je inkomsten.
- Je wordt uitbetaald in “Robux”, wat het equivalent is van je salaris krijgen in de vorm van cadeaubonnen voor de winkel waar je werkt.
- Gezien het gigantische catalog van spellen, en het feit dat alleen de allerbeste bovenaan staan, is er 0,0001% kans dat je spel daadwerkelijk door iemand wordt gevonden of gespeeld.
- Je kunt je Robux pas omzetten in écht geld als je er een gigantisch aantal hebt verdiend. En zelfs dan is Roblox zo slim om de waarde te verlagen bij het uitnemen, zodat het verleidelijk is om het nooit te doen.
Oftewel: nee, je verdient niets, je wordt niet bekend, en dat heeft zelfs niks te maken met de kwaliteit van je werk of geluk.
Het wordt zelfs nog erger. Zoals elk online platform, is het doel van Roblox vooral om mensen zo lang mogelijk op het platform te houden.
(Net zoals YouTube vooral wil dat je blijft klikken op video’s en nooit weggaat. Veel websites hebben zo’n melding van “met deze link verlaat je deze website, weet je het zeker!?” Het lijkt alsof ze geven om jouw veiligheid, maar dat doen ze alleen om je te laten twijfelen en nog langer op de site te houden.)
Dus hoe meer tijd mensen in spellen steken, hoe meer de spellen (en de ontwikkelaars) daarvoor worden beloond. Oftewel, verslaving wordt beloond.
En we zien wat er dan gebeurt. Verslaving wordt al jarenlang beloond op de App Store. Want ja, als je wil dat mensen geld betalen voor het spel, of zoveel mogelijk advertenties kijken, moet je ze zo lang mogelijk aan het scherm gekluisterd houden! En zo zijn we in de wereld gekomen waarin bijna alle spellen in die store slecht, manipulatief, onorigineel, en zeker niet creatief zijn.
Om succesvol te zijn met Roblox, moet je juist alles onderdrukken wat iemand een goede programmeur en een goede game designer maakt.
Maar wat dan?
Programmeren (en spellen ontwikkelen) is voor 95% simpelweg afwisselend logisch en creatief denken. Logisch denken is nodig om de computer te vertellen wat hij moet doen. Creatief denken is nodig om unieke, leuke, sterke oplossingen te vinden voor dingen die het spel dwars zitten.
Om dit te leren, kun je dus beter:
- Goede puzzelspellen spelen
- Daadwerkelijk problemen proberen op te lossen. (Er zijn online websites vol problemen waar je een algoritme voor moet bedenken. Maar als je simpelweg spellen gaat maken, kom je vanzelf duizenden problemen tegen en oefen je dit automatisch.)
- Weggaan bij de computer, een tijdje afstand nemen, een leven leiden, inspiratie halen uit andere dingen.
Ik meen het. Ik denk dat het cruciaal is dat we elke volgende generatie leren programmeren, maar dat het een grote fout is om ze maar achter een computer te zetten of letterlijk “programmeertaal” te leren. Het is namelijk maar een piepklein beetje van het geheel. Het is één gereedschap, en je hebt de hele kist nodig.
Dus als we echt kinderen een ingang willen geven in deze wereld, hoeven we ze slechts uit te dagen. Schuif ze puzzels voor. Leg ze problemen voor en vraag of ze die (ofwel logisch, ofwel creatief) kunnen oplossen. Laat ze allerlei eigen projecten maken, dan kom je dus vanzelf die problemen tegen.
Pas als ze dat een beetje onder de knie hebben, kan je zeggen: kijk, dit is een programma om spellen te maken, en met deze stukjes code kan je dat doen!
En als het zover is, zijn er vele betere alternatieven dan Roblox. Waarbij je dingen maakt die je wél kunt exporteren naar andere plekken (en dus bijvoorbeeld op een echte online spellenwinkel kan verkopen). Waarmee je diepe kennis opdoet. Die veel makkelijker zijn, maar ook veel krachtiger.
Mijn aanbevelingen
Hieronder staan enkele lijsten met leuke, simpele bordspellen die je leren logisch nadenken en problemen oplossen:
- https://www.kidscodecs.com/board-games-2015/
- https://www.fatherly.com/gear/6-analog-board-games-that-will-teach-your-kid-digital-coding-skills/
- https://momsequation.com/best-coding-board-games-for-kids/
Vooral van de bovenste (Robot Turtles) was ik onder de indruk toen ik het probeerde, wat ook verklaard waarom het op bijna elke lijst staat.
Een “volwassen” alternatief is RoboRally, waarbij je met kaarten vantevoren je robots moet programmeren (links, rechts, vooruit, twee vooruit, etc.), en er dan achterkomt dat je vaardigheid “ruimtelijk denken” nogal onderontwikkeld is :p De oude versie daarvan heb ik erg veel gespeeld (en van genoten), ondanks dat ik mijn eigen robot steeds hoogst persoonlijk in de afvalbak gooide, en omdat het me wél de basics van programmeren leerde.
Maar merk op dat deze paar links gewoon de bovenste resultaten zijn als je erop zoekt en dat je niet eens een “coding game” hoeft te gebruiken.
Elk spel is een probleem oplossen (beter dan je tegenstanders), waarbij zowel logisch als creatief denken nuttig is. Dus elk spel dat een beetje strakke regels heeft, en dus niet heel veel willekeur heeft met bijv. dobbelstenen, voldoet.
Ik heb zelf vele programma’s gebruikt voor het concrete programmeren. (Iets waarmee ik dus ben opgehouden, want met elk nieuw programma moest ik weer die oppervlakkige kennis leren — zoals waar knopjes zaten — en dat hielp me niets!)
Uiteindelijk ben ik uitgekomen op Godot Engine.
- Het is gratis en zal dat altijd blijven. Het neemt niets van je opbrengsten. (Maar als je wilt, kan je spellen die je ermee maakt prima verkopen, of advertenties geven.)
- Het is een superklein programma, dus werkt zelfs op de slechtste apparaten.
- De programmeertaal is ontworpen om zo intuïtief mogelijk te zijn en zoveel mogelijk op Engels te lijken … maar het is wel gewoon een volledige programmeertaal. (Ik heb er hele zware spellen in gemaakt en er worden steeds meer professionele spellen mee uitgebracht.)
- Er zijn allerlei geweldige video tutorials op YouTube, al jarenlang.
Maar je hoeft mij niet te geloven! Dit zijn andere programma’s die door iedereen worden beschreven als de meest simpele/beginner-friendly, maar ook zijn gebruikt voor duizenden commerciële (succesvolle) spellen:
- GameMaker: Studio
- Stencyl
- Construct 2
Die laatste twee gebruiken geen programmeertaal, maar een simpel systeem waarbij je blokjes aan elkaar zet, of componenten met elkaar verbindt: “Als X gebeurt, doe Y” of “Als BAL de GOAL raakt, doe SCORE + 1”
Wederom ben ik niet de grootste fan, omdat je vooral de specifieke blokjes van dit programma leert, in plaats van diepe kennis. Maar het is al stukken beter dan andere alternatieven, omdat het algemeen logisch leert denken en in de buurt komt van hoe professionele spellen worden gemaakt.
Hopelijk is wél duidelijk dat je niet (veel) hoeft te betalen, noch constant achter een beeldscherm moet zitten/offline zijn, om te leren programmeren en games ontwerpen. Het belangrijkste deel is problemen leren oplossen. Het programma, de code, de website waarop je het uitbrengt — bijzaken. Zolang je maar niet dingen kiest die je vastleggen en inbouwen, zoals Roblox.
Conclusie
Roblox: een geweldige manier om niks te bereiken.
Velen prijzen het bestaan ervan. Ze zeggen dat het “zó simpel is om te gebruiken!” Ontwikkelaars zeggen dat ze “wilden dat het bestond toen ik leerde programmeren!”
En ik snap het niet. Want er zijn veel betere manieren om te leren, betere programma’s om te gebruiken, en Roblox zelf is ontworpen om je zoveel mogelijk te misbruiken en in één (niet bepaald positieve) vorm te gieten.
Eigenlijk is het enige voordeel dat je gratis online multiplayer spellen kan maken. Dat scheelt echt veel. Maar ja, je kunt wel verwachten hoe dat afloopt als alles gratis is: vele klachten over extreem langzame servers, crashes, en spellen die ineens weg zijn of offline gaan. Dan heb je toch liever een eigen stabiele server die je helemaal beheert, zelfs al kost het wat geld.
Tot zover mijn analyse van Roblox, voor wat het waard is.
Hieronder een video die waarschijnlijk alles veel beter uitlegt :p
Er zijn (nog) geen reacties.