Je ne ferai pas un listing de tous les jeux de ce type, mais je parlerai des quelques jeux que j'ai essayés.

Glitchspace

Unique jeu du studio Space Budgie, Glitchspace a la particularité de mélanger vue a la première personne et programmation. On se retrouve projeté dans un univers très abstrait et après un tuto très simple sur le déplacement du personnage, on récupère un artefact nous permettant de reprogrammer certains éléments du jeu, ces éléments étant affichés en rouge.

Celui-ci permet, lorsqu'il est activé, l'affichage d'une sorte de grille permettant d'ajouter différents blocs, ayant chacun une fonction, et de les relier entre eux. Dans ces blocs, on a des blocs logiques (et/ou/…), des blocs nombres (1, 10, 20…), des blocs de modification physique (déplacer, étirer…), etc.

L'objectif du joueur est donc d'évoluer dans ce monde et de résoudre différentes énigmes afin de pouvoir continuer sa progression vers une espèce de gyroscope géant.

Le jeu contient également un mode bac a sable afin de permettre au joueur de tester tout et n'importe quoi.

while True: learn()

Créé par le petit studio indé russe Luden.io, ce jeu se focalise sur l'aspect "Machine learning", intelligence artificielle.

L'histoire ? Nous jouons le rôle d'un programmeur qui n'arrive pas a débugger son programme. Le temps d'aller chercher de quoi épancher sa soif, il découvre que son chat est en fait un génie de la programmation et que celui-ci a réussi à corriger son programme. Du coup, notre programmeur se donne un nouveau but : créer un programme pour comprendre ce que dit son chat (et tous les chats par la même occasion).

L'évolution dans le jeu est représenté sous forme d'arbre, proposant des niveaux de plus en plus complexes et de différents type : réussir un objectif particulier, gérer une start-up, créer un automate, etc. L'ordre des niveaux permettant de retracer l'évolution dans le domaine de l'intelligence artificielle.

Les niveaux sont représentés par les données à gauche et les résultats à droite. On a à notre disposition différents blocs ayant chacun une fonction précise (trier des couleurs, trier des symboles, tri simple, tri via apprentissage…) et, un peu comme dans Glitchspace, il suffit de les lier en eux. À noter que chaque bloc contient aussi une durée de traitement qu'il faudra prendre en compte, car en plus du résultat qui doit correspondre à la demande, tout doit se faire le plus rapidement possible.

Enfin, le jeu contient un aspect pédagogique dans le sens où, en plus de diverses références historiques sur l'évolution du Machine Learning, il propose régulièrement des liens vers des articles/vidéos/cours sur différents concepts abordés dans le jeu. Voici le replay du stream sur ce jeu, si vous souhaitez en voir un aperçu.

Human Resource Machine

Ce jeu est issu du studio Tomorrow Corporation, ayant également créé Little Inferno (et World of Goo sous le nom de 2D Boy). On retrouve donc la même patte graphique et elle ne plaira pas forcement à tout le monde.

Dans ce jeu, on incarne un employé fraichement arrivé dans une entreprise. Notre objectif sera d'arriver tout en haut du building, sachant que chaque étage représente une énigme a résoudre.

Comme pour while True: learn(), la liste des niveaux est représenté sous forme d'arbre mais la similitude s'arrête la. Une fois le niveau choisi, on se retrouve dans un bureau avec 2 tapis roulants (les données en entrée à gauche, sous forme de cartons numérotés, et la sortie a droite) et une zone de stockage temporaire au milieu.

Notre objectif sera de donner des ordres à notre employer afin que celui-ci remplisse l'objectif qui lui est demandé (par ex. envoyer en sortie les cartons en entrée avec un numéro doublé). Ces ordres sont organisés sous forme d'un programme qui l'on crée en positionnant des commandes avec la souris et en exécutant celui-ci. La représentation graphique ressemble beaucoup au langage Scratch, un langage créé par le MIT et dédié a l'apprentissage de la programmation.

TIS-100

Créé par Zachtronics, studio spécialisé dans les jeux intégrant fortement des notions de programmation, voici TIS-100. Dans celui-ci, on se retrouve face à un ordinateur expérimental des années 70 ayant vu ses données corrompues. Afin de déverrouiller tout ça, il va falloir reprogrammer certains segments en utilisant un langage bas niveau que l'on pourrait assimiler à de l'assembleur (les commandes sont des trigrammes. Par ex : MOV, JMP, ACC, SWP…). Lorsque l'on ouvre un segment à reprogrammer, on fait face à 3 zones :

  • En haut, à gauche : L'objectif à atteindre
  • À gauche : les données que seront envoyés
  • Le reste de l'écran est constitué de plusieurs blocs de code

Ces blocs ne peuvent contenir que 15 lignes/instructions chacun (pour des blocs classiques) et sont tous connectés via des ports de communications. C'est ensuite au joueur de programmer ces blocs afin de résoudre le problème et obtenir les bons résultats.

À chaque fois que l'on réussit à compléter l'objectif, le jeu nous donne des stats permettant de nous situer par rapport à tous les autres joueurs (nombre de cycles, nombre de nœuds utilisés, nombre d'instructions).

Ce jeu est vraiment adressé à ceux que la programmation ne fait pas peur. L'interface est austère, aucun tutoriel, une documentation sous forme d'un scan d'un manuel en PDF… Vous voila averti !

else heart.break()

À l'inverse des autres jeux que l'on a vus, on a ici un véritable jeu d'aventure dans le style point & click avec une histoire travaillée, avec de multiples fins, et non pas un simple enchainement de puzzle.

On joue le rôle de Sebastian, un jeune adulte vivant encore chez ses parents. L'histoire commence alors que celui-ci décroche son premier emploi et qu'il doit partir travailler dans la ville de Dorisburg, situé très loin de chez ses parents. Après avoir fait diverses rencontres, votre personnage va apprendre les bases du hacking et, grâce a cette nouvelle capacité, vous serez en mesure de tout hacker… tout, même un verre d'eau. Ce qui va vous permettre de modifier le comportement de tous les objets du jeu.

Par exemple, vous êtes fatigués ? On va donc modifier notre verre d'eau afin que celui-ci réduise la fatigue et hop. Ou alors, on a besoin de se rendre a un endroit particulier ? Ok, je modifie le code de cette porte afin qu'elle m'amène là où je le souhaite.

Le langage utilisé dans le jeu se rapproche beaucoup du BASIC, langage phare des années 80, intégré dans de nombreux ordinateurs, et avec une syntaxe suffisamment simple pour être facilement compris par la plupart des personnes.

Et les gros studios ?

Comme on a vu, tous ces jeux sont issus de petits studios indépendant. Et bien, côté gros studios, il y a quelques tentatives, mais elles se rapprochent plus de la création de contenu qu'un jeu.

On peut noter Dreams (PS4), de Media Molecule (LittleBigPlanet), une sorte de bac a sable ou l'on peut laisser libre cours à notre imagination.

Coté Nintendo, en dehors des Mario Maker, il y a le mode "Toy-con Garage" des Nintendo Labo qui permet, via un outil de programmation visuelle, de créer divers objets interactifs (suffit de rechercher sur votre moteur de recherche). Et surtout, il y a l'annonce très récente de "Game Builder Garage"/"L'atelier du Jeu Vidéo", un logiciel de création de jeux, également basé sur de la programmation visuelle, dont voici la vidéo d'annonce.