Voxigame

Il y a plus de 10 ans, j’ai ima­gi­né une famille de casse-tête. Plus pré­ci­sé­ment, j’en ai rêvé une nuit, et dès mon réveil, j’ai cou­ché sur un papier les idées prin­ci­pales. J’ai ensuite par­lé de l’i­dée avec une poi­gnée de col­lègues, et c’est deve­nu une dis­cus­sion occa­sion­nelle, un petit jeu géo­mé­trique simple. Si nous n’en avons pas fait émer­ger une pro­blé­ma­tique de recherche amu­sante, j’a­vais tout de même fabri­qué un logi­ciel pour fabri­quer auto­ma­ti­que­ment des manuels de jeu.

Le temps a pas­sé, et à la faveur d’une dis­cus­sion noc­turne avec mon oncle Jean-Pierre, je me suis dit que c’é­tait l’oc­ca­sion de dépous­sié­rer le code source, et de pré­sen­ter ici le fonc­tion­ne­ment du jeu, que j’a­vais alors appe­lé Voxi­game.

Le jeu en quelques mots

En quelque mots, le prin­cipe du jeu consiste à pla­cer des briques à l’in­té­rieur d’une boîte, tout en réser­vant un che­min reliant deux fenêtres de pas­sage ména­gées sur les côtés de la boîte. Une fois la boîte refer­mée, aucune brique ne dois pou­voir se déplacer. 

dessin du matériel (boite, briques) utilisé pour le jeu voxigame

L’i­mage ci-des­sous pré­sente le manuel d’un exemple simple. La boîte est de la taille de 3 cubes en hau­teur, de 3 cubes en pro­fon­deur, et de 1 cube en lar­geur. On doit y pla­cer 4 briques fai­sant 2 cubes de lon­gueur, et gar­der un pas­sage entre les deux fenêtre de pas­sage des­si­nées en bor­deaux sur l’image.

La der­nière par­tie de l’i­mage tout à droite pré­sente les étapes de rem­plis­sage de la boîte.

Si l’i­dée vous amuse et que vous avez envie de réflé­chir à des cas un peu plus com­pli­qués, ren­dez-vous sur la page des motifs élé­men­taires, ou sur celle des quelques exemples plus sophis­ti­qués. Chaque manuel est struc­tu­ré avec des pages qui dévoilent de plus en plus la solu­tion, comme pré­sen­té ci-dessus.

Voi­ci la pre­mière page des dif­fé­rents exemples proposé :

Motifs élémentaires
exemples plus compliqués

Explications et code source

Si vous avez envie d’en apprendre plus sur ce jeu, vous pou­vez consul­ter les règles détaillées et expli­ca­tives, mais aus­si les traces des réflexions pour conce­voir des exemples intéressants.

Et si vous êtes encore plus curieux, vous pour­rez consul­ter le code source, que je viens de migrer en Qt5. Et oui, il y a 13 ans, j’a­vais écrit ça en Qt4, et j’ai dû faire de tout petits ajus­te­ments (notam­ment de la chaîne de com­pi­la­tion) pour que tout com­pile sur un envi­ron­ne­ment récent.

Et si Voxigame continuait sa route ?

Quand je me suis arrê­té d’ex­plo­rer Voxi­game il y a plus de 10 ans, j’a­vais très envie de deux choses.

D’un point de vue for­mel tout d’a­bord, de défi­nir l’en­semble des confi­gu­ra­tions (taille de la boîte et posi­tion des fenêtres) pour les­quelles on peut trou­ver une solu­tion stable. 

D’un point de vue pra­tique, j’au­rais beau­coup aimé dis­po­ser soit d’un pro­to­type maté­riel, en bois par exemple, soit d’un pro­to­type logi­ciel, pour essayer « pour de vrai » plein de configurations.

Alors, si ça vous branche, la balle est dans votre camp ! :)