Life

Kodu: programmer en s'amusant

Chris Wilson, mis à jour le 28.07.2009 à 19 h 08

Kodu un nouveau jeu pour vous apprendre (et à vos enfants) à programmer – tout en vous amusant.

Je me souviens du premier programme informatique que j’ai écrit. J’avais 7-8 ans et nous apprenions à nous servir de Logo, un jeu d’initiation à la programmation pour enfants. Il s’agissait de dessiner sur un écran en programmant les déplacements d’une «tortue». Nous devions écrire, après les avoir mimées «pour de vrai», les commandes les plus simples: «Avancer de 10 pas», «tourner à gauche de 90°», etc. au crayon avant d’accéder au « petit Nicolas » - comme nous appelions le seul ordinateur de la classe. J’ai finalement réussi à dessiner un carré.

Logo est l’un des tous premiers jeux pédagogiques d’initiation à la programmation. Je m’en suis souvenu en assistant à une démonstration de Kodu, le dernier jeu vidéo de Microsoft pour enfants de neuf ans et au-delà. Avec ses images en 3D, son univers transformable à volonté et des personnages qui ne se limitent pas au genre Terrapene, Kodu se situe à des années-lumière de Logo. Mais le principe reste le même: placer les enfants dans un environnement ouvert et leur donner la possibilité d’utiliser un langage simple pour modifier cet environnement. Et bien que Kodu soit - je dois l’avouer, au risque de paraître dénigrer mon enfance - infiniment plus ludique que Logo, l’objectif est toujours le même: apprendre aux enfants à raisonner comme des programmeurs, et non pas leur apprendre à écrire des lignes de codes. 

Sur Kudo, avant même de commencer à programmer, vous devez d’abord créer votre univers sur une parcelle de terrain, en y ajoutant des montagnes, des lacs, etc. puis des arbres, des rochers, des immeubles etc. et enfin des personnages, y compris les Kodus, petits personnages sous-marins qui ont donné leur nom au jeu. Une fois que le décor et les personnages sont en place, vous fixez vous-même les règles du jeu. Et c’est là que votre apprentissage commence. Vous devez d’abord fixer – en utilisant les images qui apparaissent à l’écran, sans avoir besoin d’écrire quoi que ce soit – les règles qui s’appliquent à chaque objet ou personnage (pomme, Kodu, rocher, etc.), dans quelles situations celles-ci s’appliquent (collision, appui sur un bouton, etc) et ce que l’objet ou le personnage concerné doit faire dans cette situation (se sauver, lancer un projectile, changer de couleur, etc.) Vous avez ainsi créé sans le savoir des commandes telles que : « Lorsque quelque chose heurte cet arbre, l’arbre doit s’illuminer en orange » ou « Se sauver lorsqu’un Kodu voit une pomme verte. » (Voir la vidéo de démonstration).

Il y a suffisamment de commandes et de personnages différents pour créer des jeux à l’intérieur du jeu. Des jeux où l’on accumule des points en activant par exemple à l’aide d’un simple bouton des Ovni qui envoient des projectiles sur des ennemis et esquivent leurs tirs ou des jeux à défilement latéral du type Super Mario Bros, en changeant simplement l’angle de la caméra. Il est tout aussi amusant, à mon avis, de créer des mondes pacifiques qui évoluent en fonction des règles fixées, des micro-univers numériques dans lesquels les arbres lancent des fruits phosphorescents et dans lesquels les personnages se reproduisent en paix. La probabilité que vous obteniez des résultats imprévus et curieux augmente au fur et à mesure que vos construisez votre monde et que l’ensemble des règles que vous avez fixées se mettent à interagir. La première fois, j’ai involontairement créé un feu d’artifice ininterrompu de pommes lancées à jet continu par deux pommiers programmés pour se combattre perpétuellement: un excellent exemple de programmation en boucle. 

Les jeux d’initiation à la programmation manquent souvent de naturel et pêchent la plupart du temps par un excès de pédagogie. C’est probablement la raison pour laquelle les enfants les associent davantage à l’univers de l’école qu’à celui de la maison. Leur graphisme s’est certes amélioré depuis les temps héroïques de Logo, mais la plupart, comme Alice ou Scratch, par exemple, continuent de recourir à l’écriture de lignes de code. (Lego, qui a collaboré à une époque avec Logo, propose désormais une robotique sophistiquée et une interface de programmation qui recourt davantage aux images.) J’aimais jouer avec Logo, mais je savais que c’était un jeu éducatif. Super Mario Bros. existait depuis trois ans déjà à l’époque, et je peux vous garantir qu’aucun d’entre nous laissait tomber de gaieté de cœur les Koopa Troopas pour la tortue Logo. Kodu, contrairement à ses prédécesseurs, n’apparaît pas comme un jeu à but pédagogique dans la mesure ou il ne comprend pas d’exercices d’écriture ennuyeux et a la même qualité visuelle que les autres jeux vidéo pour enfants.

Qu’est-ce que les enfants apprennent en jouant avec Kodu? Alors que Logo mettait le code au premier plan, Kodu n’utilise volontairement aucun terme spécifique à la programmation tel que «variable», «fonction», «récursivité», etc. Son interface est conçue de telle sorte que les joueurs ne se rendent pas compte qu’ils apprennent en jouant. Il n’y a aucune relation entre le jeu et la programmation au sens classique – vous n’apprenez pas à écrire de commandes et vous n’avez aucun moyen de savoir comment les règles que vous fixez sont traduites en lignes de code. Ce que vous apprenez, c’est comment construire un univers.

Il s’agit d’une conception révolutionnaire de la manière de programmer. La plupart des programmes sont encore écrits comme Logo, de manière séquentielle, commande après commande, comme on écrit un livre, ligne après ligne. Kodu ressemble plutôt à une partition pour orchestre dans laquelle plusieurs parties peuvent jouer simultanément. Les personnages que vous créez n’attendent pas patiemment leur tour pour entrer en scène: chaque Ovni est en interaction avec tous les autres - c’est pourquoi le jeu devient immanquablement complexe et amusant dès que vous avez « écrit » les toutes premières règles de votre univers.

Sans avoir la prétention de lire dans le marc de café, cette manière de programmer me semble extrêmement prometteuse, d’autant plus que les ordinateurs sont de plus en plus fréquemment équipés de nombreux microprocesseurs parallèles qui fonctionnent deux par deux. Ceci étant dit, le langage prédéfini de Kodu ne devrait pas tarder à se heurter aux limites mêmes du jeu. Son inventeur, Matt MacLaurin, a d’ailleurs déclaré qu’il avait envisagé de permettre aux joueurs de programmer des règles qui ne se trouvent pas dans la bibliothèque actuelle du jeu. (Un peu comme les plates-formes des blogs permettent soit d’écrire des messages dans une fenêtre de traitement de texte soit d’utiliser le format html pour ceux qui souhaitent utiliser des fonctions plus sophistiquées.) 

Si cela peut s’avérer utile à l’avenir, ce n’est pas l’objectif essentiel de Kodu pour le moment. L’essentiel c’est de permettre aux enfants de développer leur capacité de raisonnement en s’amusant. C’est pourquoi je recommande ce jeu, y compris à ceux qui, comme moi, ont largement plus de neuf ans. Il y a quelque chose de foncièrement passionnant à s’immerger dans un monde virtuel que vous avez vous-même créé. Le fait de créer un jeu vous oblige à penser une situation complexe comme étant la somme de règles simples tout en réalisant qu’elle est infiniment plus difficile à comprendre que chacune des règles prises individuellement. Le fait de prévoir la manière dont un grand nombre d’éléments vont - ou ne vont pas – interagir est une question clé dans un grand nombre de domaines et Kodu permet de façon étonnante de poser ce problème à une échelle réduite. Essayez-le, même si vous étiez perdu avec Logo dès la première commande.

Par Chris Wilson traduit par Francis Simon

Illustration Microsoft

Chris Wilson
Chris Wilson (14 articles)
En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies pour réaliser des statistiques de visites, vous proposer des publicités adaptées à vos centres d’intérêt et nous suivre sur les réseaux sociaux. > Paramétrer > J'accepte