Journal GBoggle, jeu de lettres

Posté par (page perso) .
Tags : aucun
11
27
nov.
2009
Bonjour,

Pour ceux qui ne connaissent pas le Boggle, c'est à l'origine un jeu de société où les joueurs doivent chercher des mots sur un grille de lettres, carrée en 4x4.
Les mots doivent être composés de lettres qui se touchent, diagonales comprises.
Chaque joueur note un maximum de mots (3 lettres minimum) durant les 3 minutes de jeu.
À l'issue de la partie, chaque joueur raye les mots trouvés par d'autres joueurs et compte ses points sur les mots restant, selon leur longueur.

Je trouve ce jeu très stimulant et amusant.
Hélas il n'est plus vendu en Europe, il ne reste plus que l'achat d'occasion, par exemple sur Ebay.
Attention, la langue du jeu est importante, car elle détermine la distribution des lettres.

Il y a eu plusieurs adaptations en jeux vidéos libres, dont Boggle [1], en mode texte, ou encore KBoggle [2] pour l'environnement KDE, et j'ai découvert il y a peu GBoggle [3] (à base de GTK et qui supporte la plate-forme Maemo).

J'ai vite atteint mes limites en cherchant des mots anglais sur une grille à base de W, H et K, alors j'ai généré un dictionnaire français, et un tirage français de la grille de lettres.

Pour le dictionnaire, je suis parti de tous les mots générés par Aspell en français (aspell --lang=fr dump master > dico-fr), afin de disposer des flexions de verbes, des différents genres et nombres... puis j'ai retiré les noms propres, noms composés, mots avec apostrophes, mots plus petits que 3 lettres ou plus grands que 16, et tous les diacritiques (accents et cédilles) afin de retrouver les conditions et règles officielles du jeu original auquel je jouais « IRL ».
Pour la distribution de la grille, j'ai juste compté la proportion de chaque lettre dans mon dico, je me suis dis que ça devait être une bonne estimation. Un cas particulier : j'ai remplacé la lettre 'Q' par 'QU', car il est rare qu'un 'Q' tombe à proximité d'un 'U' dans le jeu, et il existe trop peu de mots avec 'Q' sans 'U' qui suive.

Ces modifications sont maintenant incluses dans le jeu.

Certaines fonctionnalités font encore défaut au jeu comme un mode réseau / multijoueur et un système de scores qui compte les points selon la longueur des mots trouvés.
Le jeu inclus actuellement les langues Anglaise, Française et Hongroise.

Si vous souhaitez ajouter une autre langue sans trop vous prendre la tête, je peux vous donner mon script PHP (modifiable à souhait) qui génère tout seul le dico et la distribution de la grille, à partir d'Apsell.

Bon jeu !

[1] Boggle : [http://linux.die.net/man/6/boggle]
[2] KBoggle : [http://www.kde-apps.org/content/show.php/KBoggle?content=261(...)]
[3] GBoggle : [http://gboggle.sourceforge.net]
  • # Accéléromêtres

    Posté par . Évalué à 8.

    D'un coup, ça me rappelle le boucan que ça faisait, et je me prends à rêver d'un Boggle sur OpenMoko. On secoue, on pose, ça sort les lettres et on peut réfléchir tous autour.

    Pour quand j'aurais du temps :p
  • # pub

    Posté par . Évalué à 3.

    Plus en vente ?
    pourtant on en voit la pub a la télé (vi ca m'arrive encore de la regarder …), ca me semble être d'ailleurs une version "remasterisé"
    • [^] # Re: pub

      Posté par (page perso) . Évalué à 1.

      Il y a quelques mois, je l'ai cherché dans de nombreux magasins français, mais en vain.
      Peut-être que pour les fêtes ils le ressortent des placards.
      Hélas je ne peux plus voir les magasins ou pubs français, je suis à l'étranger.
      • [^] # Re: pub

        Posté par (page perso) . Évalué à 1.

        Tant, mieux, ça nous a fait gagner un jeu libre :D
  • # Affaire de Q

    Posté par . Évalué à 5.

    Je m'insurge. Comment faire cinq et coq ? Ou qat ? Vu que l'on peut arriver et partir dans tous les sens, je ne trouve pas utile de remplacer le Q par QU. Le dernière fois que j'ai joué, j'ai pu faire quoi, donc ça reste possible. Tiens, d'ailleurs, ça compterait pour combien, ça ? 3 ou 4 points ? Et qui et que, tu as pensé à les virer du dictionnaire si ça fait 2 ?
    Tiens, j'essaie.
    • [^] # Re: Affaire de Q

      Posté par (page perso) . Évalué à 3.

      Comment faire cinq et coq ? Ou qat ? Vu que l'on peut arriver et partir dans tous les sens, je ne trouve pas utile de remplacer le Q par QU. Le dernière fois que j'ai joué, j'ai pu faire quoi, donc ça reste possible.
      Je suis tout à fait d'accord et conscient de ces cas.
      Ma configuration de jeu a pour but :
      * d'éviter nombre de grilles pénibles où on doit tourner autour d'un 'Q' inutile,
      * de faciliter la construction de mots en 'QU' qui autrement sont *vraiment* rares.
      Sur le plan ludique, je trouve qu'on perd un peu pour gagner bien plus.

      La version anglaise du vrai Boggle utilise cette astuce pour rendre le jeu plus intéressant [http://en.wikipedia.org/wiki/Boggle].
      Le Scrabble Dé-Fi, qui utilise des dés de lettres comme le Boggle, en fait autant (en tout cas la VF à laquelle j'ai joué).

      Tiens, d'ailleurs, ça compterait pour combien, ça ? 3 ou 4 points ? Et qui et que, tu as pensé à les virer du dictionnaire si ça fait 2 ?
      D'après les règles de la version anglaise, 'QU' doit compter 2 lettres.
      Donc 'QUE' compte pour 1 point, 'QUOI' pour 2...
      Cependant, GBoggle n'autorise pas les mots à 2 dés.
      Pour la longueur minimale autorisée, je vais suggérer la possibilité de compter les lettres plutôt que les dés à l'auteur, merci pour la remarque !

      ... de toute façon GBoggle ne compte pas encore les points, donc il faut compter à la main, et là tu es libre de te récompenser à la hauteur tu estimes ;-)
      • [^] # Re: Affaire de Q

        Posté par . Évalué à 2.

        JE SUIS COMPLÈTEMENT NUL À CE JEU.
        Curieusement, je ne peux choisir que les versions américaine ou anglaises, et j'ai un problème d'install de dictionnaire (en gros, je ne sais pas où est foutu le dico français, c'est probablement que je ne l'ai pas installé, et j'ai pas cherché). Il faut qu'il y soit pour qu'on puisse choisir le français, je suppose. Mais bon, ça fait 3 heures que je joue dessus, et il est 1 heure du matin, donc j'ai dû raté des trucs.
        Cela dit, je trouve qu'il y a souvent un grand nombre de lettres identiques sur un jeu. Lors d'un tirage, ne faudrait-il pas pondérer le choix d'une lettre en fonction du nombre de fois où elle a déjà été placée (en plsu naturellement de la fréquence dans la langue) ?
        • [^] # Re: Affaire de Q

          Posté par (page perso) . Évalué à 2.

          JE SUIS COMPLÈTEMENT NUL À CE JEU.
          Ça demande une gymnastique des yeux pas forcément naturelle.
          Ne t'inquiète pas, on ne peut que progresser à ce jeu.
          Toutefois, pour mieux apprendre, je trouve que l'idéal est de le faire avec des gens et la version "plastique" plutôt que numérique.
          Curieusement, je ne peux choisir que les versions américaine ou anglaises
          Le français est ajouté depuis la version 1.1.2 (5 novembre 2009).
          Les dictionnaires s'installent tout seuls.
          Pour l'info, avec une installation de base depuis le source, ils devraient être placés dans /usr/local/share/gboggle/dict/

          Cela dit, je trouve qu'il y a souvent un grand nombre de lettres identiques sur un jeu. Lors d'un tirage, ne faudrait-il pas pondérer le choix d'une lettre en fonction du nombre de fois où elle a déjà été placée (en plsu naturellement de la fréquence dans la langue) ?
          À l'heure actuelle la pioche est en effet assez basique.
          Chaque lettre (ou plutôt dé) a un poids de probabilité d'une valeur entière positive.
          L'auteur avait spécifié des valeurs entre 1 et 10 pour les langues américaine, anglaise et hongroise.
          Dans mes tests de parties, je n'ai pas trouvé ça assez fin, alors j'ai spécifié des valeurs entre 1 et 100 pour le français.

          Par contre, chaque lettre est piochée indépendamment des précédentes, à ce que je viens de comprendre dans le source.
          C'est vrai qu'on tombe souvent sur des grilles mal réparties.
          D'ailleurs c'est aussi vrai pour le Boggle plastique.
          J'aime bien ton idée en tout cas.
          Que penses-tu de retirer 1/6 ou 1/8e du poids de probabilité d'une lettre à chaque fois qu'elle est piochée ?
          • [^] # Re: Affaire de Q

            Posté par . Évalué à 3.

            > Par contre, chaque lettre est piochée indépendamment des précédentes, à ce que je viens de comprendre dans le source.
            Ben tiens, voilà exactement le problème : dans le vrai jeu, il n'y a que 6 possibilités de lettre pour chaque case (et encore, il est possible que sur certains dés, il y ait plusieurs fois la même lettre, dépendamment de leur occurence dans la langue, ce qui nous ramène à maximum 6 caractères possibles pour une case), alors qu'ici, on a 26 possibilités à chaque fois.

            > C'est vrai qu'on tombe souvent sur des grilles mal réparties.
            D'ailleurs c'est aussi vrai pour le Boggle plastique.

            Mais dans le Boggle en plastique, non seulement c'est le but, mais en plus, les lettres qu'il peut y avoir en surnombre sont des lettres courantes, et donc on peut quand même faire des trucs.
            Mais là par exemple, n'avoir que 5 mots, ça ne respecte pas tellement l'esprit du jeu :
            http://h.imagehost.org/0530/gboggle.png
            Et j'ai déjà eu plusieurs tirages avec seulement 3 mots, et une fois avec 1 seul mot.


            >Que penses-tu de retirer 1/6 ou 1/8e du poids de probabilité d'une lettre à chaque fois qu'elle est piochée ?
            À mon avis, ça devrait être plus compliqué que ça (oui, pardon pour les familles, tout ça). Je parle pour le français, mais comme tu as compté le nombre d'occurence de chaque lettre dans le dictionnaire, c'est de là qu'il faut partir.
            Par exemple, dans la grille que j'ai donnée plus haut, on a 2 K, 1 Y et 1 X. Ça fait quand même beaucoup de lettres peu utilisées en français.
            La méthode à laquelle je pense, qui n'est pas la plus adéquate mais qui devrait donner des grilles un peu plus jouables : il faudrait regrouper les lettres par groupe d'occurence, et à chaque tirage, diminuer (ou augmenter, en fonction de leur position si on fait attention aux digrammes) leur probabilité d'être tirée (éventuellement selon les tirages à proximité dans le cas du Q ou du X - marque du pluriel après pas mal de U).

            Dans le cas du K (ha ! ha ! ), il faudrait au minimum diviser la probabilité qu'il soit tiré à nouveau par 2, voir par 2/3. Par contre pour un E, on peut envisager de ne pas diminuer la probabilité qu'il sorte à nouveau.
            Et en même temps qu'un K sort, on peut imaginer diminuer la probabilité de tirage d'un Z, d'un W ou d'un Y (ça sera plus difficile de faire KIWI, mais pas impossible).
            C'est un peu ce que tu dis en voulant ajuster la probabilité de cases adjacentes en fonction de la répartition des digrammes, mais ça me semble peut-être un peu trop compliqué. Le seul cas de digrammes intéressant est le QU, le reste est moins important : la preuve, le Boggle plastique permet quand même de faire des mots intéressants sans avoir à se préoccuper de ce genre de détail (seule la répartition des lettres sur les dés influe la composition des mots. Il faudrait alors connaitre les faces de chaque dé, mais là, on pourrait éventuellement être confronté à un problème de propriété intellectuelle de la part des guignols qui possèdent les droits d'exploitation du jeu original).

            'faudrait que je regarde le code, mais comme disait l'autre, « j'ai passé l'âge de ces conneries ».
            • [^] # Re: Affaire de Q

              Posté par (page perso) . Évalué à 1.

              il faudrait regrouper les lettres par groupe d'occurence, et à chaque tirage, diminuer (ou augmenter, en fonction de leur position si on fait attention aux digrammes) leur probabilité d'être tirée [...]
              Dans le cas du K (ha ! ha ! ), il faudrait au minimum diviser la probabilité qu'il soit tiré à nouveau par 2, voir par 2/3. Par contre pour un E, on peut envisager de ne pas diminuer la probabilité qu'il sorte à nouveau.
              Et en même temps qu'un K sort, on peut imaginer diminuer la probabilité de tirage d'un Z, d'un W ou d'un Y

              Je comprends le principe de ta solution, il semble correspondre à ce qu'on aimerait obtenir comme grille idéale de jeu.
              Cependant il demande la gestion de cas particuliers, ce qui requiert un travail manuel sur chaque langue et une configuration plus complexe.

              Je pense qui si on considère uniquement les probabilités de cooccurences de lettres (nos fameux bigrammes) on peut obtenir les effets que tu décris, et ça aurait l'avantage de rester facilement (automatiquement) généralisable à de nombreuses langues.

              Je m'explique un peu plus en détail sur la génération de la grille, une méthode pour placer une lettre.

              * Le jeu choisit une des 16 cases restantes, si possible adjacente à au moins une lettre déjà placée.
              * Il considère alors les lettres déjà placées dans la 3 à 8 cases adjacentes. Le choix de la lettre à placer va dépendre de ces autres lettres. Le jeu calcule la probabilité pour chaque lettre de l'alphabet d'être placée à cet endroit *sachant* la présence des lettres adjacentes. On obtient 26 probabilités qui vont déterminer la pioche.
              * Le jeu pioche alors une lettre selon ces probas et la place à cet endroit.

              Je pense que cet façon de procéder devrait éviter ou fortement réduire les cas problématiques que tu mentionnes.

              Les lettres difficiles (comme les autres...) seront piochées si au moins une des lettres adjacentes est fréquemment co-occurente à cette lettre dans la langue.

              Par ailleurs, je viens de chercher un peu sur le net pour savoir si les gens se posent les mêmes questions que nous.
              Eh bien oui, il y a des gens qui utilisent des algorithme génétiques pour trouver une bonne grille !
              Le concept est marrant :
              * on crée plusieurs grilles aléatoires (une population)
              * on forme des couples parmi les individus
              * on les fait se reproduire en choisissant le meilleur de chaque parent pour produire l'enfant. Pour cela il faut définir une fonction d'estimation qui va dire quelles sont les meilleures grilles ou parties de grilles.
              * enfin on peut prendre le meilleur enfant, selon notre fonction d'estimation, ou faire se reproduire les enfants, jusqu'à un ultime descendant, regroupant toutes les bonnes caractéristiques de ses ancêtres, et ayant éliminé toutes les mauvaises, donc avec une bonne grille bien jouable.

              [http://ankurdave.spaces.live.com/Blog/cns!7526DB52855BB4E1!2(...)]
      • [^] # Re: Affaire de Q

        Posté par . Évalué à 2.

        Peut-etre peux-tu considérer 27 lettres dans l'alphabet : A-B-C...-P-Q-QU-R...Z
        A toi de trouver la proportion de QU vs Q dans le dico !
        • [^] # Re: Affaire de Q

          Posté par . Évalué à 3.

          Franchement, je ne pense pas que ça nuise au jeu de ne garder que le Q sans le QU. Par contre, comme je le mentionne au-dessus, on pourrait peut-être envisager de ne pas faire de tirage purement aléatoire, mais avec un léger biais en fonction des lettres déjà tirées. Et justement, pour le cas du Q, augmenter (fortement) les chances de tomber sur un U sur au moins une case à ses côtés qui n'a pas encore été tirée.
          Et hop, le tour est joué.
          • [^] # Re: Affaire de Q

            Posté par (page perso) . Évalué à 2.

            Et justement, pour le cas du Q, augmenter (fortement) les chances de tomber sur un U sur au moins une case à ses côtés qui n'a pas encore été tirée.
            Ça serait en effet une façon élégante de résoudre le problème du Q.
            Par contre ça demande un gestion plus puissante du tirage de lettres, et ça doit être réalisable pour chaque paire de lettres désirée.

            On pourrait même le généraliser à toute paire de lettres, selon quelles sont les voisines habituelles de chaque lettre dans le lexique de la langue choisie.
            Ça sent un projet sympa à implémenter.
            Le fichier de configuration (gbogglerc) s'en verra par contre bien alourdi, avec pour chaque langue un nombre d'entrées (bigrammes de lettres plus pondération) égal au carré de la taille de l'alphabet (toutes les paires possibles). Mais on s'en fout en fait :-)

            D'ailleurs ça ne m'étonnerait pas que des sites internet comme MassiveBoggle le fassent déjà, car on tombe toujours sur des grilles bien jouables.
  • # Tanglet, nouveau Boggle libre

    Posté par (page perso) . Évalué à 2.

    Je viens de découvrir un autre Boggle, qui passe tout juste en version 1.0 : Tanglet
    Seul l'anglais est géré dans cette version.

    Pour la distribution des lettres, ce jeu simule de vrais dés : le fichier de configuration consiste en 16 lignes, une pour chaque dé, et 6 entrées par ligne, une pour chaque face du dé, qui peut contenir une ou 2 lettres (seul le QU en a 2).
    Les probabilités sont donc plus grossières et bien moins paramétrables que celles de GBoggle.
    Il y a un dictionnaire similaire à celui de GBoggle, si ce n'est que tous les mots sont en majuscule.

    Le jeu compte les points (cool), mais limite le temps à 30s non configurables (pas cool).

    [http://gottcode.org/tanglet]
    • [^] # Re: Tanglet, nouveau Boggle libre

      Posté par . Évalué à 2.

      Oui, en fait c'est tout simple, là. Il suffit de bricoler ses propres dés. Si les dés sont bien choisis, il suffit d'avoir une fonction correctement aléatoire pour le placement et les tirages, pas besoin de bricoler un système de redressement.
      Je reste cependant surpris de l'existence d'un QU qu'il ne me semble avoir jamais vu dans les versions françaises.
      • [^] # Re: Tanglet, nouveau Boggle libre

        Posté par (page perso) . Évalué à 1.

        Je reste cependant surpris de l'existence d'un QU qu'il ne me semble avoir jamais vu dans les versions françaises.
        Moi non plus je ne l'ai jamais vu !
        Je le connais de la version anglaise et de jeux proches tels le Scrabble Dé-Fi.
        Je ne sais pas pourquoi ils ont fait des choix différents selon la langue, car il semble exister davantage de mots où la lettre U ne suit pas le Q en anglais qu'en français.
        Liste en anglais : [http://en.wikipedia.org/wiki/List_of_English_words_containin(...)]
        Liste en français : [http://www.swebble.exionnaire.com/mots-avec-q-sans-u.php]

        Le dico GBoggle en français, hélas plus limité :
        $ grep -e "q[^u]" -e "q$" french
        coq
        coqs
        cinq
        iraqien
        iraqiens
        iraqienne
        iraqiennes
        • [^] # Re: Tanglet, nouveau Boggle libre

          Posté par . Évalué à 2.

          On peut toujours rajouter quelques mots à la main.
          De plus, Irakien(n-e-s), je l'aurais écrit avec un K, comme dans Irak. Cela dit, il me semble que le dico de GBoggle est un peu gbuggé parfois, parce qu'ici, je ne parviens pas à trouver (ni dans atilf ni sur wikitionnaire) la graphie iraqien. Par contre, iraquien semble être la seule graphie autorisée pour les adjectifs dérivés (même irakien serait incorrect, alors que Irak est correct, mais il lui sera préféré Iraq).
          Je n'ai pas de dictionnaire papier français sous la main pour référence.
          • [^] # Re: Tanglet, nouveau Boggle libre

            Posté par (page perso) . Évalué à 1.

            Cela dit, il me semble que le dico de GBoggle est un peu gbuggé parfois, parce qu'ici, je ne parviens pas à trouver (ni dans atilf ni sur wikitionnaire) la graphie iraqien.
            Comme dit dans le journal, c'est une partie du dictionnaire de Aspell.
            Je n'ai pas trouvé de dictionnaire plus complet, juste et libre.
            Si tu as une autre ressource, je suis preneur :-)
  • # trop de consonnes

    Posté par (page perso) . Évalué à 2.

    Tu aurais dû l'apeller Goggle ...
    Et déposer goggle.com tu aurais eu plein de trafic !
  • # est-il possible de jouer la version 'officielle' ?

    Posté par . Évalué à 1.

    Salut,

    est-il possible de jouer comme sur un 'vrai' boggle ? Comprendre par la que les dés seront dessinés comme les dés du jeu en plastique.

    En fait, je ne sais même si c'est légal...

    Je demande cela car je n'ai jamais joué au boggle, je voulais essayer l'orginal avant de jouer à ta version.
    • [^] # Re: est-il possible de jouer la version 'officielle' ?

      Posté par (page perso) . Évalué à 1.

      est-il possible de jouer comme sur un 'vrai' boggle ? Comprendre par la que les dés seront dessinés comme les dés du jeu en plastique. [...] Je demande cela car je n'ai jamais joué au boggle, je voulais essayer l'orginal avant de jouer à ta version.
      En fait, le vrai Boggle *est* le Boggle en plastique, c'est-à-dire la version non logicielle.
      Tu peux l'essayer si tu arrives à l'acheter.
      Je ne connais pas de jeu vidéo officiel du Boggle, ni de jeu 3D où on voit de vrais dés qu'on peux mélanger en agitant une boîte virtuelle.
      • [^] # Re: est-il possible de jouer la version 'officielle' ?

        Posté par . Évalué à 1.

        Oui, je sais que le vrai est en plastique, je peux l'acheter d'occasion.

        Mais je voulais savoir si il y avait un mode qui simulait le vrai Boggle (en plastique donc) en reprenant la distribution des dés en plastique (16 dés, dont un possede ces 6 lettres: A, F, P,... un autre avec telle et telle lettre, ...).

        Pas besoin de voir bouger les dés en 3D, je veux juste "faire comme si je jouais au vrai Boggle en plastique".
        • [^] # Re: est-il possible de jouer la version 'officielle' ?

          Posté par (page perso) . Évalué à 2.

          Ok, je comprends maintenant :-)
          Eh bien je sais que Tanglet simule de vrais dés (voir le message plus haut), mais il ne supporte pas le français.
          Je pourrais éventuellement ajouter ce support, le dico je sais faire rapidement maintenant, cependant je n'ai pas de Boggle français sous la main là, donc pas accès aux dés originaux.
          Je n'ai pas regardé comment KBoggle gérait la distribution des lettres.

          Dans tous les cas, la distribution des lettres ne change pas tant que ça l'expérience de jeu.
          Là on en discute car on cherche juste à l'optimiser.
          Donc jouer KBoggle ou GBoggle te donnera une bonne idée du concept du jeu, hormis que tu perds la convivialité et la compétition du jeu réel à plusieurs autour de la même grille.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.