
Algo Bot – Vis ma vie de codeur
La programmation, ce langage auquel nous sommes confrontés en permanence et dont nous sommes nombreux à ignorer presque tout. Algo Bot a pour ambition de nous faire comprendre la logique du code de façon ludique. Apprendre en s’amusant, comme on disait dans les années 80.
Algo Bot est un petit robot chargé de la gestion des déchets dans un vaisseau de colonisation spatiale. Le Wall-E de service en somme, à peine plus sexy que le robot de montage dans une usine Saupiquet. Heureusement, l’inévitable bordel se produit pendant que les humains roupillent dans leur capsule de stase. Le module de commande du vaisseau se détraque, laissant le gouvernail à vous et votre supérieur, robot de son état lui aussi. Votre boss prend les choses en main et vous dit quoi faire. À vous de savoir comment faire.
Le jeu se compose de 46 niveaux à écran fixe. Le but des opérations est de parcourir le niveau, du départ du chemin jusqu’à l’arrivée, en remplissant les conditions intermédiaires (comme l’ouverture de portes). Pour y parvenir, il faudra programmer votre robot de A à Z : le pauvre petit ne sait rien faire tout seul. Avec votre ligne de code et une poignée de commandes, vous allez le mener à la baguette comme le bon chienchien à son pépère.
Pivote à gauche, avance, avance, avance, pivote à droite, avance. Tel est plus ou moins le code à programmer pour réussir le premier niveau. Ensuite, votre supérieur vous assigne des tâches supplémentaires, comme l’actionnement d’un bouton ou son propre transport d’un point A à un point B. Très vite, votre ligne de code limitée sera trop petite pour y faire tenir toutes les commandes. C’est ici qu’interviennent les fonctions, des séquences qui se répètent dans un même niveau. Bingo, vous avez remplacé quatre commandes en une sur votre ligne de code en appelant la fonction. Algo Bot arrive à destination, votre supérieur est content et vous consultez le panneau de vos résultats. Et là, vous vous apercevez que vous avez consommé cinq commandes de plus que le score parfait ! Comment est-ce possible ? Qu’aurais-je pu mieux programmer ? Le temps de l’optimisation est venu…

Un exemple de code optimisé à la truelle
Après quelques niveaux réussis, votre obsession sera d’optimiser votre code, de le rendre le plus pur possible. On touche là évidemment à un point essentiel de la programmation, un sacré casse-tête pour un novice. Mais le jeu ne s’arrête pas en si bon chemin, puisqu’il intègre une subtilité à chaque étape de la progression. Les variables vous attendent ainsi en cours d’aventure. Lisez la variable et amenez-la à son point de chute pour déclencher une action. Bien sûr, cette partie de plaisir se complique quand deux variables différentes coexistent dans le niveau.
Poursuivons avec les « conditions » si vous le voulez bien. Encore un élément fondamental de la programmation (le fameux « if… then… » du basic). Concrètement, vous demandez à votre ligne de code d’interpréter une donnée pour activer la commande correspondante. C’est un peu comme si le conseil de classe réagissait comme ceci lors de votre examen de passage : SI la note de Machin est égale ou supérieure à 10, ALORS donnez à Machin son foutu diplôme – SI sa note est inférieure à 10, ALORS faites-le doubler son année, bien fait pour sa tronche.
Ca n’a l’air de rien, mais une « condition » comme celle-ci peut considérablement alléger votre code. Imaginez-vous avec une fonction répétitive dont une seule commande change en plein milieu. Vous serez bien heureux de pouvoir demander à Algo Bot de suivre cette fonction, mais en tournant à gauche s’il voit un feu vert et à droite s’il repère un feu rouge. Visualiser le résultat d’une telle programmation est véritablement grisant pour un non-initié. Algo Bot reproduit docilement votre programme à l’écran et vous le voyez progresser comme un marionnettiste. Mais c’est alors que votre robot se plante en appliquant votre séquence. Pas le choix, c’est le moment d’apprendre à débugger.
Comme pour tout codeur, cette phase de correction n’est pas la plus drôle. « T’as merdé, mec, sors-nous de là maintenant ! » pourraient nous lancer les deux protagonistes robotiques. Sauf qu’ils ne quittent jamais leur ton amical, leurs drôles de mimiques et leurs répliques choupi tout au long de l’aventure. Cette bonhomie générale renforce encore le côté apaisant du jeu. Sans stress, vous composez votre ligne de code et vous apprenez de vos erreurs. La musique ne porte certainement pas sur les nerfs et les graphismes sont aussi clairs que possible. L’interface à la souris ne pose également aucun souci. Bref, des conditions idéales pour se casser la tête quand les énigmes se corsent.
Algo Bot n’est pas aussi jeune qu’il en a l’air. Prévu amoureusement pour une sortie commerciale le 14 février 2018, il a pourtant déjà vécu une autre vie. Il faisait ainsi ses premiers pas dès 2013 dans le cadre d’une collaboration belge entre le studio Fishing Cactus et l’institut de formation Technobel. Son but premier était l’initiation au code en préambule à une véritable formation. Sa forme tenait donc plus du serious game, l’un des deux pôles d’activité de Fishing Cactus. L’autre pôle, qui consiste justement à développer des jeux vidéo, s’est ensuite emparé du projet et a sollicité un soutien sur Kickstarter, sans succès. Malgré cet échec, la réussite d’Epistory a poussé le studio à persévérer et à créer le jeu qu’il désirait faire. Le résultat est aujourd’hui disponible sur PC, Mac et Linux au prix de 10 euros. Avec des graphismes dignes d’un jeu vidéo, une histoire rigolote et une interface pratique.
Note
14/20
Ne comptez pas sur Algo Bot pour vous transformer en véritable programmeur, ce serait trop lui demander. Sa vocation est de vous apprendre la logique de la programmation, en appliquant des principes généraux qui ne sont pas propres à un langage en particulier. Et il le fait très bien, sans oublier d’être un jeu vidéo divertissant, motivant et gratifiant.
Laisse un commentaire