Développement de jeux pour enfants

Récemment, mon fils de quatre ans m'a demandé: «Papa, pouvons-nous faire un jeu ensemble? Est-ce que ça peut être un jeu de chat?

Je suis un papa gamedev. J'ai moi-même créé 35 jeux: la plupart du temps peu d'entrées de jeux vidéo gratuits, mais aussi beaucoup de projets clients. La réponse était oui, bien sûr, car chaque parent aime partager sa passion de la vie avec sa famille.

Je lui enseigne les concepts de conception et de codage, mais c'est un processus très collaboratif dans lequel il dessine quelque chose au crayon et que je transforme en un jeu en 3D alors qu'il est assis sur mes genoux..

Le projet continue d'être un énorme succès. J'aimerais partager mes expériences dans l'espoir que vous aussi pourrez prendre plaisir à faire un jeu avec une personne jeune de votre vie.

Pourquoi les jeux, en particulier?

Les avantages d'une exposition précoce aux STEM (sciences, technologie, ingénierie et mathématiques) se sont bien établis ces dernières années. Aucun parent n'a besoin de convaincre que cette connaissance est importante, pas seulement pour les emplois futurs, mais parce que la technologie nous entoure. Comprendre le fonctionnement du monde qui nous entoure, c’est la raison pour laquelle il est important de grandir, et enseigner le monde à nos enfants est l’un des principaux objectifs de la parentalité..

Malheureusement, nombreux sont ceux qui pensent qu’il est trop difficile de s’asseoir et d’enseigner l’algèbre à leurs enfants dès le plus jeune âge, et se demandent comment des enfants plus jeunes (qui ne comprennent pas encore les mathématiques ou savent lire) pourraient éventuellement comprendre comment un jeu est créé. Heureusement, motiver les enfants à apprendre comment créer des jeux est énormément facilité.

Ils sont cool

«Voici quelque chose qui pourrait transformer un tas de mini-monstres chahuteurs, fous, en créateurs et créateurs avides, vraiment enthousiastes d'apprendre.» - Gabriel Williams, ProCore3D

Les enfants aiment jouer et aiment construire. Il y a une énorme satisfaction à créer quelque chose. C'est habilitant; cela leur donne un sentiment d'accomplissement et de confiance en soi; c'est une chose qu'ils peuvent appeler leur propre.

N'oubliez pas que faire un jeu est une chose dont les enfants peuvent se vanter auprès de leurs pairs: gamedev est officiellement cool. C’est quelque chose que les enseignants peuvent et devraient tirer un grand avantage de.

Les enfants sont plus intelligents que nous le pensons

Prenons la vision du monde typique d'un enfant de quatre ans. Ils ne comprennent peut-être pas les principes de la physique, mais ils savent que les objets tombent au sol quand ils tombent, ils savent que les balles rebondissent sur les murs et ils savent que les voitures marchent à toute vitesse avec l'aide de roues..

Il y a beaucoup de place pour expérimenter dans ces paramètres simplistes; vous n'avez pas besoin de savoir comment calculer un produit scalaire pour expliquer la réaction de collision et la restitution, et les enfants savent que certaines choses sont plus glissantes que d'autres. La friction, la traînée et d'autres concepts liés à la physique newtonienne à corps rigide sont le sujet idéal pour les jeunes esprits curieux.

Les enfants aiment la physique

Cela semble fou? Eh bien, quel enfant n'a pas envie de fracasser une tour d'immeubles, d'envoyer un train d'une falaise ou de lancer des boules de neige? En termes de jeu, il est facile d’imaginer un jeune enfant désireux d’explorer des mécanismes de jeu inspirés d’Angry Birds (une simulation balistique)..

La physique permet aux jeunes de faire des choses qu'ils ne peuvent pas dans le monde réel. Ils peuvent casser des voitures ou pousser des immeubles. Ils peuvent sauter et causer un chaos général. Ce retour instantané dans une simulation physique est la raison pour laquelle je recommande vivement de faire un jeu avec de la physique en temps réel.

Avec une simulation physique implémentée dans le code de base de votre jeu, les enfants peuvent expérimenter les causes et les effets qui leur tiennent à cœur en créant des cubes, des sphères et des préfabriqués en abondance..

Avantages pour les adultes

«Pour ma fille, il s’agissait de passer du temps en tête à tête avec un papa par ailleurs très occupé et préoccupé. Cela aurait pu être n'importe quelle activité, vraiment. L'accent était mis sur la solidarité. »- Ryan Henson Creighton, Untold Entertainment

En entreprenant ensemble un projet créatif, vous vous aidez également. Il existe des avantages évidents pour nous, les mentors, à tirer des bénéfices de leurs interactions personnelles, qui permettent d’établir des liens plus étroits, et du simple fait que l’enseignement vous aide souvent à mieux l’apprendre..

«Il n'y a pas de meilleur moyen de se sentir revigoré ou inspiré que par les enfants, uniquement parce que leur imagination ne connaît ni limites ni limites.» - Stacey Mulcahy YoungGameMakers

Travailler avec des enfants rafraîchit votre propre imagination et votre motivation. Il allume un feu sous votre critique intérieure et réveille votre enfant intérieur, prêt à jouer avec sérieux, sans ironie et sans égoïsme.

Comment je l'ai fait

Voici mon histoire personnelle. Ce projet est en cours et se déroule actuellement dans mon bureau à domicile. Tous ces conseils ne s’appliqueront pas à votre situation personnelle et mon élève est peut-être assez différent du vôtre, mais avec un peu de chance, la sagesse que j’ai apprise en créant un jeu avec mon enfant d’âge préscolaire vous aidera dans votre propre quête..

Gardez les choses simples

Il va sans dire qu’une des clés pour retenir l’attention de l’enfant est de le garder court. Rien ne gâche le plaisir d'apprendre plus que l'ennui. Vingt minutes, c'est tout ce que vous avez.

Si vous travaillez avec de très jeunes enfants, n'essayez pas de leur apprendre à écrire du code source; En réalité, cela ressemble plus à une «sortie éducative» et moins à leur apprendre à programmer. Nous n'essayons pas de créer un jeu commercial qui soit toujours poli et prêt à être vendu. C'est quelque chose pour les enfants plus âgés qui travaillent sur leur dixième jeu de confiture. Le but ici est de créer quelque chose d’amusant ensemble, un peu comme un fort en coussins de canapé ou une cabane dans les arbres. Vous ferez la plus grande partie du travail, mais vous récolterez tous les deux d'énormes avantages..

Préparez-vous d'abord

Bien que le travail préparatoire et la collecte d'actifs soient la première étape typique de toute entreprise créative, si votre enfant voulait peindre une peinture, il serait souvent déçu par une virée shopping dans un magasin d'art..

Si vous n'avez jamais créé de jeu auparavant, cette première étape de préparation s'avèrera être un défi de taille. Un jeu amusant, mais pas quelque chose que vous ne devriez pas attendre d’un enfant assis à regarder. Commencez par participer à quelques jeux en solo, puis partagez vos nouvelles compétences. Vous n'avez pas besoin d'être un développeur de jeux maître, mais passionné et avec des outils en main.

Si vous avez créé plusieurs jeux, vous saurez qu'au début de chaque projet, vous augmentez votre productivité en assemblant des outils, en créant de nouveaux dossiers, en ajoutant des scripts vides à votre projet et en collectant des éléments d'art..

Passer Square One

“Commencez à la ligne d'arrivée! Commencez avec un jeu simple… et modifiez-le jusqu'à ce que l'intérêt baisse. »- Farbs, créateur de Captain Forever

Préparer un «code de base» ou un «projet squelette» est essentiel si vous souhaitez prendre les devants. Avant même de placer un enfant devant un projet de jeu, vous devez préparer un MVP (produit minimum viable) qui contient le strict nécessaire pour un jeu: certaines entrées et la possibilité de se déplacer, de déclencher un son et de détecter les collisions.

Un moyen rapide de le faire est de télécharger l'un des centaines de «kits de démarrage» sur le magasin de ressources de votre moteur ou d'extraire le noyau d'un ancien jeu que vous avez créé, tel qu'une entrée de jeu vidéo. Ces kits de démarrage, disponibles à la fois gratuitement et pour quelques dollars, résument tous les mécanismes nécessaires à un jeu simple, qu'il s'agisse d'un jeu de plateforme, d'un jeu de tir ou d'un casse-tête..

Avant de créer un projet MVP de base prêt à être bricolé, vous devez parler à votre nouvel apprenti et lui donner une idée générale du genre de choses qu’ils imaginent faire. Vous avez beaucoup de marge de manœuvre pour suggérer des fonctionnalités ou des mécanismes de jeu qui, selon vous, relèvent du domaine «techniquement possible» et «facile à mettre en œuvre». Plus l'enfant est jeune, plus il est probable que ce qu'il demande ressemblera étrangement à son jeu préféré actuel..

Dans mon cas personnel, nos seules expériences de jeu partagées sont les jeux LEGO, qui sont parmi les titres AAA les plus accessibles. J'ai commencé par chercher dans Unity Asset Store et acheter un kit de démarrage pour plate-forme bon marché. Si votre étudiant est passionné par Minecraft, vous devriez travailler dans des voxels, pour lesquels de nombreux kits de démarrage sont disponibles au prix d'une pizza..

Sauter la case 1 garantit également que vous disposerez toujours d’une toile vierge qui «ne fait que fonctionner» comme un banc d’essai pour les expériences et pour vous lancer dans l’action en quelques secondes. N'essayez pas de mettre en place un nouveau projet sous le regard de votre enfant. au moment où vous êtes prêt pour leur entrée, le moment sera passé.

Je n'ai pas assis mon fils devant un clavier et m'attends à ce qu'il commence à taper. Je l'ai engagé dans une conversation sur ce que nous essayions d'accomplir et j'ai fait tout le travail moi-même sous sa direction enthousiaste..

Une leçon typique

Mon fils reste assis sur mes genoux pendant dix minutes et me dit ce qu'il aimerait que je mette en place. Il aime tester chaque version et proposer des améliorations. Il dessine des personnages au crayon et me demande d’essayer de créer des versions 3D de son imagination..

En fait, cela a très bien fonctionné, et sans même lui en parler, je trouve qu'il ne cesse de mendier pour continuer à travailler dessus quelques fois par semaine, juste pour le plaisir..

C'est comme construire des vaisseaux spatiaux LEGO avec lui, une activité dans laquelle j'ai consacré pas mal d'heures heureuses au cours des dernières années, en ce sens que c'est une expérience collaborative où nous construisons quelque chose ensemble.

Une fois que j'ai eu des chatons qui couraient partout, je le lui ai montré. Il était fasciné. Fou de joie. Cela "fonctionnait" pour lui et ses mains maladroites. Il ne pouvait pas mourir. Le jeu ne lui a jamais dit qu'il avait échoué. C'était finalement plus un «jouet» qu'un jeu.

Le processus en cours

Nous nous sommes assis ensemble et j'ai construit ce qu'il voulait.

«Il a besoin de choses à écraser. Pouvez-vous faire en sorte que vous pouvez tout casser? Puis-je pousser les voitures de la falaise? "

Une fois mis en œuvre, il implorait de jouer au jeu et, une fois autorisé, poussait méticuleusement les voitures de la falaise au bord de la carte aussi longtemps que je le laissais faire.!

Nous jouions ensemble et crevions des trous dans les bâtiments et mangions des sushis pendant ce qui semblait être des heures idylliques de vacances d'été sans distraction, sans règles, sans condition de «vous perdez la partie». Il rigolait, je rigolais, et c'était comme construire des châteaux de sable sur la plage ou grimper aux équipements de jeux.

Cela semble bizarre, mais je sais que ces moments seront parmi mes meilleurs souvenirs, des moments que j'espère savourer dans des décennies. Mon fils et moi jouant à un jeu qu'il m'avait aidé à faire.

Le produit final

Bien sûr, il est cassé, buggy, bon marché, non poli et maintenu avec du ruban adhésif. C'est comme un vaisseau spatial fabriqué à partir d'une boîte en carton avec des boutons et des fils de crayon dessinés dessus. Peinture malpropre à moitié terminée pour un enfant, un non-jeu, un désordre.

Mais c'est tellement plus que ça pour moi. Pour moi, c’est le point culminant d’un rêve, quelques bons après-midi cachés, sans stress.

Pour vous, Kitty Game est un bac à sable physique contenant jusqu'à huit chats idiots qui détruisent des voitures et des maisons, qui sont poursuivis par des chiens diaboliques et qui mangent de délicieux sushis..

Le jeu n'a pas vraiment de sens, mais ce qui est amusant, c'est que beaucoup de gens jouent longtemps..

Trucs et astuces

"Il n'y a pas de meilleur moyen de faire de la haine pour un enfant quelque chose que de le rendre obligatoire." - Tom Farro

Évitez le clavier

Les contrôles du clavier sont source de confusion. Face à plus de cent boutons, chacun avec un glyphe complexe incompris, les enfants hésiteront. Ils craignent de faire pression Effacer ou Échapper, et le clavier est probablement utilisé par l'enseignant.

Des adultes nerveux ont appris à la plupart des enfants que certaines touches du clavier étaient piégées et pouvaient provoquer des événements terribles. Qui n'a pas averti un enfant qu'il pourrait effacer notre travail s'il se mêlait de nos claviers?

Pour cette raison, je recommande d’implémenter immédiatement les contrôles du gamepad. Même les enfants de deux ans peuvent utiliser une manette de jeu et appuyer sur un bouton de la manette de jeu..

Alternativement, si le jeu fonctionne sur un appareil à écran tactile, vous constaterez que les enfants seront plus qu'heureux d'écraser l'écran..

La raison pour laquelle j'aime avoir un dispositif de contrôle alternatif dans la main de l'enfant est qu'elle conserve le sentiment de contrôler tout en étant séquestrée loin du code lui-même..

Un format idéal consiste à avoir deux chaises devant votre ordinateur. L'enfant tient une manette de jeu et s'assoit à côté de l'adulte, qui tape dans l'IDE et exécute les versions à tester. Vous avez également une manette de jeu pour que vous puissiez jouer à chaque itération..

Faites-le souvent: après chaque ligne de code ou modifiez quelques variables dans l'éditeur. Cela permet de garder des sessions de travail ennuyeuses et de récompenser la patience de l'enfant avec une session de jeu..

Plus de jeu que de travail

«Je fais la programmation avec les plus jeunes, mais ils me disent quoi faire à chaque étape. Je les oblige à dessiner et à choisir les couleurs. »- Sarah Northway, créatrice de Rebuild et de la moitié des jeux de Northway

Une des façons dont j'ai rendu nos sessions si agréables est de laisser des durées de temps généreuses pour chaque session de test de jeu, tout en gardant les sprints de travail très courts, de l'ordre de deux à cinq minutes..

Après chaque session, je demande à mon élève quels sont les changements à apporter. Les exemples de demandes comprennent «Pouvons-nous lui donner une épée de foudre?» Et «Nous devrions pouvoir sauter plus haut»..

Ces boucles de développement itératives enseignent quelques leçons essentielles requises de tous les développeurs: la discipline, la patience et un état d'esprit expérimental et itératif. La valeur des petites améliorations au fil du temps et la reconnaissance des limites auxquelles nous sommes tous confrontés.

Attendre et accepter l'échec

On vous demandera invariablement de mettre en œuvre quelque chose qui vous prendrait trop de temps ou qui serait techniquement irréalisable compte tenu du moteur avec lequel vous travaillez..

Les enfants acceptent cela, tout comme ils se rendent compte que tous les modèles LEGO ne sont pas destinés à rester debout et que toutes les peintures au doigt ne se ressemblent pas..

Cette acceptation de résultats imparfaits, qui sont généralement moins impressionnants que ceux que nous avons en tête, est la clé pour devenir développeur de logiciels. Vous essayez certaines choses. Ils explosent dans votre visage. Enfin, vous le faites fonctionner, et vous continuez, même si le long métrage s'est avéré un peu moins spectaculaire que vous ne l'aviez imaginé avant le début des travaux..

Plus l'imagination est ambitieuse, plus certaines déceptions créatives seront grandes. Je pense que c'est une leçon de vie très puissante. Pas une vision du monde négative ou cynique, mais une façon de vivre saine. La vie des adultes sera remplie de progrès plus lents que prévu, de frustrations tout au long du chemin menant à de bonnes destinations et de barrages routiers occasionnels.

Patience et Itération

Pour les très jeunes enfants comme mon fils, ils ne sont pas encore en train d'apprendre à coder. n'importe quoi prend beaucoup de patience. Il sait maintenant ce qu'est un «bogue» et comment les grandes personnes les corrigent: essais et erreurs, encore et encore, jusqu'à ce que ce qui était cassé commence à fonctionner, comme construire une très haute tour à blocs.

Cette éthique de travail «essayer, essayer à nouveau» est au cœur de toute ingénierie et de toute science et va au-delà des fondements du développement logiciel jusqu'au développement personnel. Retour à la planche à dessin! Temps pour une refonte! La première version n'était pas stable! Ce sont toutes des phrases que nous nous écrions souvent en jouant avec LEGO, des trains, des châteaux de sable ou des blocs de construction. Cela ne fonctionne pas toujours du premier coup, mais grâce à un processus de raffinement itératif, nous pouvons construire des choses étonnantes..

Établissement d'objectifs réalistes

Tout comme une tour de blocs trop optimiste et très lourde, enfants et adultes commencent avec des rêves trop grands pour être réalistes. La patience et la réaction positive face aux petits échecs rencontrés au cours de grands projets serviront bien les enfants toute leur vie..

Du premier coup, rien ne fonctionnera parfaitement, que ce soit maintenant, assis sur les genoux du jeu vidéo, dans une décennie, lorsqu’il construit une voiture télécommandée, ou à l’âge adulte, travaillant sur le prochain incroyable moteur de fusée de la NASA..

Principes fondamentaux du développement de logiciels

En expliquant les concepts et les obstacles en cours de route, nous avons couvert des sujets assez volumineux. Mon étudiant avide comprend maintenant vaguement des concepts tels que la détection de collision, les effets sonores, la gravité, les caméras et ce que le code source représente. Il fait la différence entre l'éditeur et un exécutable compilé.

Il se prend la tête entre les préfabriqués et les systèmes de particules et comprend les projectiles et les capteurs. Il aborde les menus principaux et les compteurs de superposition de HUD, les minuteries et les événements, ce qu’est «respawning» et comment nous pouvons intercepter des déclencheurs tels que onCollision exécuter du code personnalisé (comme faire exploser quelque chose).

Vous seriez surpris du niveau de compréhension des systèmes de jeu et de la simulation que même un enfant d'âge préscolaire peut atteindre, dans des limites raisonnables. Je pense que ces concepts (simulation, gravité et principes de codage événementiel) l’enverront plutôt bien préparé à la maternelle quand il ira en septembre prochain et qu’ils n'exigent pas de véritables compétences en mathématiques - même les plus jeunes enfants peuvent estimer en fonction de leur réalité. expériences du monde, et même les enfants d'âge préscolaire pensent à la gravité.

Même à ce niveau élémentaire, mon enfant d’âge préscolaire a appris des leçons non seulement sur les niveaux spécifiques, comme la gravité, la collision, la simulation, etc., mais aussi sur la conception et la gestion de projet: gérer la frustration et la répétition, erreur, discipline pour travailler sur quelque chose qui prend plus d'une session à terminer. Ce sont des outils précieux que les enfants utilisent déjà lors de la construction de structures LEGO initialement instables. La mentalité de «retour à la planche à dessin» que nécessite le développement de jeux est aussi ce que nécessite de grandir.

«Les enfants apprennent à intégrer l'art et la technologie à la création de jeux. C'est un excellent moyen d'ouvrir la porte au potentiel d'une carrière technologique car elle englobe de nombreuses disciplines différentes.» - Stacey Mulcahy, YoungGameMakers

Faire un jeu ensemble!

Peut-être avez-vous dans votre vie une petite personne qui aime les jeux. Ont-ils demandé comment ils sont fabriqués? Vous êtes le genre de personne qui lit des tutoriels sur Gamedev. Vous avez peut-être déjà créé vos propres jeux. Avez-vous partagé cette connaissance et cet enthousiasme avec eux? Il n'est jamais trop tôt.

Pourquoi ne pas plonger et partager l'expérience de création de liens, l'opportunité d'apprentissage et la joie pure de créer en collaboration avec quelqu'un que vous aimez. Faire un jeu avec un jeune enfant. C'est faisable et vous en bénéficierez tous les deux. Vous pourriez être surpris à quel point les enfants sont intelligents, si on leur donne une chance. Bonne chance!