SPY

De EduTech Wiki
Aller à la navigation Aller à la recherche

Page réalisée dans le cadre du cours Jeux Vidéo Pédagogiques (VIP)
(volée "Freya" 2025-2026) de la formation maltt, au TECFA.

Cette page est une ébauche en cours de réalisation. Ne pas citer.


Fiche réalisée dans le cadre du cours Jeux Vidéo Pédagogiques (VIP)
Logo du jeu SPY
Logo du jeu SPY

Description générale

SPY est un jeu sérieux, gratuit et open-source, conçu pour l’initiation à la programmation et à la pensée informatique. Le principe est de programmer, à l’aide de blocs, les actions d’un robot afin qu’il sorte d’un labyrinthe en évitant différents obstacles et en résolvant des situations de plus en plus complexes (portes, terminaux, sentinelles, contrôle de plusieurs robots, etc.).

Le jeu enseigne la façon de penser en informatique en décomposant chaque action pour atteindre un objectif. Pour cela, chaque action est représentée sous forme de blocs qui peuvent, dans certains niveaux, être limités en nombre afin d’obtenir le résultat le plus optimisé possible. À chaque nouvelle fonctionnalité (nouveau bloc, nouvelle mécanique, etc.), une description claire et précise est donnée à l’utilisateur.

Le jeu SPY est une application web accessible directement depuis un navigateur, sans installation nécessaire. Il fonctionne sur tous les systèmes d’exploitation et a été développé avec Unity. Le jeu est gratuit et disponible à l’adresse suivante : SPY. Il est édité par le laboratoire LIP6 de Sorbonne Université, au sein de l’équipe de recherche MoCAH.

Analyse pédagogique

Contenu enseigné

Ce jeu permet aux enseignants d’avoir un support ludique pour aborder une première manipulation de concept informatique et de se familiariser avec la pensée informatique.

Le jeu propose plusieurs scénarios qui sont liés à différents apprentissages. Les concepteurs du jeu se sont basés sur la pensée informatique (Wing, 2006), qui est définie par cinq capacités cognitives : (1) la pensée algorithmique, (2) l’abstraction, (3) l’évaluation, (4) la décomposition, et (5) la généralisation. Ces 5 compétences constituent les objectifs pédagogiques de SPY.

Objectifs Pédagogiques

1. La pensée algorithmique

Le jeu SPY nécessite d'adopter une pensée algorithmique afin de planifier une suite d’action logique dans un ordre précis.

2. L’abstraction

L'abstraction se développe autour de l'observation et la modélisation des situations rencontrées.

3. L'évaluation

Lors de l'évaluation, la joueur va apprendre à comparer différentes possibilités et déterminer la meilleure solution possible.

4. La décomposition

La décomposition de problèmes complexes en une série de petites étapes successives permet au joueur d'établir des solutions via un processus simplifié.

5. La généralisation

Grâce à la généralisation, le joueur pourra réutiliser d’anciennes solutions tout en les adaptant à de nouvelles situations.

En résumé, SPY met en avant les 5 piliers fondamentaux de la programmation informatique de manière ludique et réfléchie avec une approche complète et équilibrée.

Principes pédagogiques

Apprentissage constructiviste et expérientiel

SPY suit une approche où le joueur apprend en faisant. En testant, en essayant et en se trompant, il découvre par lui-même les bonnes stratégies et comprend comment fonctionne la logique informatique. Les niveaux deviennent progressivement plus complexes, ce qui permet de revoir et de renforcer les connaissances tout en continuant à progresser.

Exemple avec un scénario du jeu :

Le scénario Explorateur:

Va permettre à l’élève d’utiliser plusieurs blocs afin de pouvoir déplacer son robot. On peut relever que celui-ci s'inscrit dans le courant du constructivisme qui dit que les connaissances de l’élève sont reconstruites à partir des situations qu’il vit en interprétant leur expériences (Piaget, 1950, cité dans Bourgeois, 2011).

En effet, lorsque l’élève joue et se trompe. Il va apprendre activement de son erreur. L'élève va assimiler de nouveaux éléments qui sont à sa disposition (ici par exemple un nouveau chemin que doit faire le robot pour arriver jusqu’à la sortie). L’élève ne pourra pas faire le même schéma que précédemment, il va s'accommoder en essayant de changer l’ordre de ces blocs. Il devra trouver un certain équilibre entre assimilation et accommodation durant ce scénario pour progresser. par extension nous pouvons donc parler d’apprentissage actif.

Apprentissage actif

Dans SPY, le joueur est acteur de son apprentissage. Il ne se contente pas de regarder, mais agit, teste et corrige. Le jeu lui donne un retour immédiat sur ses actions, ce qui l’aide à comprendre ses erreurs et à améliorer ses solutions. Cela rend l’apprentissage plus motivant et favorise la réflexion personnelle.

Apprentissage par répétition

SPY repose aussi sur la répétition et l’expérimentation. Le joueur peut recommencer autant de fois qu’il le souhaite jusqu’à trouver la bonne solution. Ce processus permet de renforcer la mémoire, la compréhension et la logique de raisonnement nécessaires à la programmation.

Analyse ludique

Mécaniques de jeu

Mécaniques principales

Programmation séquentielle

  • Création d’une suite ordonnée d’instructions en glissant-déposant les actions suivantes dans la zone d'édition (Fig 1.) :
    • Avancer d’une case
    • Tourner à gauche ou à droite
    • Activer un interrupteur
    • Attendre

Exécution et test

Un bouton “play” est dédié au lancement du programme . Il permet d'observer le comportement du robot. Il y aussi un bouton "pause" et "stop".

Résolution de missions

Le niveau s’accomplit avec une programmation correcte du robot. Le robot doit terminer sa séquence sur la case du portail rouge (Fig 1.).

Mécaniques de soutien (ou secondaires)

Physique du décor

Chaque niveau est composé de cases où les robots peuvent marcher dessus.

L'espace de jeu est délimité par des murs infranchissables (frontières). Ces murs deviennent transparent lorsque le robot se cache derrière ce qui permet de le voir constamment.

Des portes sont présentes dans certains niveaux et peuvent être fermées ou ouvertes.

Des interrupteurs utilisables peuvent être présents et sont reliés au fonctionnement des portes.

Les portails bleus indiquent le point d'apparition des robots et les portails rouge représentent la sortie du labyrinthe.

Des pièces d'or sont parfois présentes sur certaines cases. Lorsqu'un robot passe sur ces cases, les pièces disparaissent.

Hitbox des robots

Les robots ne peuvent pas se toucher et de ce fait, ils ne peuvent pas occuper la même case au même moment.

Système d'évaluation de la solution

Le nombre d’étoiles obtenues (1, 2 ou 3) détermine la performance. Les 3 étoiles signifient que la meilleure solution a été trouvée. Autrement dit, le joueur à trouver la séquence nécessitant le moins d'actions.

Mécaniques accessoires

Création de missions/scénarios

Cela permet au joueur de concevoir des missions ainsi que des scénarios jouables et partageables. Pour la création d'une mission, il commence avec un environnement vide et peut choisir chaque élément disponible dans le jeu

Aides écrites

Description des nouvelles fonctionnalités des niveaux.

Mécaniques englobantes

Anonymisation des sauvegardes

Il y a une absence de création de profil personnel. Le joueur reçoit un code unique à sa première session de jeu et il devra le réutiliser s'il veut conserver sa progression.

Progression par niveaux

La difficulté est croissante et les problèmes se complexifient.

FIG 2. Interface principale du jeu

Habillage

Concernant l’habillage du jeu, il se déroule dans un monde futuriste, plus précisément dans ce qui semble être un laboratoire. En effet, les personnages à déplacer sont des robots, avec des portes à désactiver qui ressemblent à des champs magnétiques, ainsi que des ennemis également sous forme de robots. Les images et les sons renforcent cette ambiance futuriste.

Pour l'aspect technique : La 1ère interface que le joueur voit est une salle avec le Robot. C’est la page principale. Avec à gauche, le menu en vert avec les différentes options.  lorsque l’on clique sur un scénario nous avons une explication de ce qui l’attend et l’objectif.  

lorsque l’on clique sur un bouton il se colore et il y a un son. Lorsque le robot fait le chemin du début qui est marqué par un rond bleu sur la case et arrive à la case arrivée qui est marqué d’un rond rouge il y a un autre son.  

Temporalité et granularité

SPY contient plusieurs scénarios, ces différents scénarios ont ensuite plusieurs niveaux. Il y a 4 scénarios. Explorateurs, Collaborateur, Répétiteur, Sélectionneur. Il y a aussi un niveau dit “0” qui est appelé "Tutoriel" et qui est recommandé lorsqu’on n’a jamais joué à SPY.  De plus, on peut retrouver le “BlocklyMaze” qui est une réplique du jeu qui porte ce nom et “Infiltration”. Ces deux derniers vont utiliser toutes les fonctionnalités des 4 autres scénarios. Sur une échelle temporelle plus locale, chaque action représente une unité de temps élémentaire. Le jeu se déroule à travers leur enchaînements. Le programme détermine le début, la durée et la fin de chaque mission.

Voici un tableau récapitulatif des scénarios avec le nombre de missions (= niveaux) et les fonctionnalités :

Niveaux (Missions) Fonctionnalités
0 TUTORIEL 1 Bloc “Avancer”
1 EXPLORATEUR 8 Nombre de bloc requis (Plus facile) puis blocs d’action en illimités
2 COLLABORATEUR 12 2 robots à nommer et choisir la bonne solution pré-construite
3 REPETITEUR 10 Bloc d’action limité et sentinelles
4 SELECTIONNEUR 8 dans l'éditeur apparition des mots “ Si Alors” et “ Tant que” le point d'arrivée est caché par un brouillard, il faut lire la consigne et faire les blocs.
BLOCKLYMAZE 10
INFILTRATION 20

Tableau 1 : Scénarios avec le nombre de niveaux et les fonctionnalités qui sont associés à SPY.


Les missions elles même ont un système d’étoiles. Il y a 3 étoiles. Pour les avoirs il faut réaliser la mission de la façon la plus efficace possible. Si la solution fonctionne mais qu’il y en a une plus performante le nombre d'étoiles est moins élevée une ou deux sur 3. Il y a une évolution des scénarios. Au 4ème, il y aura plus de fonctionnalités. Lorsqu’il y a une nouvelle fonctionnalité, elle est expliquée dans un encadré. Il donne aussi des indications au joueur pour réussir la mission.

FIG 3. Structure des blocs

Stratégies de jeu

Essai-erreur

Cette stratégie ne présente aucune pénalité pour le joueur et il dispose d'un nombre d'essai illimité. Le feedback en direct permet au joueur de réajuster ses essais (échec/succès). Elle est généralement utilisée pendant les premiers pas du joueur lorsqu'il découvre les mécaniques du jeu (accommodation/assimiliation) mais ne suffira pas pour progresser durablement.

Simplification

En simplifiant les problèmes rencontrés, les joueurs peuvent les résoudre par étape. Par exemple, au lieu de programmer toute la séquence en une fois, on peut programmer les 5 premières actions. Ensuite, on se concentre sur les 5 prochaines et on recommence jusqu'à obtenir une séquence complète. Cela permet de soulager la mémoire de travail et la charge cognitive associée.

Optimisation

Certains joueurs pourraient considérer que l'obtention des 3 étoiles constitue une validation totale des problèmes rencontrés. L'idée d'optimiser sa solution va changer leur manière d'aborder les missions en se focalisant d'avantage sur la qualité de leur solution et en rejouant les mêmes missions plusieurs fois.

Généralisation

Ce qui a fonctionné par le passé pourrait s'appliquer à la situation présente. Les joueurs peuvent se servir de ce qu'ils connaissent déjà pour progresser dans le jeu.

Créativité

Face à une impasse, les joueurs peuvent casser les codes établis et jouer d'une manière inattendue. Cette stratégie peut naître à travers la conception de ses propres missions. En se mettant à la place du développeur, les joueurs stimulent leur créativité et peuvent l'appliquer dans leur manière d'aborder de nouvelles situations.

Intégration du contenu enseigné dans le jeu

Le jeu SPY intègre directement le contenu à apprendre dans ses mécaniques. L’objectif n’est pas simplement de lire ou d’écouter des explications sur la programmation, mais de la mettre en pratique à travers des actions concrètes.

Dans les mécaniques principales, on retrouve tout le contenu à enseigner. Le joueur doit exécuter des mouvements à l’aide de blocs, créer des programmes, choisir entre différentes solutions et atteindre la cible rouge. Toutes ces actions demandent d’appliquer les notions de base de la programmation, comme les boucles, les conditions, les fonctions ou les séquences d’actions. Le joueur apprend donc en agissant, sans avoir besoin de passer par une phase de théorie pure.

Les mécaniques secondaires complètent cet apprentissage. Le fait de pouvoir tester son programme en temps réel permet de comprendre immédiatement ce qui fonctionne ou non. Les éléments interactifs, comme les portes ou les ennemis, poussent le joueur à réfléchir à la logique du code et à adapter sa stratégie. Le choix de la vitesse d’exécution aide aussi à mieux observer le déroulement du programme, étape par étape, ce qui favorise la compréhension.

Les mécaniques accessoires ont un rôle de soutien. Les aides visuelles, les explications écrites et la synthèse vocale permettent de mieux comprendre les nouvelles notions et d’adapter le jeu à tous les types de joueurs, y compris ceux qui rencontrent plus de difficultés.

Enfin, les mécaniques englobantes permettent de structurer l’apprentissage. Les niveaux progressifs et la sauvegarde du jeu encouragent une progression sur le long terme. Chaque scénario introduit une nouvelle notion ou une nouvelle difficulté, ce qui permet au joueur d’apprendre étape par étape, sans être perdu, tout en prenant le temps dont il a besoin.

Dans ce jeu il y a trois référentiels de compétences : celui de SPY, le PIAF et le CRCN. Le référentiel PIAF définit les compétences de la pensée informatique et algorithmique pour l’enseignement fondamental. Le CRCN est le cadre de référence des compétences numériques. Le référentiel SPY définit les fonctionnalités du jeu par exemple : “résoudre un problème en plusieurs étapes”. On peut donc dire que le contenu enseigné est présent dans la mécanique principale du jeu.

Points forts et points faibles

Points forts

Un des points forts que j’ai constatés est la facilité d’utilisation pour les joueurs. Le jeu est intuitif, avec ses petits blocs et son bouton “play”. De plus, les explications des différentes fonctionnalités sont très claires, ce qui rend l’apprentissage de la programmation plus simple et plus agréable.

Un autre point fort est la progression dans les niveaux. Chaque scénario apporte de nouvelles mécaniques et un peu plus de complexité, ce qui permet d’apprendre étape par étape sans jamais être perdu.

L’aspect visuel du jeu est également bien pensé : les couleurs des blocs aident à comprendre rapidement leur rôle et rendent l’interface agréable à utiliser.

Enfin, le fait de pouvoir tester son programme bloc par bloc est un vrai plus, car cela permet de corriger facilement ses erreurs et de mieux comprendre la logique du code.

Points faibles

Il y a quand même quelques points négatifs dans le jeu. Tout d’abord, pour les joueurs qui comprennent rapidement la logique de la programmation, un sentiment de lassitude peut vite apparaître. En effet, le jeu est assez répétitif : il aide beaucoup les débutants à progresser, mais peut devenir ennuyant pour ceux qui souhaitent aller plus loin.

La vitesse d’exécution est également un peu lente. Même avec l’option pour aller deux fois plus vite, cela reste parfois frustrant, surtout quand on a déjà créé un programme et qu’on connaît toutes les actions à venir. Il serait intéressant d’ajouter une option pour exécuter le programme instantanément.

Système d'anonymisation : si le joueur oublie son code, il doit tout recommencer.

Logiciels similaires

CeeBot 4

Ce jeu initie également à la programmation. Des instructions doivent être indiquées à des robots avec de vraies lignes de code inspirées de langages comme C++ ou Java. Le joueur est invité à tester un code et à le corriger s’il présente un problème. L’expérimentation est au cœur du gameplay et les objectifs pédagogiques sont similaires à ceux de SPY.

CodeCombat

Parmi les jeux similaires présents sur le Wiki, on peut citer CodeCombat, qui enseigne la programmation de manière interactive, un peu comme SPY. Le joueur apprend en jouant et progresse à travers différents niveaux de difficulté. Tout comme dans SPY, la logique de programmation est au centre du jeu, et chaque niveau introduit de nouvelles notions à comprendre et à appliquer.

K-ROBOT

K-ROBOT est un jeu similaire avec l’objectif d’apprendre les bases de la programmation. Il est cependant moins développé au niveau des blocs que le joueur peut faire.

MySQLgame

MySQLgame n’a pas la même forme mais l’objectif est aussi d’apprendre certaines bases informatiques.

RobotProg

Il y a aussi RobotProg, qui est très proche de SPY, car on y contrôle des robots à l’aide d’instructions. L’apprentissage se fait principalement par la pratique : on teste, on fait des erreurs, puis on corrige, exactement comme dans SPY. Le jeu met l’accent sur la logique et la résolution de problèmes, ce qui le rend très intéressant pour les débutants en programmation.

Bibliographie

Bourgeois, É. (2011). Apprendre et faire apprendre. In Apprendre et faire apprendre (p. 23‑39). Presses Universitaires de France. https://doi.org/10.3917/puf.brgeo.2011.01.0023

M. Muratet, S. Jolivet : “GTC un formalisme permettant l’analyse automatique des compétences de la pensée informatique dans un jeu sérieux : application au jeu SPY”, Sticef, vol.31, n°1, 2024, p.10-44, DOI: 10.23709/sticef.31.1.1 (2025)

M. Muratet : “SPY : Un jeu sérieux partagé pour étudier l’apprentissage de la pensée informatique”, Actes de l'atelier Apprendre la Pensée Informatique de la Maternelle à l'Université. APIMU 2023, Brest, France, pp. 33-40 (2023)

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33‑35. https://doi.org/10.1145/1118178.1118215

Auteurs : Lilas Ratcliff, Esteban Flores, Karim Dzajic