Nyaice! Code est un jeu de société dans lequel vous lancez cinq dés de programmation, combinez les faces en un « programme » et guidez votre chat jusqu’au Poisson doré. Loop, jump, debug, meta, shift — chaque dé porte le nom d’une idée venue de la programmation.
Mais le vrai mécanisme que nous avons intégré à ce jeu ne se trouve pas dans les dés. Il tient au fait que les joueurs peuvent réécrire les règles eux-mêmes.
Confier les règles plutôt que les imposer
Le livret dit, en substance :
Nyaice! Code veut être un jeu de société où l’on sent ce qui est amusant dans la programmation. Ajouter une règle peut le rendre plus palpitant — ou créer toutes sortes de défauts jusqu’à ce que le jeu ne fonctionne plus du tout. Alors comment le rendre plus intéressant tout en le gardant solide ? Essayez d’écrire des règles et vous verrez.
Ce n’est pas seulement une invitation à jouer comme bon vous semble. Faire une règle maison est conçu pour être une expérience de programmation essentielle.
Écrire une règle maison ressemble beaucoup à écrire du code
Vous imaginez une nouvelle règle et vous l’ajoutez au jeu. Cela ressemble étonnamment à l’ajout d’une ligne à un programme.
| Ce qui se passe dans le jeu | Ce qui se passe en programmation |
|---|---|
| Vous écrivez une règle maison | Vous écrivez du code |
| Deux règles se contredisent | Un bug apparaît |
| L’équilibre s’effondre | Cela devient lent ou pénible à utiliser |
| Vous remettez les règles d’aplomb | Refactorisation et débogage |
Un bug n’est pas un échec. C’est un indice sur la conception
Disons que vous ajoutez une règle : si un dé tombe sur une face vierge, on le relance. Cela paraît correct. Puis vous jouez vraiment, et vous découvrez une situation où le tour ne se termine tout simplement jamais.
C’est un bug, au sens plein du terme. Et le trouver signifie que vous avez vu exactement où le système de règles est sous tension. Ce n’est pas un échec ; c’est ce qui vous dit quoi faire ensuite.
C’est en réparant qu’on apprend la conception
Une contradiction trouvée ? Ajoutez une condition. L’équilibre dérive ? Bougez un chiffre. Remettre les règles d’aplomb petit à petit a la même forme de pensée que la refactorisation et le débogage que les programmeurs pratiquent chaque jour.
Faire une règle, la voir se briser, la réparer — parcourez cette boucle quelques fois de vos propres mains et vous finissez avec une vue d’ensemble du système. C’est un cran au-dessus du niveau instruction par instruction de la pensée informatique : c’est de la conception.
Sur le fait de laisser de la place
Nous ne voulons pas faire des jeux qui sont simplement remis, terminés. Nous voulons laisser de la place aux joueurs pour entrer et se tenir là où se tient le concepteur.
L’espace pour les règles maison est une de ces places. Celui qui jouait devient celui qui conçoit. Il se débat avec un bug, trouve comment le corriger et donne un nom à sa propre règle. Dans cette expérience se trouve, discrètement et sans jamais se dire matériel pédagogique, ce que l’éducation à la programmation cherchait vraiment à transmettre.
Du vrai plaisir. De la vraie réflexion. Les règles maison sont un petit morceau de conception, mais c’est peut-être là que cette idée se montre le plus clairement.