Spillutvikling for barn

Nylig spurte min fireårige sønn meg, "pappa, kan vi lage et spill sammen? Kan det være et puslespill? "

Jeg er en gamedev pappa. Jeg har laget 35 spill på egen hånd: for det meste små freeware spill jam oppføringer, men også mange klientprosjekter. Svaret var ja, selvfølgelig, siden alle foreldre elsker å dele sin lidenskap i livet med sin familie.

Jeg lærer ham begreper om design og koding, men det er en veldig samarbeidsprosess hvor han trekker noe i fargeblyant og jeg gjør det til et 3D-spill mens han sitter på fanget mitt.

Prosjektet fortsetter å være en stor suksess. Jeg vil gjerne dele mine erfaringer i håp om at du også vil kunne nyte å lage et spill med noen unge i livet ditt.

Hvorfor spill, spesielt?

Fordelene ved tidlig eksponering for STEM (vitenskap, teknologi, ingeniørfag og matematikk) har blitt godt etablert de siste årene. Ingen foreldre trenger overbevisende om at denne kunnskapen er viktig, ikke bare for fremtidige jobber, men fordi teknologi omgir oss. Å forstå hvordan verden rundt oss fungerer, er det som vokser opp, handler om, og undervisning våre barn om verden er et primært mål for foreldre.

Dessverre er det mange som synes det er for skremmende en oppgave å sette seg ned og undervise ungdomsalgebraet i ung alder, og spørre hvordan yngre barn (som ennå ikke forstår matte eller vet hvordan de skal leses) muligens kan forstå hvordan et spill er laget. Heldigvis motiverer barna til å lære hvordan spill blir skapt, gjort umåtelig lettere av et sentralt faktum.

De er kule

"Her var noe som kunne gjøre en haug med bølle, galle, mini-monstre til ivrige reklamer og skapere, oppriktig glade for å lære." - Gabriel Williams, ProCore3D

Barna liker å leke og liker å bygge. Det er en enorm tilfredsstillelse i etableringen av noe. Det er bemyndigelse; det gir dem en følelse av prestasjon og selvværd; det er en ting de kan kalle sine egne.

Ikke glem at å lage et spill er noe som barna kan skryte med til sine jevnaldrende: gamedev er offisielt kult. Dette er noe lærere kan og bør ta stor fordel av.

Barn er smartere enn vi tenker

Tenk på en typisk fireårig verdens verdenssyn. De forstår kanskje ikke fysikkens prinsipper, men de vet at gjenstander faller til bakken når de slippes, de vet at baller spretter av vegger, og de kjenner bilens hastighet sammen med hjelp av hjul.

Det er god plass til å eksperimentere innenfor disse forenklede parametrene; du trenger ikke å vite hvordan du beregner et prikkprodukt for å forklare kollisionsrespons og gjenoppretting, og barna vet at noen ting er mer glatte enn andre. Friksjon og drag og andre konsepter relatert til stiv kropps-newtonsk fysikk er det perfekte emnet for nysgjerrige unge sinn.

Kids Love Physics

Lyden er gal? Vel, hvilket barn får ikke en spenning i å knuse et tårn med blokker, eller sende et tog av en klippe eller kaste snøballer? I spillvilkår er det lett å forestille seg et yngre barn som ønsker å utforske spillmekanikk inspirert av Angry Birds (en ballistisk simulering).

Fysikk tillater ungdommer å gjøre ting de ikke kan i den virkelige verden. De kan knuse biler eller skyve bygninger rundt. De kan hoppe rundt og forårsake generell kaos. Denne øyeblikkelige tilbakemeldingen i en fysikk simulering er derfor jeg anbefaler varmt å lage et spill med sanntid fysikk.

Med en fysikkimulering som er implementert i grunnspillet ditt, kan barna eksperimentere med årsak og effekt til hjerteinnholdet ved å gyte kuber, kuler og prefabs aplenty og bare kaste dem rundt og skyve dem av klipper med en enkel karakterkontroll.

Fordeler for voksne

"For datteren min handlet det om å få litt en-til-en-tid med en ellers veldig opptatt og opptatt pappa. Det kunne ha vært noen aktivitet, egentlig. Fokuset var på samvær. "- Ryan Henson Creighton, utallige underholdning

Ved å lage et kreativt prosjekt sammen, hjelper du deg også. Det er åpenbare fordeler for oss mentorer å høste, fra personlige samspill som fører til dypere liming, til det enkle faktum at undervisning noe ofte hjelper deg med å lære det bedre.

"Det er ingen bedre måte å føle seg nyoppusset på eller inspirert enn av barna, bare fordi deres fantasi vet ingen begrensninger eller grenser." - Stacey Mulcahy YoungGameMakers

Å jobbe med barn oppdaterer din egen fantasi og motivasjon. Det lyser en brann under din indre kritiker, og reawakens ditt indre barn, klar til å spille på alvor, unironically, ubevisst.

Hvordan gjorde jeg det

Her er min personlige historie. Det er et pågående prosjekt som for øyeblikket foregår på hjemmekontoret mitt. Ikke alt dette rådet vil gjelde for din personlige situasjon, og studenten min kan være ganske ulikt din, men med hell har noen visdom jeg har lært i å lage et spill med førskolen min, hjelpe deg på din egen søken.

Hold ting enkelt

Det går nok med å si at en nøkkel til å beholde et barns oppmerksomhet er å holde det kort. Ingenting ødelegger moroa av å lære mer enn kjedsomhet. Tjue minutter er alt du har.

Hvis du jobber med de aller unge, ikke prøv å lære dem hvordan du skriver kildekoden i det hele tatt; i sannhet er dette mer som en "fottur" og mindre som faktisk lærer dem å programmere. Vi prøver ikke å lage et kommersielt spill som alltid er polert og klar til å selge. Det er noe for eldre barn som jobber med sitt tiende syltetøy. Målet her er å bygge noe morsomt sammen, som et fort ut av sofaen puter eller et trehus. Du vil gjøre det meste av arbeidet, men du vil både høste store fordeler.

Forbered deg først

Selv om prep arbeid og innsamling av eiendeler er det typiske første skrittet i enhver kreativ innsats, hvis barnet ditt ønsket å male et maleri, ble de ofte skuffet over en shoppingtur til kunstbutikken.

Hvis du aldri har laget et spill før, vil dette første prep-stadiet være en betydelig utfordring. En morsom, men ikke noe du bør forvente et barn å sitte rundt å se på. Bli med noen få spillestopper solo, først, og del deretter dine nyskapede ferdigheter. Du trenger ikke å være en master spillutvikler, bare entusiastisk og med verktøy i hånden.

Hvis du har laget flere spill, vil du vite at ved starten av hvert prosjekt er en ramping opp av produktivitet når du samler verktøy, lager nye mapper, legg til tomme skript til prosjektet ditt, og samle kunstmidler.

Hopp over Square One

"Start på målstreken! Begynn med et enkelt spill ... og modifiser det til interessen avtar. "- Farbs, skaperen av Captain Forever

Å lage en "basekode" eller "skjelettprosjekt" er viktig hvis du vil treffe bakken. Før du selv setter et barn ned foran et spillprosjekt, bør du utarbeide et MVP (minimum levedyktig produkt) som inneholder de bare nødvendighetene til et spill: Noen inits, og evnen til å bevege seg rundt, utløse en lyd og oppdage kollisjoner..

En rask måte å gjøre det på er å laste ned et av hundrevis av "startpakker" på motorsykkelforretningen din, eller rive ut kjernen i et gammelt spill du laget, for eksempel en spillestoppoppføring. Disse startpakker, tilgjengelig både for gratis og for noen få dollar, innkapsler all mekanikken et enkelt spill trenger, enten det er en plattformspiller, skytespill eller puslespill.

Før du lager et grunnleggende MVP-prosjekt som er klart for tinkering, vil du snakke med din nye lærling og få en generell følelse av hva slags ting de forestiller seg å gjøre. Du har mye spillerom her for å foreslå funksjoner eller gameplay mekanikk som du føler er innenfor riket av "teknisk mulig" og "lett å implementere". Jo yngre barnet er, jo mer sannsynlig at det de ber om, vil høres mistenkelig likt deres nåværende favorittspill.

I mitt personlige tilfelle har våre eneste delte spillopplevelser vært LEGO-spill, som er noen av de mest tilgjengelige AAA-titlene rundt. Jeg startet med å søke i Unity Asset Store og kjøpe en billig platformer startpakke. Hvis studenten er lidenskapelig om Minecraft i stedet, bør du jobbe i voxels, for hvilke det er mange starterpakker tilgjengelig for prisen på en pizza.

Hoppende firkantet sikrer også at du alltid vil ha et tomt lerret som "bare virker" som en testbed for eksperimenter og for å komme rett inn i handlingen innen få sekunder. Ikke bry deg om å prøve å sette opp et nytt nytt prosjekt mens barnet ditt ser på; når du er klar for innspillingen, har øyeblikket passert.

Jeg sitter ikke sønnen min foran tastaturet og forventer at han skal begynne å skrive. Jeg forlovet ham i en samtale om hva vi prøvde å oppnå, og gjorde alt arbeidet selv under hans entusiastiske retning.

En typisk leksjon

Min sønn sitter i fanget mitt i ti minutter av gangen og forteller meg hva han vil at jeg skal implementere. Han elsker å leke test hver bygg og tilby forslag til forbedring. Han designer tegn i fargestifter, og ber meg om å prøve å lage 3D-versjoner av hans fantasi.

Det har faktisk fungert ganske bra, og uten noen sinde å nevne det til ham, finner jeg at han fortsetter å tigge om å jobbe med det litt mer, et par ganger i uken, bare for moro skyld.

Det er som å bygge LEGO romskip med ham, en aktivitet jeg har satt ganske mange gode timer inn i de siste årene, fordi det er en samarbeidsopplevelse hvor vi bygger noe sammen.

Når jeg hadde kattunger kjørt rundt, viste jeg det til ham. Han var oppmuntret. Lykkelig. Det "bare jobbet" for ham og hans klumpete hender. Han kunne ikke dø. Spillet fortalte ham aldri at han feilet. Det var til slutt mer en "leketøy" enn et spill.

Den pågående prosessen

Vi satt sammen, og jeg bygde hva han ville.

"Det trenger ting å knuse. Kan du gjøre det slik at du kan smadre alt? Kan jeg skyve bilene av klippen? "

En gang implementert, ville han be om å spille spillet, og når det var tillatt, ville han omhyggelig skyve biler utenfor klippen ved kanten av kartet så lenge jeg ville la ham!

Vi ville leke sammen og smadre hull i bygningene og spise sushi for det som føltes som idylliske timer med ren sommerferie, gledelig uten regler, uten at du tapte spill over tilstanden. Han ville le, jeg ville le, og det føltes som å bygge sandkastler på stranden eller klatre på lekeplassutstyr.

Det høres corny, men jeg vet at disse øyeblikkene vil være noen av mine lykkeligste minner, de jeg håper å smake årtier fra nå. Min sønn og jeg, spilte et spill han hadde hjulpet meg med å lage.

Sluttproduktet

Visst, det er ødelagt, buggy, billig, unpolished, og holdt sammen med duct tape. Det er som et romskip laget av en pappkasse med fargeblyanter og ledninger trukket over det. Et barns halvfylte rotete maleri, et ikke-spill, et rot.

Men det er så mye mer enn det for meg. For meg er det kulminasjonen av en livslang drøm, et par lykkelige ettermiddager tucked away, fri for stress.

For deg er Kitty Game en fysikk sandkasse med opptil åtte dumme katter som kjører rundt ødelegger biler og hus, blir jaget av onde hunder og spiser deilig sushi.

Det er ingen reell poeng til spillet, men det morsomme er at mange mennesker fortsetter å spille for ganske lang tid.

Tips og triks

"Det er ingen bedre måte å gripe inn et hat for noe i et barn enn å gjøre det obligatorisk." - Tom Farro

Unngå tastaturet

Tastaturkontrollene er forvirrende. Facet med over hundre knapper, hver med en kompleks glyph som kanskje eller ikke forstås, vil barna nølle. De er bekymret for å trykke Slett eller Flukt, og tastaturet er sannsynligvis i bruk av læreren.

De fleste barn har blitt undervist av nervøse voksne at noen nøkler på tastaturet er booby-fanget og kan forårsake forferdelige ting å skje. Hvem har ikke tilagt et barn at de kan slette vårt arbeid dersom de knuste med tastaturene våre?

Av denne grunn anbefaler jeg umiddelbart å implementere gamepad-kontroller. Selv barn så unge som to år kan bruke en joystick og trykke på en knapp på en gamepad.

Alternativt, hvis spillet kjører på en berøringsskjerm, finner du at barna er mer enn glade for å mash unna på skjermen.

Grunnen til at jeg elsker å ha en alternativ kontrollenhet i barnets hånd, er at de beholder følelsen av kontroll mens de blir sekvestrert fra den faktiske koden.

Et ideelt format er å ha to stoler foran datamaskinen. Barnet holder en gamepad, og sitter ved siden av voksen, som skriver inn i IDE og kjører byggene for testing. Du har også en gamepad, så de to av dere kan spille sammen med hver iterasjon.

Gjør dette ofte: etter hver linje av kode eller tweak til noen få variabler i redigereren. Å gjøre det gjør kjedelige arbeidsøkter kort, og belønner barnets tålmodighet med en spilløkt.

Mer enn å jobbe

"Med yngre barn gjør jeg programmeringen, men de forteller meg hva de skal gjøre hvert skritt av veien. Jeg får dem til å tegne kunsten og velge farger. "- Sarah Northway, skaperen av Rebuild og halvparten av Northway Games

Én måte jeg har gjort våre økter så hyggelig er ved å tillate sjenerøse tidsintervaller for hver lektest økt, samtidig som arbeidet springer ultra kort i løpet av to til fem minutter.

Etter hver økt spør jeg studenten min hvilke endringer som må gjøres. Eksempler på forespørsler inkluderer "Kan vi gi ham et lynsverd?" Og "Vi burde kunne hoppe høyere".

Disse iterative utviklingsløkkene lærer noen sentrale leksjoner som kreves av alle utviklere: disiplin, tålmodighet og en eksperimentell, iterativ tankegang. Verdien av små forbedringer over tid, og en bekreftelse av grensene vi står overfor.

Forvent og godta feil

Du vil alltid bli bedt om å implementere noe som vil ta deg for lenge, eller det ville være teknisk ikke gjennomførbart gitt motoren du jobber med.

Barn er i orden med dette, på samme måte som de setter pris på at ikke alle LEGO-designene er bestemt til å bli stående, og ikke alle fingermalerier ser på måten de opprinnelig hadde tenkt på.

Denne aksept av ufullkomne resultater, utfall som vanligvis er mindre kjempebra enn de i hodene våre, er nøkkelen til å være programvareutvikler. Du prøver noen ting. De blåser opp i ansiktet ditt. Til slutt får du det til jobb, og du går videre, selv om funksjonen viste seg litt mindre spektakulær enn du hadde forestilt deg før arbeidet hadde begynt.

Jo mer ambisiøse fantasien, desto større er kreative skuffelser. Jeg føler at dette er en veldig kraftig livsleske. Ikke et negativt eller kynisk verdenssyn, men i stedet en sunn måte å leve på. Grownup-livet vil bli fylt med langsommere fremskritt enn planlagt, frustrasjoner underveis til gode destinasjoner, og sporadisk veisklokke.

Tålmodighet og ivertering

For svært små barn som min sønn, er de ennå ikke lærer å kode, de lærer bare det hva som helst tar mye tålmodighet. Han vet nå hva en "bug" er, og hvordan voksne retter dem: prøve og feil, om og om igjen, til det som ble ødelagt, begynner å virke, som å bygge et veldig høyt blokktårn.

Denne "prøve, prøv igjen" arbeidsetikk er sentral for all engineering og vitenskap, og går ut over grunnlaget for programvareutvikling gjennom personlig utvikling. Tilbake til tegnebrettet! Tid for et redesign! Den første versjonen var ikke stabil! Dette er alle setningene vi ofte uttaler mens du spiller med LEGO, togsett, sandkastler eller byggeklosser. Det fungerer ikke alltid på første forsøk, men gjennom en prosess med iterativ forfining kan vi bygge fantastiske ting.

Realistisk målinnstilling

På samme måte som en altfor optimistisk, topp tung tårn av blokker, begynner både barn og voksne med drømmer for store til å være realistiske. Tålmodigheten og positiv reaksjon på små feil underveis i store prosjekter vil tjene barn godt for hele livet.

Ingenting vil fungere perfekt ved første forsøk, om nå, sitter på fars fang, gjør et videospill, i et tiår, når han bygger en RC-bil, eller som voksen, jobber med NASAs neste fantastiske rakettmotor.

Grunnleggende om programvareutvikling

Ved å forklare konsepter og veibeskyttelse underveis, har vi dekket noen ganske hefty emner. Min ivrige student forstår nå begreper som kollisjonssensor, lydeffekter, tyngdekraften, kameraer og hvilken kildekode som er. Han får forskjellen mellom redaktøren og en kompilert kjørbar.

Han pakker hodet rundt prefabs og partikkelsystemer, og forstår prosjektiler og pickups. Han groks hovedmenyer og HUD overlay score tellere, timere og hendelser, hva "respawning" er, og hvordan vi kan avskjære utløsere som onCollision å kjøre noen egendefinert kode (som forårsaker noe å eksplodere).

Du vil bli overrasket over forståelsen av spillsystemer og simulering selv om en førskolebarn kan nå, innen grunn. Jeg tror at disse konseptene (simulering, tyngdekraften og hendelsesdrevne kodingsprinsipper) vil sende ham ganske godt forberedt til barnehage når han går i september neste år, og de krever ikke ekte matematisk evne - selv små barn kan anslå ut fra deres real- Verdensopplevelser, og til og med førskolelærere tenker på tyngdekraften.

Selv på dette mest grunnleggende nivå har min forskoler lært leksjoner, ikke bare om spesifikasjoner som nivået, tyngdekraften, kollisjonen, simuleringen osv., Men også om design og prosjektledelse: håndtering av frustrasjon og repetisjon, prøving og feil, disiplin for å jobbe med noe som tar mer enn én økt til slutt. Dette er verdifulle verktøy som barna allerede har å håndtere når man bygger LEGO-strukturer som i utgangspunktet er ustabile. Den "back to the drawing board" mentaliteten som spillutvikling krever er også det som vokser opp krever.

"Barn lærer å omfavne både kunst og teknologi med spillprodusering ... det er en fin måte å åpne døren for potensialet i en teknologi karriere som det omfatter så mange forskjellige disipliner." - Stacey Mulcahy, YoungGameMakers

Lag et spill sammen!

Kanskje du har en liten person i livet ditt som elsker spill. Har de spurt om hvordan de er laget? Du er den typen person som leser gamedev opplæringsprogrammer. Du har kanskje allerede laget dine egne spill. Har du delt denne kunnskapen og entusiasmen med dem? Det er aldri for tidlig.

Hvorfor ikke dykke inn og dele i bonding-opplevelsen, læringsmuligheten, og den rene glede av samarbeidende skapelse med noen du elsker. Lag et spill med et lite barn. Det er mulig og vil være til nytte for dere begge. Du kan bli overrasket over hvor smart barna er, hvis de får en sjanse. Lykke til!