CodeCombat, un jeu vidéo pour apprendre à programmer
Et ben voilà ! Ca fait un moment que je suis aux aguets, espérant trouver une initiation à la fois ludique et complète à la programmation. Les applications visuelles dans lesquelles on déplace et assemble des blocs représentant les morceaux de commandes (comme ce qui est utilisé pour les exercices Hour of Code), c’est très bien pour les vrais débutants, et les jeunes enfants pour qui la saisie de texte au clavier peut être pénible. Mais ensuite, on fait quoi ? On passe directement à la programmation en Python ou en Javascript ? Un peu rude, si vous voulez mon avis (de personne qui n’y connait pas grand chose, et donc aimerait quelque chose de plus attirant, qui donne envie de s’y mettre).
Cette semaine, en cherchant des images pour illustrer mon article de lundi sur Hour of Code 2015, je suis tombé sur CodeCombat. Et là, c’est la révélation. C’est ça, le truc qui manquait, pour relier le complètement ludique et visuel, et le complètement textuel et austère. CodeCombat est un jeu vidéo qui se joue dans le navigateur internet. L’écran de jeu se compose de deux parties, comme Code Studio ou Scratch. A droite, une fenêtre de commande, dans laquelle le joueur crée son programme. A gauche, une fenêtre de rendu, dans laquelle se matérialisent les résultats du programme. Différence avec Code Studio et Scratch : le joueur ne créer pas son programme en glissant-déposant des blocs, mais en saisissant du code au clavier. Au choix en Python ou en Javascript.
L’ensemble est vraiment très bien pensé, on se trouve face à un vrai jeu, avec :
- Une ambiance heroic-fantasy, dans les personnages, les objets, les décors
- Des mécanismes de RPG : gain de points d’expérience, achat d’objets débloquant de nouvelles compétences…
- Des récompenses lorsque le joueur réussit un niveau, et des bonus lorsqu’il remplit des objectifs secondaires (par exemple : réussir le niveau avec moins de 9 lignes de code)
- Plusieurs campagnes, correspondant à différents thèmes visuels, différents niveaux de complexité, et différents concepts de programmation
- Un mode multijoueur, en solo ou en clans
- Des classements selon les performances des joueurs
- Un didacticiel intégré, qui aide à comprendre chaque nouvelle commande, tout au long des premiers niveaux
- Un compte personnel qui permet de sauvegarder automatiquement tous ses progrès dans le jeu
Je n’ai pour l’instant fait qu’une douzaine de niveaux, mais la courbe de progression me semble vraiment bien dosée. On commence par le déplacement du personnage, puis rapidement arrivent les boucles, les conditions, les variables… On n’est jamais perdus, grâce aux explications sur chaque commande disponibles lorsqu’on passe la souris dessus, aux indices qui apparaissent au début des niveaux, et parfois en cas d’échec.
CodeCombat est presque entièrement traduit en français, c’est développé en opensource, c’est majoritairement gratuit (il est possible de payer pour avoir des gemmes, qui permettent d’acheter des objets dans le jeu – mais on peut aussi gagner des gemmes simplement en jouant).
Vraiment excellent, pour des enfants à partir de 9-10 ans (estimation personnelle), mais aussi pour des adultes qui souhaiteraient s’initier à la programmation en Python ou en Javascript.
A découvrir ici : CodeCombat.
‘c’est majoritairement gratuit’
ah bon ? bah ça a changé alors car maintenant tu fais 12 exercices différents et c’est fini c’est à dire après 10 minutes si tu veux allez plus loin il faut payer
Effectivement ça a du changer, j’ai fait largement plus de dix minutes et à aucun moment n’ai vu de demande de paiement (à l’époque de cet essai).