Game ontwikkeling voor kinderen

Onlangs vroeg mijn vier jaar oude zoon me: "Papa, kunnen we samen een wedstrijd maken? Kan het een potenspel zijn? "

Ik ben een gamedev-vader. Ik heb in mijn eentje 35 games gemaakt: meestal weinig freeware game-jamitems, maar ook veel klantprojecten. Het antwoord was natuurlijk ja, omdat elke ouder dol is op het delen van hun passie in het leven met hun familie.

Ik leer hem concepten van ontwerp en codering, maar het is een zeer collaboratief proces waarbij hij iets in krijt tekent en ik verander het in een 3D-spel terwijl hij op mijn schoot zit.

Het project blijft een enorm succes. Ik wil graag mijn ervaringen delen in de hoop dat ook jij kunt genieten van het maken van een spel met iemand die jong is in je leven.

Waarom Games, specifiek?

De voordelen van vroege blootstelling aan STEM (wetenschap, technologie, engineering en wiskunde) zijn de afgelopen jaren goed ingeburgerd geraakt. Geen enkele ouder hoeft te overtuigen dat deze kennis belangrijk is, niet alleen voor toekomstige banen, maar omdat technologie ons omringt. Begrijpen hoe de wereld om ons heen werkt, is waar het bij het opgroeien om draait, en het onderwijzen van onze kinderen over de wereld is een primaire doelstelling van ouderschap.

Helaas vinden velen het een te moeilijke taak om op jonge leeftijd met hun kinderen algebra te leren en zich af te vragen hoe jongere kinderen (die wiskunde nog niet begrijpen of weten hoe te lezen) mogelijk begrijpen hoe een spel wordt gemaakt. Gelukkig wordt het motiveren van kinderen om te leren hoe games worden gemaakt, aanzienlijk vereenvoudigd door één belangrijk feit.

Zij zijn cool

"Hier was iets dat een stel rumoerige, gekke miniproducten kon veranderen in enthousiaste creatieven en makers, echt enthousiast om te leren." - Gabriel Williams, ProCore3D

Kinderen vinden het leuk om te spelen en willen graag bouwen. Er is een enorme voldoening in het creëren van iets. Het is empowerment; het geeft hen een gevoel van voldoening en eigenwaarde; het is iets dat ze hun eigen kunnen noemen.

Vergeet niet dat het maken van een game iets is waar kinderen zich op kunnen beroemen aan hun leeftijdsgenoten: gamedev is officieel cool. Dit is iets waar docenten van kunnen en moeten profiteren.

Kinderen zijn slimmer dan we denken

Overweeg een typisch wereldbeeld voor vierjarigen. Ze begrijpen misschien niet de principes van de natuurkunde, maar ze weten wel dat voorwerpen op de grond vallen als ze vallen, ze weten dat ballen tegen muren botsen en ze weten dat auto's met de hulp van wielen versnellen.

Er is volop ruimte om te experimenteren binnen deze simplistische parameters; u hoeft niet te weten hoe u een puntproduct berekent om botsingsrespons en restitutie te verklaren, en kinderen weten dat sommige dingen gladder zijn dan andere. Wrijving en slepen en andere concepten met betrekking tot de Newtoniaanse fysica met starre lichaam zijn het perfecte onderwerp voor nieuwsgierige jonge geesten.

Kids Love Physics

Klinkt gek? Welnu, welk kind krijgt geen kick van het slaan van een toren van blokken, of het sturen van een trein van een klif, of het gooien van sneeuwballen? In gametermen is het gemakkelijk om je een jonger kind voor te stellen dat op zoek is naar game-mechanismen geïnspireerd door Angry Birds (een ballistische simulatie).

Door natuurkunde kunnen jongeren dingen doen die ze niet kunnen in de echte wereld. Ze kunnen auto's kapot slaan of gebouwen rondduwen. Ze kunnen rondspringen en algemene chaos veroorzaken. Deze directe feedback in een fysica-simulatie is de reden waarom ik warm aanbevelen om een ​​spel met real-time natuurkunde te maken.

Met een physics-simulatie geïmplementeerd in de basiscode van je spel, kunnen kinderen naar hartenlust experimenteren met oorzaak en gevolg door kubussen, bollen en prefabs te verruimen en eenvoudig rond te gooien en van kliffen te duwen met een eenvoudige personagecontroller.

Voordelen voor volwassenen

"Voor mijn dochter ging het om het krijgen van een een-op-een tijd met een anders erg drukke en gepreoccupeerde vader. Het had eigenlijk elke activiteit kunnen zijn. De focus lag op saamhorigheid. "- Ryan Henson Creighton, Untold Entertainment

Door samen een creatief project te ondernemen, help je jezelf ook. Het is duidelijk dat mentors er baat bij hebben, van persoonlijke interacties die leiden tot een diepere band, tot het simpele feit dat het lesgeven vaak helpt om het beter te leren.

"Er is geen betere manier om je opnieuw gestimuleerd of geïnspireerd te voelen dan door kinderen, puur omdat hun verbeeldingskracht geen beperkingen of grenzen kent." - Stacey Mulcahy YoungGameMakers

Werken met kinderen verfrist je eigen verbeeldingskracht en motivatie. Het verlicht een vuur onder je innerlijke criticus en maakt je innerlijke kind wakker, klaar om te spelen in ernst, onironisch, onbewust.

Hoe ik het deed

Hier is mijn persoonlijk verhaal. Het is een lopend project dat momenteel in mijn thuiskantoor plaatsvindt. Niet al dit advies zal van toepassing zijn op uw persoonlijke situatie, en mijn student kan behoorlijk afwijken van de uwe, maar met een beetje geluk zal een deel van de wijsheid die ik heb geleerd bij het maken van een spel met mijn kleuter u op uw eigen zoektocht helpen.

Houd dingen eenvoudig

Het is waarschijnlijk vanzelfsprekend dat een sleutel tot het vasthouden van de aandacht van een kind is om het kort te houden. Niets verpest het plezier van meer te leren dan verveling. Twintig minuten is alles wat je hebt.

Als je met heel jonge mensen werkt, probeer ze dan niet te leren hoe je de broncode moet schrijven; in werkelijkheid is dit meer een "excursie" en minder als het daadwerkelijk leren programmeren. We proberen geen commercieel spel te maken dat ooit gepolijst en klaar om te verkopen is. Dat is iets voor oudere kinderen die aan hun tiende jamsessie werken. Het doel is om samen iets leuks te bouwen, net als een fort uit bankkussens of een boomhut. Je zult het meeste werk doen, maar je zult allebei enorme voordelen plukken.

Bereid jezelf eerst voor

Hoewel prep work en asset gathering de typische eerste stap is in elk creatief streven, als je kind een schilderij wilde schilderen, waren ze vaak teleurgesteld over een shoppingtrip naar de kunstwinkel.

Als je nog nooit eerder een spel hebt gemaakt, zal deze eerste voorbereidende fase een grote uitdaging blijken te zijn. Een leuke, maar niet iets dat je van een kind mag verwachten dat het rondziet. Doe eerst een paar solo-jams en deel daarna je nieuwe vaardigheden. Je hoeft geen master game-ontwikkelaar te zijn, gewoon enthousiast en met tools in de hand.

Als je verschillende spellen hebt gemaakt, weet je dat aan het begin van elk project de productiviteit toeneemt terwijl je gereedschappen verzamelt, nieuwe mappen maakt, lege scripts aan je project toevoegt en kunstitems verzamelt.

Skip Square One

"Begin bij de finish! Begin met een eenvoudig spel ... en pas het aan totdat de rente afneemt. "- Farbs, de maker van Captain Forever

Het voorbereiden van een "basiscode" of "skeletproject" is van essentieel belang als u het veld op wilt gaan. Voordat u zelfs een kind voor een gameproject neerzet, moet u een MVP (minimaal levensvatbaar product) voorbereiden met de eerste vereisten voor een game: enkele inits, en de mogelijkheid om te bewegen, een geluid op te roepen en botsingen te detecteren.

Een snelle manier om dat te doen, is door een van de honderden 'starterkits' in de winkel van uw motor te downloaden of door de kern van een oud spel dat u hebt gemaakt, zoals een item voor een jamsessie, eruit te halen. Deze starterkits, gratis en voor een paar dollar verkrijgbaar, bevatten alle mechanica die een eenvoudig spel nodig heeft, of het nu een platformgame, shooter of puzzelspel is.

Voordat je een basis MVP-project maakt dat gereed is om te sleutelen, moet je met je nieuwe leerling praten en een algemeen beeld krijgen van de dingen die ze zich voorstellen. Je hebt hier veel speelruimte om functies of gamemechanismen voor te stellen waarvan je denkt dat ze zich binnen het bereik van "technisch mogelijk" en "gemakkelijk te implementeren" bevinden. Hoe jonger het kind, hoe groter de kans dat wat ze vragen, verdacht veel lijkt op hun huidige favoriete spel.

In mijn persoonlijke geval waren onze enige gedeelde game-ervaringen LEGO-spellen, die een aantal van de meest toegankelijke AAA-titels zijn. Ik begon met zoeken in de Unity Asset Store en het kopen van een goedkope platformer-starterskit. Als je student in plaats daarvan een passie heeft voor Minecraft, moet je in voxels werken, waarvoor voldoende starterkits beschikbaar zijn voor de prijs van een pizza.

Door een vierkant te overslaan, weet je zeker dat je altijd een leeg canvas hebt dat "gewoon werkt" als een testbed voor experimenten en om meteen binnen enkele seconden actie te ondernemen. Doe geen moeite om een ​​nieuw, nieuw project op te zetten terwijl je kind toekijkt; tegen de tijd dat je klaar bent voor hun inbreng, is het moment voorbij.

Ik heb mijn zoon niet voor een toetsenbord zitten zitten en verwacht dat hij begint te typen. Ik nam hem in gesprek over wat we probeerden te bereiken en deed al het werk zelf onder zijn enthousiaste leiding.

Een typische les

Mijn zoon zit tien minuten achter elkaar op schoot en vertelt me ​​wat hij graag wil dat ik implementeer. Hij houdt ervan om elke build te spelen en biedt suggesties voor verbetering. Hij ontwerpt personages in krijt en vraagt ​​me om 3D-versies van zijn fantasieën te maken.

Het werkte eigenlijk best goed, en zonder het hem ooit te noemen, merk ik dat hij er steeds weer om smeekt om er nog een paar keer per week aan te werken, gewoon voor de lol.

Het is net alsof je LEGO-ruimteschepen met hem bouwt, een activiteit waar ik de afgelopen jaren nogal wat gelukkige uren aan besteed heb, in die zin dat het een gezamenlijke ervaring is waarbij we samen iets bouwen.

Toen ik eenmaal rondjes had gehad, liet ik het hem zien. Hij was geboeid. Dolblij. Het werkte "gewoon" voor hem en zijn onhandige handen. Hij kon niet doodgaan. Het spel heeft hem nooit verteld dat hij faalde. Het was uiteindelijk meer een "speeltje" dan een spel.

Het lopende proces

We zaten samen en ik bouwde alles wat hij wilde.

"Het heeft dingen nodig om te vernietigen. Kun je het maken zodat je alles kunt smashen? Kan ik de auto's van de klif duwen? '

Eenmaal geïmplementeerd, zou hij het spel willen spelen, en wanneer toegestaan ​​zou hij auto's van de klif aan de rand van de kaart nauwgezet duwen zo lang als ik hem zou toestaan!

We zouden samen spelen en gaten in de gebouwen smashen en sushi eten voor wat idyllische uren pure vakantie in de zomer leuk vonden, zonder regels, zonder een "je verliest game over" -voorwaarde. Hij lachte, ik lachte, en het voelde alsof ik zandkastelen bouwde op het strand of klimtoestellen.

Het klinkt afgezaagd, maar ik weet dat deze momenten enkele van mijn gelukkigste herinneringen zullen zijn, waarvan ik hoop dat ze decennia vanaf nu zullen genieten. Mijn zoon en ik speelden een spel dat hij me had helpen maken.

Het eindproduct

Natuurlijk, het is kapot, buggy, goedkoop, ongepolijst en samengehouden met ducttape. Het is als een ruimteschip gemaakt van een kartonnen doos met krijtjes en draden eroverheen getrokken. Het halfafgewerkte rommelige schilderij van een kind, een niet-spel, een zooitje.

Maar het is zoveel meer dan dat voor mij. Voor mij is het het hoogtepunt van een levenslange droom, een paar gelukkige middagen weggestopt, vrij van stress.

Kitty Game is voor jou een natuurkundesandbox met maximaal acht dwaze katten rondrennen die auto's en huizen vernietigen, achtervolgd worden door kwaadaardige honden en heerlijke sushi eten.

Er is geen echt punt aan het spel, maar het grappige is dat veel mensen nog een lange tijd spelen.

Tips en trucs

"Er is geen betere manier om een ​​haat in te dammen voor iets bij een kind dan om het verplicht te maken." - Tom Farro

Vermijd het toetsenbord

Toetsenbordknoppen zijn verwarrend. Geconfronteerd met meer dan honderd knoppen, elk met een complexe glyph die al dan niet begrepen kan worden, zullen kinderen aarzelen. Ze maken zich zorgen over persen Verwijder of Ontsnappen, en het toetsenbord wordt waarschijnlijk gebruikt door de leraar.

De meeste kinderen hebben van nerveuze volwassenen geleerd dat sommige toetsen op het toetsenbord in de val lopen en vreselijke dingen kunnen veroorzaken. Wie heeft een kind niet vermaand dat ze ons werk zouden verwijderen als ze met onze toetsenborden knoeiden?

Om deze reden raad ik aan gamepad-besturingselementen onmiddellijk te implementeren. Zelfs kinderen van nog geen twee jaar oud kunnen een joystick gebruiken en op een knop op een gamepad drukken.

Als het spel op een apparaat met aanraakscherm draait, zult u merken dat kinderen graag naar het scherm bladeren.

De reden dat ik graag een alternatief bedieningsapparaat in de hand van het kind heb, is dat ze het gevoel van controle behouden, terwijl ze worden afgezonderd van de werkelijke code.

Een ideaal formaat is om twee stoelen voor uw computer te hebben. Het kind houdt een gamepad vast en zit naast de volwassene, die de IDE invoert en de builds uitvoert om te testen. Je hebt ook een gamepad, zodat jullie samen met elke iteratie kunnen spelen.

Doe dit vaak: na elke regel code of tweaken aan een paar variabelen in de editor. Door dit te doen blijven saaie werksessies kort en wordt het geduld van het kind beloond met een goksessie.

Meer spelen dan werken

"Met jongere kinderen doe ik de programmering, maar ze vertellen me wat ik elke stap moet doen. Ik laat ze de kunst tekenen en kleuren kiezen. "- Sarah Northway, maker van Rebuild en de helft van Northway Games

Een manier waarop ik onze sessies zo leuk heb gemaakt, is door royale timespans toe te staan ​​voor elke playtest-sessie, terwijl het werk sprint ultrakort blijft - in het bereik van twee tot vijf minuten.

Na elke sessie vraag ik mijn student welke veranderingen moeten worden aangebracht. Voorbeelden van verzoeken zijn "Kunnen we hem een ​​bliksemzwaard geven?" En "We moeten hoger kunnen springen".

Deze iteratieve ontwikkelingslussen leren een aantal centrale lessen die van alle ontwikkelaars vereist zijn: discipline, geduld en een experimentele, iteratieve mindset. De waarde van kleine verbeteringen in de loop van de tijd, en een erkenning van de grenzen die we allemaal tegenkomen.

Verwacht en accepteer mislukking

Je wordt steevast gevraagd om iets te implementeren dat je te lang zou duren, of dat technisch niet haalbaar zou zijn gezien de engine waarmee je werkt.

Kinderen zijn hier goed mee, net zoals ze het waarderen dat niet alle LEGO-ontwerpen bestemd zijn om te blijven staan, en dat niet alle vingerverven eruitzien zoals ze aanvankelijk voor ogen hadden.

Deze acceptatie van imperfecte resultaten, resultaten die doorgaans minder geweldig zijn dan die in onze hoofden, is de sleutel tot het zijn van een softwareontwikkelaar. Je probeert een paar dingen. Ze blazen in je gezicht. Eindelijk krijg je het aan het werk en ga je verder, zelfs als de functie iets minder spectaculair bleek dan je had verwacht voordat het werk was begonnen.

Hoe ambitieuzer de verbeeldingskracht, hoe groter sommige creatieve teleurstellingen zullen zijn. Ik voel dat dit een zeer krachtige levensles is. Geen negatief of cynisch wereldbeeld, maar een gezonde manier van leven. Het volwassen leven zal worden opgevuld met langzamere voortgang dan gepland, frustraties langs de weg naar geweldige bestemmingen en af ​​en toe een wegversperring.

Geduld en iteratie

Voor heel jonge kinderen zoals mijn zoon leren ze nog niet echt te programmeren - ze leren dat alleen maar iets kost veel geduld. Hij weet nu wat een "bug" is, en hoe volwassenen ze repareren: vallen en opstaan, keer op keer, totdat het kapotte begint te werken, zoals het bouwen van een zeer hoge bloktoren.

Deze "probeer, probeer opnieuw" werkethiek staat centraal in alle engineering en wetenschap, en gaat verder dan de basis van softwareontwikkeling tot persoonlijke ontwikkeling. Terug naar de tekentafel! Tijd voor een herontwerp! De eerste versie was niet stabiel! Dit zijn allemaal zinnen die we vaak uitroepen tijdens het spelen met LEGO, treinsets, zandkastelen of bouwstenen. Het werkt niet altijd bij de eerste poging, maar door een proces van iteratieve verfijning kunnen we verbazingwekkende dingen bouwen.

Realistische doelen instellen

Net als een overdreven optimistische, hoge toren van blokken, beginnen kinderen en volwassenen met dromen die te groot zijn om realistisch te zijn. Het geduld en de positieve reactie op kleine mislukkingen onderweg in grote projecten zullen kinderen goed van dienst zijn voor hun hele leven.

Niets zal perfect werken bij de eerste poging, of nu, zittend op papa's schoot een videogame maken, in een decennium, wanneer hij een RC-auto bouwt, of als een volwassene, aan de volgende geweldige raketmotor van de NASA werkt.

Grondbeginselen van softwareontwikkeling

Door concepten en wegversperringen onderweg uit te leggen, hebben we een aantal vrij forse onderwerpen behandeld. Mijn enthousiaste student begrijpt nu vaag concepten als botsingsdetectie, geluidseffecten, zwaartekracht, camera's en welke broncode dat is. Hij krijgt het verschil tussen de editor en een gecompileerde executable.

Hij wikkelt zijn hoofd rond prefabs en deeltjessystemen en begrijpt projectielen en pickups. Hij kweekt hoofdmenu's en HUD-overlay score-tellers, timers en evenementen, wat "respawning" is, en hoe we triggers kunnen onderscheppen zoals onCollision om een ​​aangepaste code uit te voeren (zoals iets dat explodeert).

Je zou versteld staan ​​van het niveau van begrip van spelsystemen en simulatie, zelfs een kind van voor de middelbare school kan dit redelijkerwijs bereiken. Ik denk dat deze concepten (simulatie, zwaartekracht en door gebeurtenissen aangestuurde coderingsprincipes) hem tamelijk goed voorbereid naar de kleuterschool zullen sturen als hij in september gaat, en ze hebben geen echt wiskundig vermogen nodig - zelfs kleine kinderen kunnen schatten op basis van hun realisme. wereldervaringen, en zelfs kleuters overwegen de zwaartekracht.

Zelfs op dit meest eenvoudige niveau heeft mijn kleuterlessen geleerd, niet alleen over specifieke zaken zoals wat een niveau is, zwaartekracht, botsing, simulatie, enzovoort, maar ook over ontwerp en projectbeheer: omgaan met frustratie en herhaling, proef en fout, discipline om te werken aan iets dat meer dan één sessie nodig heeft om te voltooien. Dit zijn waardevolle hulpmiddelen waarmee kinderen al te maken hebben bij het bouwen van LEGO-structuren die aanvankelijk instabiel zijn. De mentaliteit van "terug naar de tekentafel" die gameontwikkeling vereist, is ook wat opgroeien vereist.

"Kinderen leren hoe ze zowel kunst als technologie kunnen omhelzen met het maken van spellen ... het is een geweldige manier om de deur open te zetten naar het potentieel van een technologische carrière omdat het zoveel verschillende disciplines omvat." - Stacey Mulcahy, YoungGameMakers

Maak samen een spel!

Misschien heb je een klein persoon in je leven die van games houdt. Hebben ze gevraagd hoe ze zijn gemaakt? Jij bent het soort persoon dat gamedev-tutorials leest. Je hebt misschien al je eigen games gemaakt. Heb je deze kennis en enthousiasme met hen gedeeld? Het is nooit te vroeg.

Waarom niet duiken in en delen in de binding ervaring, de leermogelijkheid, en de pure vreugde van samenwerkende creatie met iemand van wie je houdt. Maak een spel met een jong kind. Het is mogelijk en zal u beiden ten goede komen. Je zult misschien verbaasd zijn hoe slim kinderen zijn, als ze een kans krijgen. Succes!