À la découverte du jeu Turing Tumble

J’ai suivi avec impatience le trajet des boîtes embarquées sur un porte-container à destination de l’Europe. Il y a presque un an déjà, un collègue m’avait envoyé un message sur une campagne de financement participatif pour un jeu de logique et de réflexion nommé Turing Tumble. Comment résister à un tel nom ?
Profitant alors du volet « diffusion » d’un projet financé par l’Agence Nationale de la Recherche (ANR) auquel j’appartiens, j’ai commandé le Turing Tumble. Pendant une année, ses créateurs m’ont informée de toutes les étapes, et j’ai pu suivre avec un grand intérêt cette aventure passionnante : des premiers prototypes à la recherche d’une usine pour fabriquer le jeu, en passant par leurs réflexions pour trouver une façon à la fois belle et pratique de le mettre dans une boîte… Et voilà, un an plus tard, l’objet tant attendu est enfin devant moi ! D’abord, le plaisir d’ouvrir la boîte. Monter le plateau. Préparer le matériel. Insérer les billes dans les pièces de plastiques pour les lester. Faire mes premiers essais. Ouvrir le livre et découvrir l’histoire de l’héroïne…

Alia est une jeune ingénieure qui a toujours été fascinée par les sciences. Un jour, elle est envoyée en mission dans la nébuleuse Pulsar, où elle doit réparer un satellite de télécommunication. Après trois semaines de voyage, elle atteint le satellite en orbite autour de la planète désertique Eniac. Elle finit tout juste de le réparer lorsque de mystérieux rayons lumineux endommagent son vaisseau qui doit se poser en catastrophe. La voilà seule sur la planète avec à peine assez d’oxygène pour survivre quelques heures ! Son seul espoir est de trouver de l’eau dont elle pourra extraire l’oxygène. Mais la planète rocheuse est bien inhospitalière… Alors qu’il ne lui reste plus qu’une heure à vivre, elle découvre un immense bâtiment d’où émanent des bruits de chute d’eau. À l’intérieur, elle découvre que ceux-ci sont produits par des milliards de billes métalliques qui tombent en cascade le long des murs. Quelle déception ! Alors que tout espoir de survivre l’a quittée, elle comprend que le bâtiment abrite un immense ordinateur mécanique, et décide d’utiliser le temps qu’il lui reste à vivre à comprendre ce qu’il fait et à le réparer.

Le jeu se présente sous la forme d’un grand plateau presque vertical dans lequel de petites pièces en plastique coloré peuvent s’encastrer. Ces pièces jouent le rôle de portes logiques, de mémoire mais aussi de fils transmettant l’information et l’énergie. En haut, on range les billes, rouges d’un côté, bleues de l’autre. Ce sont ces billes qui en cascadant de haut en bas du plateau font bouger les pièces. Une bille qui arrive en bas déclenche le départ de la bille suivante par un astucieux mécanisme reliant le bas au haut du plateau. Chaque énigme est un casse-tête : une situation de départ et un ensemble de pièces utilisables sont proposés. Comment placer les pièces sur le plateau pour obtenir le résultat souhaité ? Ce résultat peut être une alternance de billes de couleur à l’arrivée, ou bien une position des pièces dont l’orientation sur le plateau change au passage des billes. Pour les quatre premières énigmes, un seul type de pièce est utilisé, et on découvre progressivement comment guider les billes sur le plateau.

Après avoir résolu les quatre premières énigmes, alors que ses stocks d’oxygène sont épuisés, Alia enlève son casque et contre toute attente arrive à respirer. L’ordinateur à billes serait-il capable une fois réparé de l’aider à survivre ? Le seul moyen de le savoir est de continuer à le réparer en résolvant les énigmes. Après avoir effectué trois nouvelles réparations à l’aide d’une nouvelle pièce, qui permet aux chemins des billes de se croiser, l’ordinateur commence à parler de manière incohérente. Pas d’autre choix, il faut continuer à le réparer pour en savoir plus ! Alia découvre une nouvelle pièce, le bit, qui peut bouger et stocker de l’information après le passage d’une bille : pointe-t-il à gauche ou à droite ? Après de nouvelles réparations, l’ordinateur commence à dialoguer. Il s’appelle Magnus et apprend à Alia que les habitants de la planète, les Eniacons, ont disparu à cause d’un changement dans l’atmosphère de la planète Eniac. Alia découvre alors avec fascination que Magnus est une Intelligence Artificielle ! Magnus propose à Alia de réparer son vaisseau, mais celle-ci comprend que c’est lui qui l’a faite crasher pour chercher de l’aide… Mais pourquoi a t-il fait cela ? Quel terrible secret se cache dans sa mémoire ?

Grâce au bit, on peut créer des registres sur le plateau : un registre constitué de trois bits permet de stocker en binaire un entier entre 0 et 7. En créant deux registres, on peut comparer des entiers, les additionner et les multiplier. Il y a aussi une pièce qui capture les billes pour arrêter un calcul, et des engrenages pour faire des calculs encore plus sophistiqués.

Mais revenons au début du livre. Le dessin d’inspiration manga dans les tons bleus est vraiment réussi. Les énigmes sont très progressives, on a envie d’aller plus vite. Des enfants ne vont-ils pas trouver aussi que ça avance trop doucement ? Pas du tout, m’explique mon collègue Pablo Arrighi, qui a proposé ce jeu lors de l’atelier informatique qu’il anime régulièrement en périscolaire dans l’établissement de ses fils. Les enfants adorent arriver à résoudre un problème. Les deux élèves de CM2 qui ont commencé à jouer avec le Turing Tumble y reviennent semaine après semaine. Pablo anime son club dans un esprit inspiré de la pédagogie Montessori : les enfants choisissent librement l’atelier sur lequel ils veulent travailler, comme Turing Tumble, ou bien le jeu Code Combat qui permet d’apprendre le Python. Qu’apprennent les enfants grâce au Turing Tumble, d’après lui ? Pablo remet alors ma question en perspective : pourquoi apprend-on de l’informatique aux enfants ? Des jeux comme Code Combat ou Circuit Scramble permettent de découvrir des concepts informatiques beaucoup plus précisément. Mais l’informatique nous apprend aussi à faire des constructions mentales, ce qui est encore plus important pour les enfants : je planifie et je décris des tâches puis je les fais exécuter. Pendant toute la construction, j’imagine ce qu’il va se passer. L’écriture du programme est décorrélée de son exécution. Cela permet de développer ses capacités de projection. Cela permet aussi de raisonner de manière modulaire, étape par étape. Ces méthodes pour résoudre des problèmes sont cruciales dans la vie de tous les jours. Et cela se voit de manière très concrète dans ce jeu, conclut Pablo. Il y a des pièces de plastique, des billes, c’est palpable. Ce côté tactile du jeu est très important pour faire toucher du doigt les concepts !

Un peu de science sur le jeu

Essayons maintenant de comprendre comment le Turing Tumble permet de faire des calculs. Ne pourrait-on pas faire plus simple, par exemple un ordinateur en papier ? On peut écrire un programme sur du papier. On peut aussi coder l’entrée d’un programme et même la sortie, comme une ligne de texte ou une image. Mais le problème, c’est que les calculs ne se font pas tout seuls ! Une fois le programme et les entrées écrites, vous pouvez attendre longtemps en regardant la feuille, mais rien à faire, le résultat n’apparaît pas comme par magie… Il manque de l’énergie ainsi qu’un automate qui lise les entrées, le programme et fasse le calcul. C’est d’ailleurs bien comme ça qu’Alan Turing avait imaginé un ordinateur, bien avant que la technologie ne nous permette d’en fabriquer un : les données (le programme, l’entrée, la sortie, le brouillon) sont stockées sous la forme de lettres écrites sur un ruban de papier, et une tête de lecture/écriture fait évoluer ces données en suivant des règles bien précises, des règles « automatiques ». Par exemple, lorsque nous posons sur le papier une addition comme nous l’avons appris à l’école primaire, la tête de lecture/écriture c’est nous ! Nous utilisons nos yeux, notre cerveau, notre main et un crayon, et à la fin le résultat est inscrit sur notre feuille. Comment cela se passe-t-il dans les ordinateurs actuels ? Ce sont les transistors qui jouent à la fois le rôle du papier qui contient l’information et de l’automate qui exécute le calcul ! Les transistors sont disposés sous la forme d’un circuit dans lequel l’électricité circule. Elle fournit l’énergie nécessaire aussi bien pour calculer que pour écrire dans la mémoire. Dans le Turing Tumble, c’est l’énergie mécanique qui permet de stocker de l’information et de faire les calculs. En tombant, une bille peut changer l’orientation des pièces du plateau : c’est l’écriture dans la mémoire. Le trajet d’une bille dépend de l’état du plateau et les actions qu’elle déclenche sur son passage sont donc différentes : c’est le calcul.

Le plateau du Turing Tumble peut être comparé à un circuit imprimé, qui permet de maintenir en place et de relier entre eux un ensemble de composants électroniques. Sur ce plateau, on peut fixer des pièces de plastique. La plus simple est la rampe (en vert), qui permet de guider les billes qui descendent sur le plateau. Les rampes permettent, comme les fils conducteurs d’un circuit imprimé, de faire circuler l’énergie et l’information. Il y a ensuite les croisements (en orange) : comme leur nom l’indique, ce sont des pièces qui permettent aux chemins de billes matérialisés par les rampes de se croiser sans interférer. Ce ne sont pas des croisements au sens des routes. Les billes ne peuvent pas changer de chemin comme le ferait une voiture à un croisement. Ce sont plutôt des ponts qui permettent à ces routes de se croiser tout en s’ignorant. Comment cela se passe-t-il dans un circuit imprimé ? Il y a en fait plusieurs plans parallèles. C’est ce qui permet aux fils conducteurs de se croiser sans se gêner. La pièce introduite ensuite est le bit (en bleu). Alors que la rampe et le croisement sont fixes sur le plateau, le bit a deux positions. Quand il pointe sur la droite, il envoie la bille sur la gauche et se met à pointer à gauche. Symétriquement, quand il pointe sur la gauche, il envoie la bille sur la droite et change de position. On voit ici que le bit permet de tester une condition : si pointe à droite, alors envoie la bille à gauche, sinon envoie la bille à droite. C’est une fonction très utile dans les langages de programmation !

On peut également comparer le bit à un interrupteur : comme un transistor dans un ordinateur, il a deux états différents. Un interrupteur laisse passer le courant ou le bloque, un bit envoie une bille à droite ou à gauche. Mais l’analogie n’est pas parfaite, car utiliser un interrupteur ne change pas son état, alors qu’on a vu qu’une bille passant par un bit fait changer la direction dans laquelle il pointe. La prochaine bille le traversant n’ira donc pas dans la même direction. L’état d’un transistor au contraire est contrôlé indépendamment. Cependant les bits du Turing Tumble, comme les transistors dans un ordinateur, permettent de créer des compteurs, des registres et des mémoires. Imaginons par exemple qu’on souhaite compter le nombre de billes qui descendent sur le plateau, et que ce nombre est au maximum de 15. On va créer un registre pour compter les billes. Ce registre est constitué de quatre bits sur le plateau, qui représenteront les 4 chiffres binaires qui permettent de représenter un entier entre 0 et 15. Il reste à ajouter des rampes et des croisements de façon à ce que le passage d’une bille ajoute 1 à cet entier. C’est le challenge numéro 21 sur les 60 que compte le jeu !

Magnus est réparé et Alia découvre l’horrible vérité. Pour protéger Eniac d’une catastrophe écologique, Magnus a tué tous les habitants de la planète… et envisage de faire la même chose pour protéger la Terre des humains ! Alia arrivera t-elle à l’en empêcher ? Pour le savoir, il faudra résoudre de nouvelles énigmes !

http://hacknet-os.com/

https://mmi-lyon.fr/