
Comment je répare un niveau impossible
Dans un jeu de puzzle, le pire bug, c'est un niveau sans solution. Voici comment je les repère et je les corrige, exemple réel à l'appui.
Le principe du jeu
Des pièces de couleur sont posées sur une grille entourée de murs. Chaque pièce doit sortir par une porte de sa couleur, placée sur le bord. On fait glisser les pièces une à une, en évitant les murs et les autres pièces, pour libérer tout le plateau.
Quand un jeu compte des centaines de niveaux, il est impossible de tous les tester à la main. Et certains contiennent un piège invisible : une pièce qui ne pourra jamais sortir, quoi que fasse le joueur. Je les appelle les pièces scellées. Pour les traquer, j'ai fabriqué un outil qui affiche la grille d'un niveau et me permet de la modifier case par case.
Lire une grille
Pour le jeu, une grille n'est qu'un tableau de codes. Chaque case contient un nombre ou un petit mot :
- Une porte s'écrit
VR-suivi de la lettre de sa couleur :VR-Eest une porte grise,VR-Vune porte bleue. - Une pièce s'écrit avec sa lettre de couleur et un numéro :
R1,R2,R3… forment une grande pièce rouge de plusieurs cases. - Un suffixe ajoute une règle :
-MVveut dire que la pièce ne peut bouger que verticalement. Une étoile ★ marque une pièce spéciale, un losange ◆ un verrou.
Étude de cas : le niveau 439
Le niveau 439 est une grille de 11 × 11 cases avec une dizaine de couleurs. En le testant, mon outil a signalé une pièce scellée : la pièce grise E1, en colonne 9.
Le problème
E1 porte la règle -MV : elle ne bouge que de haut en bas, elle reste donc toujours en colonne 9.
Le piège
Les portes grises sont en bas de la grille, mais en colonnes 7 et 8. E1 ne pourra jamais s'aligner avec elles.
La conclusion
Le niveau est impossible à terminer, même pour un joueur parfait. Il faut le corriger.
Trois façons de le réparer
Pour chaque pièce scellée, je cherche la modification la plus petite possible, qui garde l'esprit du niveau. Pour le niveau 439, j'ai testé trois corrections, et chacune donne zéro pièce scellée :
- Libérer la pièce : retirer la règle
-MVde E1. Elle peut alors rejoindre les colonnes 7-8 et sortir par la porte grise. - Agrandir la porte : transformer le mur sous la colonne 9 en porte grise. E1 est alors alignée dès le départ.
- Déplacer la porte : remplacer la porte de la colonne 7 par un mur, et ouvrir une porte en colonne 9.
-MV rend le niveau un peu plus facile.Une méthode, des dizaines de niveaux corrigés
J'ai appliqué cette méthode à une vingtaine de niveaux (56, 59, 64, 91, 98, 109, 220, 230, 232, 257, 276, 305, 333, 354, 379, 398, 401, 437, 439, 467, 469, 474, 477…). Pour chacun : repérer la pièce scellée, comprendre pourquoi elle est coincée, tester les corrections, puis exporter la nouvelle grille au format JSON pour la remettre dans le jeu.
Essayez l'outil sur le niveau 439
Voici l'outil tel que je l'utilise, chargé avec la grille du niveau 439. Choisissez un outil dans la palette, cliquez sur une case pour la modifier (clic droit pour la vider), puis exportez la grille. Il fonctionne mieux sur ordinateur.
▶ Ouvrir la grille du niveau 439
Niveau level_439 — Projection interactive (11 × 11)
Pièce scellée : E1-MV (9,1) — mouvement vertical uniquement (colonne 9 figée) ; portes VR-E en bas (7,10)+(8,10) → axe H colonnes {7,8} → jamais alignable.
Fixes testés (0 scellé) :
1) (9,1) : "E1-MV" → "E1" (retirer MV) — E1 rejoint les colonnes 7-8 et passe par la porte E.
2) (9,10) : 1 → "VR-E" (étendre la porte E en colonne 9) — E1 s'aligne au départ.
3) (7,10) : "VR-E" → 1 ET (9,10) : 1 → "VR-E" (déplacer la porte).
Ce travail ne se voit pas quand on joue, et c'est tant mieux : un bon niveau, c'est un niveau où le joueur ne se demande jamais si une solution existe.