Il y a plus de 10 ans, j’ai imaginé une famille de casse-tête. Plus précisément, j’en ai rêvé une nuit, et dès mon réveil, j’ai couché sur un papier les idées principales. J’ai ensuite parlé de l’idée avec une poignée de collègues, et c’est devenu une discussion occasionnelle, un petit jeu géométrique simple. Si nous n’en avons pas fait émerger une problématique de recherche amusante, j’avais tout de même fabriqué un logiciel pour fabriquer automatiquement des manuels de jeu.
Le temps a passé, et à la faveur d’une discussion nocturne avec mon oncle Jean-Pierre, je me suis dit que c’était l’occasion de dépoussiérer le code source, et de présenter ici le fonctionnement du jeu, que j’avais alors appelé Voxigame.
Le jeu en quelques mots
En quelque mots, le principe du jeu consiste à placer des briques à l’intérieur d’une boîte, tout en réservant un chemin reliant deux fenêtres de passage ménagées sur les côtés de la boîte. Une fois la boîte refermée, aucune brique ne dois pouvoir se déplacer.
L’image ci-dessous présente le manuel d’un exemple simple. La boîte est de la taille de 3 cubes en hauteur, de 3 cubes en profondeur, et de 1 cube en largeur. On doit y placer 4 briques faisant 2 cubes de longueur, et garder un passage entre les deux fenêtre de passage dessinées en bordeaux sur l’image.
La dernière partie de l’image tout à droite présente les étapes de remplissage de la boîte.
Si l’idée vous amuse et que vous avez envie de réfléchir à des cas un peu plus compliqués, rendez-vous sur la page des motifs élémentaires, ou sur celle des quelques exemples plus sophistiqués. Chaque manuel est structuré avec des pages qui dévoilent de plus en plus la solution, comme présenté ci-dessus.
Voici la première page des différents exemples proposé :
Explications et code source
Si vous avez envie d’en apprendre plus sur ce jeu, vous pouvez consulter les règles détaillées et explicatives, mais aussi les traces des réflexions pour concevoir des exemples intéressants.
Et si vous êtes encore plus curieux, vous pourrez consulter le code source, que je viens de migrer en Qt5. Et oui, il y a 13 ans, j’avais écrit ça en Qt4, et j’ai dû faire de tout petits ajustements (notamment de la chaîne de compilation) pour que tout compile sur un environnement récent.
Et si Voxigame continuait sa route ?
Quand je me suis arrêté d’explorer Voxigame il y a plus de 10 ans, j’avais très envie de deux choses.
D’un point de vue formel tout d’abord, de définir l’ensemble des configurations (taille de la boîte et position des fenêtres) pour lesquelles on peut trouver une solution stable.
D’un point de vue pratique, j’aurais beaucoup aimé disposer soit d’un prototype matériel, en bois par exemple, soit d’un prototype logiciel, pour essayer « pour de vrai » plein de configurations.
Alors, si ça vous branche, la balle est dans votre camp ! :)