Aller au contenu
← Le jeu

Atoum · version 3

Ce qui change dans la règle

Ce qui suit prépare la prochaine version de la règle imprimée. Seuls les points qui changent le JEU y figurent — pas les corrections d'affichage.

Version 8 du jeu — page arrêtée le 26/08/2026.

Cette page se lit en deux temps.

Ce qui change sur le PDFcheck-list

Cette section compare la règle papier v06 au jeu tel qu'il tourne aujourd'hui. Chaque écart est chiffré et vérifié sur les données du jeu — pas sur un souvenir. Les nombres entre parenthèses sont ceux du PDF.

Matériel : les nombres à corriger

ÉlémentPDFJeuDétail
Tuiles44 (et « x43 » dans le texte)46 1 entrée, 1 puits, 1 trésor, 3 portails, 40 salles. Le PDF se contredit lui-même : « 44 tuiles » au matériel, « x43 » dans le corps.
Emplacements momie4246 Répartis en 11 effondrement, 12 engrenage, 11 malédiction, 12 sable.
Cartes Fouille6878 18 cartes distinctes. Le PDF annonce 68 au matériel mais détaille bien 78 exemplaires dans ses tableaux.
Personnages5 dans l'histoire6 L'histoire ne cite pas la Momie, qui figure pourtant au tableau.

Cartes : ce qui a changé de valeur

CartePDFJeuDétail
Fusil3 cartes, +3retiré Sa force s'est reportée sur la dynamite et le pied de biche.
Pied de biche3 cartes, +28 cartes, +3
Dynamite3 cartes, +4 (ou +5 contre groupe)6 cartes, +5 (ou +6)
Pelle77Inchangée.
Scarabées4 — « défaussent deux cartes bonus »6 — passent leur tour Les scarabées ont pris l'effet des serpents, qui sont retirés. Le fouilleur perd le reste de son tour ET le suivant.
Serpents2retirésLeur effet est passé aux scarabées.
Plan du tombeauabsent5 cartes Nouvelle carte : poser une salle sans être en déplacement. Refusée s'il n'y a aucun bord libre.
Engrenage (bonus)55Le joueur choisit le sens : quart à droite, à gauche, ou demi-tour.

Personnages : les chiffres du tableau

PersonnageDépl.Att.Inv.Écart avec le PDF
Aventurière44 (7 contre un groupe)5 Le mode groupe s'applique aussi en phase 2 : l'assemblée des gardiennes est une troupe. Le PDF ne le disait pas.
Pilleur de tombes435 Son vol porte à deux cases en ligne, non plus « sur la même tuile ».
Aristocrate425 Sa pose libre s'étend à tout le tombeau. Il peut aussi mettre une salle en réserve.
Architecte325 Son immunité mécanique vaut désormais aussi contre les échelles du tombeau, pour sa tuile.
Touriste226Conforme au PDF.
Momie1 à 4 selon les paliersselon les paliers5 Refonte complète — voir ci-dessous. Le PDF dit « inventaire de 4 ».
humaine 0 momie dépl. 4 att. 3 mi-momie 1 à 2 momies dépl. 2 att. 5 momie 3 à 4 momies dépl. 1 pas d'attaque
Cinq emplacements, partagés entre objets et momies. Plus elle en porte, plus elle redevient momie : lente, mais increvable.

La Momie : refonte complète

  • Elle commence avec 3 momies déjà absorbées, et non à vide.
  • Elle franchit plusieurs congénères d'un seul élan. La règle disait « une case libre derrière la momie à sauter » — ce qui laissait entendre une momie, un vide, une momie. Deux momies collées l'emmuraient donc, avec ses actions intactes et pas une case à cliquer. Elle franchit désormais autant de congénères qu'elle a d'actions, et se pose sur la première case libre au bout de la file : une action par momie franchie. Un mur arrête l'élan ; on ne se pose jamais sur un joueur.
  • Son inventaire passe de 4 à 5 emplacements, partagés entre objets et momies. Ses momies y comptent : elle démarre donc avec 2 places libres.
  • Trois paliers selon le nombre de momies portées : 0 momie — humaine (dépl. 4, att. 3) ; 1 à 2 momies — mi-momie (dépl. 2, att. 5) ; 3 à 4 momies — momie (dépl. 1, pas d'attaque).
  • Elle ne peut se délester qu'en phase 2 (contre les gardiennes) ou en phase 3 (relâcher une momie sur le plateau, une action par momie).
  • En phase 1, elle reste momie même à vide : la phase d'exploration n'est pas influencée.
  • L'absorption échoue si la carte tirée est un groupe — plus d'une fois sur deux, le paquet comptant 16 cartes de groupe sur 30.

Le tombeau qui se réveille : entièrement nouveau

  • Les salles portent des symboles de réveil (46 au total). Poser une salle fait monter les échelles correspondantes.
  • Quatre échelles : malédiction et effondrement à 4 symboles, sable et engrenage à 3.
  • Quand une échelle atteint son seuil, elle frappe toutes les salles occupées, puis repart de zéro.
  • Une immunité de personnage protège sa tuile, échelle comprise.
Un joueur s'échappe Joueur A Joueur B le tombeau se ferme Une action chacun, à tour de rôle. Les cartes bonus ne comptent pas.
Quatre actions par joueur, jouées en alternance. Certains seront trop loin — c'est ce qui donne son prix à la petite victoire.
salle sèche action 1 — quatre cases salle ensablée action 2 action 3 une case par action
Le tarif change en franchissant le seuil, pas au début du tour. On court sur la pierre, on patauge dans le sable — dans le même mouvement.

Règles nouvelles ou modifiées

  • Le tombeau se referme. Dès qu'un joueur s'échappe, chaque joueur restant dispose de 4 actions, jouées une par une à tour de rôle. Quand plus personne n'en a, le tombeau se ferme : les prisonniers ont perdu. Les cartes bonus ne comptent pas dans ce décompte.
  • Le sable ne détruit plus rien. Le PDF prévoyait qu'une salle déjà ensablée s'effondre et que tout le monde perde. Cette règle est supprimée partout, phase 2 comprise : le sable déborde par les couloirs vers les salles communicantes.
  • Depuis une embrasure, les deux salles subissent. Sable, effondrement et engrenage : le joueur se tient sur deux salles, les deux sont touchées. L'entrée fait exception — elle porte les marches, donc la sortie, et ne pivote ni ne s'effondre jamais.
  • Le sable ralentit dès qu'on y entre, pas seulement si l'on y commençait son déplacement.
  • Aucune momie ne peut apparaître sur la case marquée d'un portail, de la porte d'entrée ou du puits — la case seulement, le reste de la tuile les accueille.
  • Les portails ne sont pas des sorties mais des points de téléportation, entre eux ou par la carte Passage secret.
  • Le seuil de la sortie ne se traverse pas par le dehors.
  • Après un vol, le voleur gagne la salle voisine la plus proche — une demi-case de jonction étant à un pas, c'est elle qu'il occupe le plus souvent.
  • La fuite est bornée à 150 rondes : au-delà, le tombeau se referme.

EXTENSION — la Fosse au coffre

Deux salles qui n'appartiennent pas au jeu de base. Sans l'extension, elles restent hors de la besace et le tombeau compte 44 tuiles, le chiffre du matériel imprimé. Avec, elle en compte 46.

M gardienne coffre une seule entrée, tout le reste est fosse
Une impasse de deux cases. Devant, une momie ; au fond, le coffre. On n'y passe pas par hasard.
  • Le premier joueur qui atteint le coffre fouille 5 cartes gratuitement — sans dépenser d'action — et ne garde que les bonus : les pièges y sont inertes. Il emporte un cube d'or.
  • Le deuxième n'a plus de momie à combattre, mais ne tire que 4 cartes. Puis 3, puis 2, puis 1. Le sixième ne trouve plus rien : les cinq cubes sont partis.
  • La tuile est inaltérable : elle ne se retourne pas côté sable, ne s'effondre pas, ne pivote pas. C'est un point fixe du tombeau.
  • Les deux salles fonctionnent de la même façon, chacune avec ses cinq cubes.
  • L'extension amènera aussi un sixième personnage, la Femme d'affaires. Il apparaît grisé à la création tant qu'il n'existe pas.

Le trésor s'arrache aussi en diagonale

« Adjacent » se lisait comme le déplacement : les quatre côtés. Un porteur placé en diagonale était donc intouchable, et il suffisait de se mettre de biais pour être à l'abri.

Le trésor s'arrache désormais à un joueur sur l'une des huit cases qui touchent la sienne. La phase 3 s'en trouve nettement resserrée : le porteur doit mettre de la vraie distance, pas un pas de côté.

Les serpents d'Apophis remplacent l'engrenage

L'engrenage existait deux fois : piège de fouille et échelle du tombeau. Il reste à la fouille — une rotation est un mécanisme, pas un réveil du tombeau.

À sa place, les serpents. En commençant par celui qui vient de poser la tuile, chaque joueur prend la place du suivant. Personne ne disparaît, tout le monde se retrouve ailleurs. Les protégés des animaux — et ceux de leur salle — restent en place : on les saute.

Les quatre échelles passent à 4 symboles : le sable et l'engrenage étaient à 3, et le chaos ne doit pas arriver trop souvent.

OPTION — Atoum reprend ce qu'il a donné

À activer dans les réglages. Quand l'Aristocrate porte le trésor, il devient la réincarnation d'Atoum et cherche à le garder dans le tombeau : à chaque début de tour, il doit retirer une tuile, du plateau ou de sa réserve.

  • Ni l'entrée, ni le puits, ni les portails, ni la salle du trésor : ce sont les points fixes.
  • Une salle occupée se retire — ses joueurs se replient sur la salle accessible la plus proche, comme lors d'un effondrement.
  • S'il perd le trésor, il repasse en mode normal et pose de nouveau.

Sa compétence ouvre le labyrinthe pendant deux phases, puis le referme dès qu'il gagne. Ses deux salles de réserve lui donnent deux tours de sursis avant d'attaquer le plateau.

Ce que le jeu web ajoute, et qui n'a pas à figurer sur le PDF

  • Le jeu en ligne : salon, parties publiques, notifications, reprise après coupure.
  • La phase 2 simultanée en ligne : chacun mise quand il veut, on révèle quand tous ont validé. Autour d'une table, on continue de se passer l'appareil.
  • La Fosse au coffre (2 exemplaires) : une impasse cernée de fosses, destinée à porter un coffre. Cette règle n'est pas validée : la tuile ne porte rien pour l'instant.

Ce qui suit est le registre détaillé : chaque point de règle avec son motif et son identifiant, pour retrouver la clause exacte et son test dans le jeu web. Vous n'avez pas à le lire d'un bout à l'autre — c'est une table de référence.

Règles144 points

  1. GAR-39

    La distribution du compte à rebours était écrite deux foiscorrigé

    Recherche des patchs qui corrigent des fonctions. Deux lignes identiques à soixante lignes d'écart : la fonction qui OUVRE le compte à rebours et celle qui le RÉPARE distribuaient chacune les quatre actions, avec la même règle recopiée — zéro pour qui est sorti ou pas encore entré. Deux copies qui auraient divergé au premier changement, et changer la règle du compte à rebours est exactement le genre de chose qu'on fait un jour. Un seul endroit décide désormais de ce que chacun reçoit ; la réparation appelle la même distribution que l'ouverture.

  2. GAR-40

    Une fonction en corrigeait une autre : on écrivait une valeur pour l'effacer ensuitecorrigé

    La sauvegarde écrivait null pour dire « compte à rebours non lancé », et la lecture effaçait ensuite ce null. Deux gestes qui s'annulent, à trois cents lignes l'un de l'autre — la définition même du patch sur patch. Une clé ABSENTE dit « pas de compte » aussi bien qu'un null, et n'oblige personne à la nettoyer derrière.

  3. GAR-36

    Deux implémentations de l'archivage du fil, nées à deux jours d'écartcorrigé

    Mesure avant de simplifier : zéro fonction morte dans le projet — le code est propre là-dessus. Mais l'archivage du fil existait DEUX FOIS, à deux cents lignes d'écart, et les deux versions divergeaient déjà : l'une prenait le journal en mémoire, l'autre le fil déposé, et selon le moment l'un ou l'autre était le plus complet. C'est ainsi qu'un correctif devient un doublon : on répare là où l'on regarde, sans voir que le geste existait ailleurs. Une seule écriture demeure, qui recoud les deux sources — et le fil archivé est désormais plus complet qu'aucune des deux versions ne le produisait. Deux garde-fous mécaniques empêchent la rechute : les clés du fil archivé ne s'écrivent qu'à un seul endroit, et une seule écriture dans le stockage passe hors de la porte unique.

  4. GAR-37

    Douze écritures de stockage, trois seulement protégées du quotacorrigé

    Le garde-fou de quota — se faire de la place, puis prévenir — avait été posé sur trois écritures. Les neuf autres gardaient leur propre try/catch muet : le thème, l'univers, l'archive des bilans, la marque de table en ligne échouaient en silence sans jamais tenter de libérer de la place. Toutes passent maintenant par la même porte, et le garde-fou vérifie qu'aucune ne la contourne.

  5. GAR-38

    Sept réglages déclarés que personne ne lisaitcorrigé

    Un fichier de réglages qu'on ne lit pas est une documentation qui ment. Deux d'entre eux — un avertissement et un abandon sur le joueur dont c'est le tour — promettaient une fonction qui n'a jamais existé : ils sont retirés, la fonction n'ayant jamais été demandée. Deux autres décrivaient l'algorithme de chiffrement sans que le code les consulte : on pouvait les changer sans effet, ils sont maintenant vraiment lus. Les trois derniers, sans usage, sont partis. Un garde-fou vérifie désormais que chaque valeur déclarée est lue quelque part, dans le navigateur ou dans l'API.

  6. JOU-06

    Quitter une table perdait le fil, l'abandonner le gardaitcorrigé

    Deux chemins voisins pour oublier une partie, et un seul archivait. L'abandon gardait le fil en « partie précédente » ; l'oubli du stockage l'effaçait sans rien garder — or c'est LUI que le salon emprunte quand on part vers une autre table, le cas le plus fréquent des deux. Deux gestes voisins, deux résultats opposés, et rien pour le dire. L'archivage est sorti des deux et posé une seule fois.

  7. AFF-26

    Une partie neuve récupérait les annonces de l'anciennecorrigé

    La file des annonces et sa retenue survivaient à l'oubli d'une partie. Deux conséquences, toutes deux visibles : des cartes de la partie ABANDONNÉE défilaient au début de la suivante, et une retenue de coffre encore en cours — douze secondes — retardait les premières annonces de la nouvelle. Oublier une partie, c'est aussi oublier ce qu'elle avait à dire.

  8. LIG-34

    La table suivante héritait des compteurs de la précédentecorrigé

    Les compteurs de session survivaient à la sortie de table. Deux refus du serveur restés au compteur, et la table neuve était abandonnée au premier hoquet — le seuil de trois refus posé pour éviter les décisions hâtives se retournait contre elle. L'avertissement « code incomplet », déjà dit une fois, n'était jamais redit pour une seconde table mal rejointe. Et un horodatage de sondage périmé pouvait déclencher l'alerte de silence dès la première seconde de la nouvelle partie. Ce sont des compteurs DE TABLE : ils meurent avec elle.

  9. AFF-25

    Le nettoyage d'hier ne couvrait que la moitié du chemincorrigé

    Revue des vingt-cinq dernières livraisons. Hier, le compte à rebours de la réaction a été branché sur la fermeture des modales. La moitié du chemin : une modale n'est pas toujours FERMÉE, elle est souvent REMPLACÉE — l'ouverture vide la boîte et pose un autre contenu sans passer par la fermeture. Le compte à rebours continuait donc de tourner sous l'annonce d'un coffre ou un message du salon, et finissait par refuser un piège pendant que le joueur lisait tout autre chose. C'est exactement la faute corrigée la veille, à l'endroit voisin. Une modale qui s'efface — quelle qu'en soit la raison — éteint désormais ce qui tournait pour elle. La marque « déjà affichée » se pose après l'ouverture, sinon le nettoyage l'effacerait.

  10. CAR-17

    Une carte introuvable à la lecture se déclare au lieu de se déguisercorrigé

    Depuis que les cartes ne voyagent qu'en nom, il faut retrouver leur fiche à l'arrivée. Sans définition, on rendait un objet ne portant que l'identifiant : une carte sans nom, sans effet, sans code — le joueur la voit vide dans son inventaire, la joue, et rien ne se passe. Le cas ne devrait pas se produire, et c'est précisément pour cela qu'il faut le dire s'il se produit. Une carte de secours porte au moins un nom lisible, et la console reçoit un avertissement. Au passage, la recherche est devenue une table : quatre-vingts comparaisons par carte, quatre-vingts cartes, à chaque état reçu — six mille comparaisons toutes les deux secondes pour retrouver ce qu'une table donne d'un coup.

  11. AFF-23

    Fermer une modale n'éteignait pas le compte à rebours qui tournait derrièrecorrigé

    La modale de réaction — celle qui propose de sortir son masque à gaz ou son spray — porte un compte à rebours : une seconde par battement, et à zéro il répond « non » à la place du joueur. Or fermer() ne faisait que masquer. Sept endroits l'appellent, dont la boucle de sondage à CHAQUE état reçu, et aucun n'éteignait ce compteur. Il continuait donc de tourner sur une modale effacée, invisible, et finissait par refuser un piège que le joueur n'avait jamais vu — puis tournait pour le reste de la partie, une fois par seconde, sans que rien ne le rattrape. Le nettoyage est désormais branché sur la fermeture elle-même : un rappel qu'on n'appelle que sur le chemin prévu finit toujours par être contourné, et nous en avons corrigé trois cette semaine sur cette même fonction.

  12. AFF-24

    Le drain des effets attendait la voie libre sans bornecorrigé

    Le gaz, les pivots, les effondrements attendent qu'une carte cesse de couvrir l'écran pour se jouer — sinon l'effet se produit derrière elle et personne ne le voit. Mais cette attente n'avait pas de fin : si quoi que ce soit laissait l'écran de carte allumé, et cela est arrivé, le battement tournait toutes les trois cents millisecondes POUR TOUJOURS, les effets ne se jouaient jamais, et le drapeau restait levé. Le plateau connaît pourtant ce garde-fou ailleurs, sous le nom d'ATTENTE_MAX : il attend la voie libre, mais renonce au bout d'un temps. Ce drain-ci l'avait oublié. Sept secondes couvrent la plus longue des annonces ; au-delà, mieux vaut un effet joué sous une carte qu'un effet jamais joué.

  13. AFF-22

    Un réveil du tombeau bloquait l'affichage des cartes pour le reste de la partiecorrigé

    Les cartes tirées et les réveils du tombeau avaient chacun leur file d'attente, et les deux écrivaient sur le MÊME écran — montrerPyramide passe par montrerCarte. Or une fouille fait souvent les deux d'un coup : on tire une carte, son symbole fait monter une échelle, le tombeau se réveille. Le réveil effaçait alors les minuteurs de la carte pour ne pas la chevaucher — mais sa PROMESSE restait pendante, et la file des cartes, bloquée sur son attente, ne montrait plus AUCUNE carte tirée jusqu'à la fin de la partie. Deux corrections, et il fallait les deux. Une promesse écrasée est désormais TENUE, pas jetée : celui qui attendait repart, avec une annonce écourtée plutôt qu'une file morte. Et les deux files n'en font plus qu'une — car tenir la promesse suffisait à débloquer, mais laissait les deux files se couper la parole à tour de rôle, les annonces défilant trop vite pour être lues. Deux files pour un écran, c'est une course quoi qu'on fasse.

  14. LIG-33

    En ligne, on cessait de voir ses cartes tirées après avoir ouvert un coffrecorrigé

    La file des cartes est retenue pendant l'annonce d'un coffre — le pion doit arriver, l'annonce se lire, PUIS les cartes défilent. C'était un booléen, levé à l'ouverture et baissé dans le RAPPEL DE FERMETURE de la modale. Un seul chemin pour le baisser, et il ne passe pas toujours : Modales.fermer() masque la modale sans jamais appeler son rappel, et sept endroits l'appellent — dont la boucle de sondage, à CHAQUE état reçu. En partie en ligne, l'annonce du coffre était donc balayée au bout de deux secondes par le premier coup de l'adversaire, le rappel ne s'exécutait pas, la retenue restait levée, et le joueur ne voyait plus AUCUNE carte tirée jusqu'à la fin de la partie. Sans un message, évidemment. Une retenue a désormais une ÉCHÉANCE : elle dit « au plus tard jusque-là » au lieu de « jusqu'à ce que quelqu'un pense à me baisser », et la file se relance d'elle-même. Le rappel la lève toujours plus tôt quand il s'exécute — on garde le confort, on ne garde plus le risque.

  15. GAR-35

    Un garde-fou doit rougir, pas s'écroulercorrigé

    Le nouveau contrôle, passé sur la version précédente pour vérifier qu'il détecte bien le défaut, a emporté tout le banc avec lui : la variable qu'il interroge n'existait pas encore, l'exception est remontée, et l'exécution s'est arrêtée là. Un banc qui plante en dit moins qu'un banc qui échoue — il ne dit pas ce qu'il cherchait, et il cache les contrôles qui suivaient. L'erreur est rattrapée et rendue comme un résultat.

  16. LIG-31

    Mon propre drapeau pouvait tuer la boucle de sondagecorrigé

    J'ai posé il y a une semaine un drapeau « une requête en vol » pour empêcher deux sondages de partir ensemble. Ce faisant, j'ai recréé la panne que je venais de corriger : si une exception s'échappe du bloc — depuis le rattrapage lui-même, depuis une modale, depuis la sortie de table —, le drapeau reste levé POUR TOUJOURS et plus aucun sondage ne repart. Le joueur ne voit rien : son plateau est là, il croit jouer, et le serveur cesse de le voir. C'est mot pour mot le symptôme d'origine. Un drapeau qu'on lève à la main se baisse dans un finally, jamais sur les chemins de sortie qu'on a pensé à énumérer — on en oublie toujours un. La reprogrammation y est descendue avec lui : une boucle de sondage ne meurt jamais.

  17. LIG-32

    Un code recopié de travers rendait la partie muette au lieu de fautivecorrigé

    Chaque coup qui refusait de se déchiffrer était simplement sauté — juste pour une entrée abîmée, mais pas quand elles refusent TOUTES. Le serveur ne connaît que la moitié publique du code : il accepte donc, assoit le joueur, et lui envoie les coups. Celui qui a mal recopié la seconde moitié voit le salon, la partie démarre, et rien n'arrive jamais. Une lettre de travers dans douze caractères suffit, et rien ne le dit. On compte désormais : recevoir des coups et n'en lire aucun, trois fois de suite, ce n'est plus de la malchance — le jeu explique alors quoi faire, rejoindre par le lien plutôt que par le code.

  18. AFF-21

    Les chiffres d'une fiche de personnage se collaient les uns aux autrescorrigé

    La ligne est faite de trois éléments — déplacement, attaque, inventaire — et aucune règle de style ne les concernait. Deux éléments en ligne mis bout à bout ne laissent aucun blanc entre eux : on lisait « DÉPL. 4ATT. 4INV. 5 », d'un seul tenant, et le texte débordait de la fiche pour empiéter sur la voisine. Une fiche fait quatre-vingt-douze pixels, soixante-quatorze sur petit écran : les trois chiffres n'y tiendront jamais sur une ligne. On les laisse donc se ranger d'eux-mêmes, deux par ligne ou un seul selon la place, et chacun reste insécable — « ATT. » et son chiffre ne se séparent pas. Les fiches gardent au passage la même hauteur quel que soit le nombre de lignes qu'elles occupent : une rangée de portraits qui ondule se lit mal.

  19. HAS-01

    Le hasard repartait de zéro à chaque restaurationcorrigé

    La position du générateur vivait dans une fermeture, et nulle part ailleurs. Or restaurer une partie le recrée À SA POSITION DE DÉPART — et en ligne, la restauration a lieu à chaque état reçu, donc toutes les deux secondes. Le hasard était remis à zéro en permanence. Mesuré : six vols de suite prenaient six fois la carte de rang zéro. « Vole une carte AU HASARD » est pourtant écrit sur la fiche du Pilleur, et la même mécanique touchait le remélange de la défausse — qui repasse plusieurs fois dans la pioche au cours d'une longue partie et rendait chaque fois le même ordre —, celui de la besace, et le placement des momies sur les cases libres. Rien ne cassait pour autant : tous les appareils repartant de la même position, ils tiraient la même chose. C'est un défaut de hasard, pas de cohérence, et c'est pourquoi il est resté invisible si longtemps. La position voyage désormais avec la partie, ce qui rend les deux à la fois : l'aléatoire, et l'accord entre joueurs puisque chacun restaure la même position. Deux points de règle tiennent les deux faces.

  20. GAR-34

    Un stockage saturé se libère de la place, puis le ditajouté

    Tous les dépôts avalaient leur exception — « stockage refusé », et l'on continuait. C'était prudent : un navigateur qui refuse d'écrire ne doit pas interrompre une partie. Mais le silence a un prix : la reprise cesse de fonctionner, le fil cesse de grandir, et rien ne le dit — on s'en aperçoit le jour où l'on veut reprendre, c'est-à-dire trop tard. Deux gestes désormais, dans cet ordre. D'abord se faire de la place : l'archive des bilans est ce qu'on a de plus volumineux et de moins vital, on en jette la moitié et l'on réessaie. Ensuite seulement, si cela ne suffit pas, le dire — une fois, pas à chaque tour de boucle. Mesuré sur une partie à quatre joueurs, le navigateur garde environ 227 Ko : loin du quota, mais la porte était ouverte.

  21. LIG-30

    Le journal se plie : l'état tombe à un cinquième de son poids d'originecorrigé

    Une fois les cartes réduites à leurs noms, le journal était devenu le plus lourd de l'état — soixante-dix pour cent. Or il ne contient presque rien de neuf : mesuré sur huit parties réellement jouées à trois joueurs, une quinzaine de textes distincts sur cent vingt lignes. Chaque phrase part donc UNE FOIS, et la suite des lignes devient une suite de renvois vers elle. Rien n'est perdu : c'est un pliage, pas un résumé. Le gain dépend de la partie — très fort quand les tours se ressemblent, plus modeste quand chaque ligne est neuve : sur ces huit parties, 8 982 → 3 165 octets de journal, soit 65 % de moins, et l'état complet tombe à 8 055 octets. Ce qui doit être vrai toujours, en revanche, c'est qu'un pliage ne coûte rien : le garde-fou vérifie qu'il n'est jamais plus lourd que le fil nu, le reste étant un bénéfice et non une promesse. Le repli compte autant que le gain : une ligne qui porterait un champ de plus ne se plie pas, et le journal part alors tel quel. Une optimisation qui perd une information n'est pas une optimisation — et c'est ce garde-fou qui autorisera à enrichir le journal demain sans y penser. Les états d'avant ce changement restent lus tels quels.

  22. LIG-29

    L'état échangé perd plus de la moitié de son poidscorrigé

    Chaque carte partait ENTIÈRE dans l'état — nom, catégorie, effet, code, image — que les deux joueurs s'échangent toutes les deux secondes. Or ces textes sont déjà chez eux, dans les données du jeu : seul l'ORDRE des cartes compte, et l'ordre tient dans une suite d'identifiants. La besace des salles, elle, ne stockait déjà que des identifiants — le modèle existait, il n'avait simplement pas été appliqué aux cartes. Mesuré : le paquet de fouille pesait 15 117 octets sur 26 044, soit cinquante-huit pour cent du tout. L'état complet passe de 26 044 à 11 815 octets. Ce gain se prend trois fois : sur le réseau à chaque coup, dans le fichier du serveur qui s'entasse, et à chaque lecture de ce fichier — c'est-à-dire toutes les deux secondes par joueur. Les états d'avant ce changement portent les fiches entières et restent acceptés tels quels : une partie en cours ne se brise pas sur une livraison. Deux points de règle tiennent les deux bouts, le poids et la justesse — ce qui revient doit être exactement ce qui est parti, sinon le jeu se joue avec des cartes vides.

  23. LIG-26

    Le serveur vidait le fichier de la partie avant d'écrirecorrigé

    C'est la piste la plus probable des parties qui sautent, et elle était sous nos yeux dans la fonction dont le commentaire dit « c'est le seul endroit où l'on écrit une partie ». L'ordre était : tronquer à zéro, puis écrire. Entre les deux, tout peut arriver — la mémoire de PHP qui manque, le temps d'exécution dépassé, le quota disque atteint, le processus tué. La partie restait alors VIDE sur le disque. Un fichier vide ne se décode pas : le ménage le jugeait illisible et l'effaçait, et les deux joueurs recevaient « partie introuvable » à la même seconde, avec un message parlant d'une longue inactivité alors qu'ils jouaient. Trois gardes désormais : on encode AVANT de toucher au fichier, on vérifie que tout est parti, et l'on restaure les octets d'origine si l'écriture s'arrête en chemin. Perdre le dernier coup vaut infiniment mieux que perdre la partie.

  24. LIG-27

    Trois mille états complets conservés par partie — jusqu'à quatre-vingt-dix mégaoctetscorrigé

    Chaque entrée porte l'état complet du jeu, une trentaine de kilo-octets. En garder trois mille, c'est un fichier qui peut atteindre quatre-vingt-dix mégaoctets — relu et réécrit ENTIÈREMENT à chaque requête, pendant que deux joueurs interrogent le serveur toutes les deux secondes. Le poids grandit avec le nombre de tours, et avec lui le risque qu'une écriture s'arrête en chemin : c'est la mécanique qui explique pourquoi ce sont les parties LONGUES qui sautent. Or les vieilles entrées ne servent à rien, la dernière contient tout, et un client très en retard se réaligne dessus — le compteur d'élagage est fait pour cela. Soixante entrées couvrent largement une absence et pèsent moins de deux mégaoctets.

  25. LIG-28

    Le message d'erreur ne ment plus sur la causecorrigé

    « Elle a sans doute expiré après une longue inactivité » était affirmé quelle que soit la raison réelle — et dans le cas observé, c'était faux : les joueurs jouaient. Le message dit maintenant ce qu'on sait et rien de plus, et indique où retrouver le fil de la partie. Le serveur sait par ailleurs refuser un coup plutôt que de laisser un fichier à moitié écrit : le client nomme cette situation et dit que le coup précédent est intact.

  26. FUI-12

    La borne de la fuite se refermait d'autant plus tôt que la table était grandecorrigé

    Le compteur de la phase 3 s'incrémentait à chaque fin de tour, donc une fois par JOUEUR. La borne, elle, annonce des RONDES — et le bilan enregistre le même nombre sous le nom « rondes de fuite ». Le même chiffre servait à deux choses différentes. Mesuré : la fuite s'arrêtait après 75 rondes à deux joueurs, 50 à trois, et VINGT-CINQ à six, pour une borne annoncée à 150. Plus la table était grande, plus la partie se refermait tôt : le porteur du trésor enseveli au milieu de sa course, et le journal ne parlant que d'une fuite trop longue. Une borne qui dépend du nombre de joueurs n'est pas une borne. On compte désormais les rondes là où elles sont déjà comptées, et le repère d'ouverture voyage dans la sauvegarde — sans lui, une reprise recompterait depuis zéro et la borne s'éloignerait d'autant. Un point de règle éprouve deux tailles de table : elles doivent rendre le même compte.

  27. AFF-19

    Le panneau du journal reconstruisait six cents nœuds à chaque lignecorrigé

    C'est le seul travail du navigateur qui augmente avec le nombre de tours en partie en ligne, et il tombe précisément quand l'appareil a le moins de marge : en fin de partie longue, sur un téléphone. Pour une phrase de plus, six cents nœuds étaient détruits et six cents recréés — et une seule action en écrit souvent cinq ou dix, une fouille, un piège, un déplacement. Mesuré dans une page réelle sur un journal de six cents lignes : 701 ms pour cinquante lignes ajoutées, contre 10 ms en n'ajoutant que ce qui s'ajoute. Soixante-dix fois. Un fil ne fait presque jamais que s'allonger : on vérifie que ce qui est posé est toujours le début de ce qu'il faut poser, et l'on n'ajoute que la suite. La reconstruction complète reste, pour le seul cas où le fil a été REMPLACÉ — une partie restaurée, une partie neuve. Un rendu incrémental peut dériver, c'est son danger propre : un contrôle compare désormais, texte par texte, ce que le panneau affiche à ce que le journal contient.

  28. AFF-20

    Le fil déposé ne se relit plus dans le stockage à chaque actioncorrigé

    On relisait et reparsait le fil déposé — jusqu'à cent cinquante kilo-octets en fin de partie — à chaque dépôt, pour y coller les quelques lignes nouvelles. C'est nous qui l'avons écrit : nous savons ce qu'il contient. Il reste en mémoire, et le stockage n'est relu qu'une fois, au premier dépôt d'une partie. L'écriture demeure, elle est incompressible ; c'est la lecture et l'analyse qu'on économise, et elles coûtaient autant que l'écriture.

  29. LIG-21

    Un joueur qui revient détruisait sa propre partiecorrigé

    Le ménage du serveur tournait en PREMIÈRE ligne de la requête d'état, avant même la lecture. Deux joueurs sur téléphone, l'un pose l'appareil : iOS gèle l'onglet et le sondage s'arrête. Si les deux s'absentent — une pause, un appel, un repas —, plus personne ne signale sa présence. Au retour, le premier sondage appelait le ménage, qui constatait l'inertie et supprimait le fichier ; la lecture qui suivait échouait alors avec « partie introuvable ». Le joueur détruisait sa partie en revenant, et le message lui disait que le serveur avait attendu trop longtemps. On lit d'abord, on enregistre la présence, et le ménage passe à la fin — en épargnant explicitement la partie qu'on vient de servir. Une requête qui demande une partie est la preuve que quelqu'un la veut.

  30. LIG-22

    Le délai de purge passe de quinze minutes à vingt-quatre heuresmodifié

    Un quart d'heure ne suffit pas à une partie humaine. Les joueurs sont deux ou trois, souvent sur téléphone, parfois dans la même pièce : une pause café, un appel entrant, un enfant à coucher, et la table était détruite alors que tout le monde comptait reprendre. Le fond du problème est là : la présence ne peut pas être la condition de survie d'une partie, puisqu'un onglet gelé sur téléphone n'envoie plus rien et qu'aucune interface ne permet de le réveiller. Le coût de conservation est nul — quelques centaines de kilo-octets.

  31. LIG-23

    Le ménage prend le verrou avant de supprimercorrigé

    L'enregistrement d'un coup écrit sous verrou exclusif ; le ménage, lui, effaçait sans rien demander. Une purge qui tombe pendant l'enregistrement emporte le fichier entre le renommage et la lecture suivante. C'est rare, c'est une course, et cela détruit des données. Le ménage prend désormais le même verrou : s'il est tenu, quelqu'un travaille — la partie n'est donc pas inerte, et l'on passe son tour.

  32. LIG-24

    Une réponse d'état est plafonnée, et un seul refus ne fait plus quitter la tablecorrigé

    Deux défauts de robustesse. Un client longtemps absent recevait TOUT ce qui restait — jusqu'à six cents entrées portant chacune l'état complet du jeu : sur un réseau mobile, la requête dépasse le délai de huit secondes, échoue, et recommence à l'identique au sondage suivant. Le joueur ne rattrape jamais son retard. On envoie désormais par tranches de soixante, en faisant suivre le rang de ce qu'on a réellement envoyé. Par ailleurs, on quittait la table et l'on effaçait la sauvegarde locale sur UN aller-retour en erreur — alors que ce code arrive aussi d'un ménage malencontreux, d'un disque plein, d'un intermédiaire qui renvoie sa propre page. Il faut maintenant trois refus consécutifs.

  33. LIG-25

    Une seule requête de sondage en vol à la foiscorrigé

    La boucle est séquentielle, mais elle n'est pas seule à appeler : le retour de veille, le réseau qui revient et l'affichage relancent le sondage sans attendre. Le minuteur est bien annulé — pas la requête déjà partie. Sur un réseau lent, où une requête peut pendre huit secondes contre une cadence de deux, plusieurs se retrouvaient en vol ensemble, et rien ne garantissait que la plus vieille n'arrive pas la dernière pour écraser la plus fraîche.

  34. AFF-18

    L'historique gardait deux fois chaque état — quatre mégaoctets en fin de partie longuecorrigé

    Régression de ma main, introduite en corrigeant « refaire ». Pour comparer deux positions sans leur récit, j'avais rangé la chaîne entière — journal ôté — À CÔTÉ de l'état complet. Chaque photo pesait donc deux fois : quatre-vingts photos de vingt-six kilo-octets, comptées double, font plus de quatre mégaoctets de chaînes conservées. C'est peu sur un ordinateur, et c'est beaucoup en fin de partie longue sur un téléphone — précisément le moment où l'auteur a perdu la sienne. On ne compare jamais ces clés que par égalité : une empreinte de quelques octets suffit, et un point de règle éprouve désormais la taille de la clé autant que sa justesse.

  35. LIG-20

    Un silence prolongé du serveur se dit, avant que la partie ne soit effacéeajouté

    La boucle de sondage se reprogramme désormais toujours. Restait le cas où elle tourne mais n'aboutit plus — serveur muet, réseau coupé, requêtes qui pendent. Vu du joueur, c'est identique à une boucle morte : le plateau est là, on croit jouer, et le serveur cesse de nous voir. Or il n'attend pas indéfiniment : passé un quart d'heure sans signe de personne, il efface la partie. On a donc quinze minutes pour prévenir, et l'on prévient à une minute — largement avant que ce soit irréparable. C'est le contraire du silence dans lequel une partie s'est perdue en pleine phase 3.

  36. LIG-17

    La partie s'effaçait en pleine phase 3 : la boucle de sondage mourait en silencecorrigé

    La reprogrammation du sondage était la dernière ligne de la boucle, hors de tout filet. Si quoi que ce soit échouait après le bloc principal — une poussée, une annonce de tour —, la boucle n'était jamais rappelée et s'arrêtait. Sans un mot : le plateau reste à l'écran, chacun garde son état local, et l'on croit jouer. Or c'est ce sondage qui marque notre présence auprès du serveur. Une boucle morte, c'est un joueur invisible : au bout d'un quart d'heure, le ménage juge la partie inerte et l'efface — pour tout le monde à la fois, puisque c'est un seul fichier. Le message annonce alors « expiré après une longue inactivité » à des gens qui étaient en train de jouer, ce qui explique l'impression d'une limite de coups ou d'une durée maximale. Une boucle de sondage se reprogramme désormais TOUJOURS.

  37. LIG-18

    Une partie illisible n'est plus détruite par le ménage du serveurcorrigé

    Un fichier de partie que le serveur n'arrivait pas à relire était effacé sur-le-champ. Or un fichier illisible n'est pas un fichier inutile : c'est le plus souvent une écriture interrompue — quota, disque plein, requête coupée — et la partie de quelqu'un. Elle disparaissait pour de bon, et le message annonçait « expirée après une longue inactivité » : une cause inventée pour un accident. Elle est désormais mise de côté sous un nom qui dit ce qui s'est passé. Elle ne gêne plus le listing et reste consultable.

  38. LIG-19

    « Reprendre la partie en cours » dit pourquoi il ne peut pascorrigé

    Quand la table n'existe plus sur le serveur, la reprise échouait et l'on se contentait de rouvrir l'accueil — c'est-à-dire de revenir exactement là où l'on était. Vu du joueur : le bouton est mort, on clique, rien ne bouge. C'est ma faute, j'ai posé ce chemin sans lui donner de voix. Il explique maintenant ce qui s'est passé, dit où retrouver le fil de la partie, et propose le seul geste utile : oublier cette partie pour pouvoir en lancer une autre.

  39. JOU-05

    Le fil survit à la partie, même quand elle se perdcorrigé

    Une partie disparue du serveur, une table qu'on quitte, un abandon : le journal partait avec. L'auteur l'a constaté sur deux navigateurs côte à côte — celui qui avait validé la modale d'erreur n'avait plus rien dans le fil, celui qui ne l'avait pas validée avait encore toute la partie. Un fil ne se perd pas parce qu'une partie a mal fini : c'est même là qu'on veut le relire. Il est archivé en « partie précédente » avant tout oubli, exactement comme le fait une fin normale.

  40. LIG-16

    Le second joueur reste bloqué sur l'écran des gardiennes après la victoire de phase 2corrigé

    Un problème d'ORDRE. Les mises reçues étaient appliquées pendant la boucle de sondage, l'état complet APRÈS — et seul le dernier état d'un lot est retenu. Un lot où l'état précède la mise remettait donc le joueur en arrière : il résolvait la phase 2, puis un état antérieur le renvoyait à l'écran des gardiennes. La mise, elle, était consommée, et le serveur ne la renvoie jamais. Le premier joueur voyait son plateau ; le second devait recharger son navigateur, ce qui relit toutes les entrées dans l'ordre et le débloque. Un état complet est un INSTANTANÉ, les mises sont des ajouts qui peuvent lui être postérieurs : on pose l'instantané d'abord, les ajouts ensuite. Et surtout, les mises ne se perdent plus — chacune est retenue tant que dure la partie, la sienne comprise (le serveur ne nous renvoie pas nos propres entrées), et reposée après chaque état remonté. Un filet vérifie enfin que la phase tourne quand tout le monde a misé, quel que soit le chemin par lequel la marque est arrivée.

  41. AFF-17

    Les serpents : le pion ne tremble plus en revenant, et le plateau reste vide une demi-secondecorrigé

    La classe du tremblement était remise pendant le fondu de RETOUR : le pion vibrait de quelques pixels en réapparaissant, ce qui ne se lit pas comme une arrivée mais comme un défaut d'affichage. Le tremblement raconte la panique, avant le départ ; le retour est un simple fondu à la nouvelle place — le pion EST là, il n'a plus rien à fuir. Une pause de cinq cents millisecondes sépare désormais les deux fondus : sans elle, le pion s'efface et reparaît dans la foulée, et l'œil ne voit qu'un scintillement au lieu d'un déplacement.

  42. ARI-06

    Une seule pose gratuite par tour, de la besace ou de la réserveajouté

    Arbitrage de l'auteur, sur la question laissée ouverte à la livraison précédente : « soit il pose une tuile gratuite issue de la besace, soit issue de son stock. » Une par tour, quelle qu'en soit la source, et la seconde — si elle a lieu — se fait aux conditions ordinaires, au bord de sa propre salle comme n'importe quel poseur. Le moteur le faisait déjà : toute pose qui n'est pas au bord du joueur consomme la pose libre, réserve comprise. Mais rien ne le tenait, et la symétrie des deux sources n'était éprouvée nulle part. Elle l'est maintenant, dans les deux sens.

  43. ARI-05

    La salle gardée sans emplacement le dit, au lieu d'un plateau muetcorrigé

    Reproduit dans un vrai navigateur : avec deux salles en réserve, les deux boutons offrent bien leurs emplacements — onze et huit « + ». Mais dès que l'Aristocrate a posé sa tuile gratuite du tour, le même geste n'offre plus rien : zéro emplacement, et pas un mot. C'est pourtant le cas COURANT, puisqu'il pose gratuitement en début de tour — c'est tout l'intérêt de sa compétence — avant de vouloir sortir sa réserve. Sa pose libre consommée, il redevient un poseur ordinaire, et un poseur ordinaire pose au bord de SA salle : au cœur d'un tombeau développé, cette salle est cernée. Le journal l'explique désormais. La règle, elle, n'a pas été touchée : reste à trancher si la réserve doit rester libre après la pose gratuite.

  44. PIE-09

    Un fouilleur immunisé protège toute la tableajouté

    Arbitrage de l'auteur. La question s'est posée en vérifiant tout autre chose : quand le Touriste fouille et tire les Scarabées, personne n'est touché — pas même l'Aristocrate à côté de lui. La carte dit pourtant « les joueurs à 5 cases DU FOUILLEUR passent leur tour », ce qui pouvait se lire comme un essaim qui se répand malgré tout, le Touriste seul étant épargné. La règle générale tranche : si le fouilleur est protégé d'un piège, il protège tout le monde. La carte part en défausse et rien ne se produit. C'est déjà ce que le moteur faisait — mais par accident de mise en œuvre, et non par décision. C'en est une désormais, et un point de règle la tient. Le gaz mortel, lui, reste ce que sa carte dit : il ne frappe que sa tuile.

  45. GAR-33

    Le verdict des garde-fous porte l'empreinte des fichiers qu'il a jugésajouté

    Le verdict disait « la livraison est verte ». Il ne disait pas SUR QUOI. Rien n'empêchait donc de passer la campagne, de retoucher un fichier, et de livrer : le verdict restait vrai sur une version qui n'existait plus. Chaque fichier livré est désormais empreinté, et la somme rangée avec le verdict. node banc/tout.js --verdict recalcule et compare — la question « ces bancs ont-ils été passés sur CE qu'on livre ? » cesse de reposer sur ma parole. Le contrôle se fait dans l'archive elle-même, après l'emballage. C'est le dernier maillon d'une chaîne qui en comptait trois : un banc endormi est rouge, un rouge qui dure annonce son âge, et un verdict ne vaut que pour les octets qu'il a lus.

  46. LIG-15

    Une table orpheline dit pourquoi elle est bloquée, au lieu de ne rien fairecorrigé

    Le dernier rempart posé deux livraisons plus tôt refuse toute action à une partie qui se sait en ligne sans salon monté — reprise par le mauvais chemin, session perdue, serveur muet. Le choix reste juste : une table figée se répare, une table où chacun joue pour tous ne se répare pas. Mais je l'ai écrit comme un silence. Le plateau restait entier, les boutons offerts, les cases cliquables, et rien ne se passait. C'est exactement la faute que je signale dans ce code depuis une semaine, commise par moi, et la pire des trois trouvées : les deux autres bloquaient un geste, celle-ci bloquait la partie entière sans un mot. Le message s'affiche désormais sous le plateau, en rouge, et propose une sortie.

  47. GAR-31

    Un identifiant de salle numéroté ne peut plus être recopié dans le codeajouté

    Six fois la même faute, trouvée six fois séparément : le registre des images en jungle, les points de règle V75 et V77, le banc des cuissons, deux points de règle liés à une numérotation par commodité — et la page de l'éditeur, qui nommait salle39 et salle40 pour reconnaître les Fosses au coffre. Elles occupent salle09 et salle10 depuis la renumérotation : l'éditeur comptait donc ZÉRO tuile d'extension et n'en marquait aucune, en silence, sur une page faite pour vérifier le matériel. Rien ne le signalait, puisque l'identifiant existait toujours — il désignait simplement autre chose. Un garde-fou relit les 81 fichiers du projet et refuse tout salleNN écrit en dur. Les noms sémantiques — entrée, trésor, puits, portail — restent permis : il n'y a qu'une entrée, et son nom dit ce qu'elle est.

  48. GAR-32

    Le verdict du banc d'interface est rendu en dernier, quand plus rien ne peut s'ajouter après luicorrigé

    Il était rendu deux cents lignes avant la fin du fichier, donc AVANT les contrôles de contraste, ajoutés plus tard à la suite. Leurs échecs s'imprimaient à l'écran, en toutes lettres, après que le banc avait déjà décidé qu'il était vert — et comme il sortait en code zéro, le lanceur les comptait pour rien. « Le plateau se lit dans chaque univers » rougissait ainsi depuis des mois, sous mes yeux, à chaque exécution. Je l'ai lu vingt fois et noté « connu, non bloquant » : il n'était pas bloquant parce que personne ne le bloquait. C'est la faute mère de ce projet vue une fois de plus — un contrôle dont l'échec n'a aucune conséquence n'est pas un contrôle.

  49. AFF-16

    Le mini-plateau de la jungle sombre se lit enfincorrigé

    Mesuré : 2,16 de contraste pour la dalle sur la canopée, 1,73 pour son joint, contre un minimum de 3. Sur un téléphone au soleil, le schéma de la jungle sombre était un aplat vert où l'on devinait des formes. Éclaircir la dalle ne suffisait pas : elle se retrouvait prise entre deux bornes qu'elle ne pouvait pas tenir ensemble — assez claire pour se détacher du fond, assez sombre pour laisser voir la case atteignable posée dessus. C'est la canopée qu'il fallait descendre. Résultat : 4,36 pour la dalle, 5,02 pour le joint, 3,10 pour la case, sans quitter le gris-vert humide voulu.

  50. GAR-28

    Un banc qui ne s'exécute pas est désormais rouge, et refuse la livraisonajouté

    C'est la faute mère de ce projet, et elle a coûté plus cher que toutes les autres réunies. Neuf bancs — ceux qui montent une vraie page — s'arrêtaient poliment sur « jsdom absent : banc ignoré » et sortaient en code ZÉRO. Vu du lanceur, un banc qui n'a rien mesuré ressemblait trait pour trait à un banc qui a tout vérifié : même code de sortie, même vert dans le résumé. Ils ont dormi des mois et tenaient d'un coup quatre défauts, dont un qui bloquait les parties en ligne depuis six livraisons. Le silence d'un garde-fou ne se distingue de son accord que si l'on prend la peine de les distinguer. Deux refus s'ajoutent : un banc endormi arrête la livraison, et un banc présent dans le dossier mais absent de la liste du lanceur aussi — c'est la même faute que les identifiants recopiés à la main.

  51. GAR-29

    Un rouge qui dure annonce son âge, et le verdict porte la livraison qu'il a jugéeajouté

    Le lanceur refusait déjà toute livraison au premier rouge. Il n'a rien pu empêcher pour une raison bête : je ne l'ai pas lancé. J'ai lancé les bancs un par un, ceux dont je pensais qu'ils concernaient mon correctif, et j'ai livré. Un garde-fou qu'on peut contourner en ne l'appelant pas ne garde rien. Il dépose donc son verdict avec le numéro de livraison qu'il a jugé, et les points de règle tiennent le registre de leurs rouges : un point qui échoue plusieurs fois de suite dit depuis quand. « Connu, non bloquant » devient une information datée au lieu d'une excuse.

  52. GAR-30

    Cinq contrôles rouges depuis des mois visaient à côté — le jeu, lui, allait biencorrigé

    En passant enfin par le lanceur complet, cinq rouges durables sont tombés, et aucun ne dénonçait un vrai défaut. Le banc des cartes plaçait deux joueurs dans un couloir en I — une seule colonne praticable — puis cherchait deux cases côte à côte horizontalement : le repli en mettait un DANS LA PIERRE, et le coup dans le dos comme le pickpocket étaient déclarés « sans effet vérifié » alors qu'ils fonctionnent. Le banc des cuissons examinait salle28, identifiant qui désignait la Fosse au coffre avant la renumérotation et qui nomme aujourd'hui un couloir ordinaire : il mesurait le fond d'une pierre et le comparait à une pierre. Le banc des fuites exigeait que la seconde moitié d'une longue partie n'ajoute presque aucun nœud — règle juste quand le journal n'affichait que quarante lignes, fausse depuis qu'il en affiche six cents : il mesurait un remplissage et l'appelait une fuite. Et l'Élan final n'avait aucune épreuve, parce que la carte était injouable. Deux fois sur trois, un rouge qui dure est un contrôle qui vise à côté ; c'est une raison de le relire, jamais de s'y habituer.

  53. LIG-14

    Le fil de partie enflait à chaque échange et bloquait les parties en lignecorrigé

    Ma fusion de journal acceptait n'importe quel recouvrement entre deux fils, fût-il d'UNE SEULE LIGNE. Or un journal de partie est répétitif au dernier degré — « Au tour de X », « Fin du tour de X », « X se déplace de 2 case(s) ». Une correspondance fortuite sur une seule ligne suffisait à recoller le fil entrant tout entier derrière l'ancien. Le fil doublait donc à chaque échange, et en ligne, où chaque coup fait circuler l'état, il enflait de façon exponentielle : quarante lignes en devenaient trois cent vingt-et-une en huit coups. La partie chiffrée finissait trop grosse pour partir, et les coups n'arrivaient plus chez l'autre joueur — la phase 2 restait bloquée sur « une seule mise enregistrée ». Un raccord franc n'a pas suffi : le vrai défaut était ailleurs, et plus profond. Recoudre à chaque restauration rendait celle-ci NON IDEMPOTENTE — sauver(restaurer(X)) ne rendait plus X, puisque le journal en ressortait plus long. Or toute la synchronisation en ligne repose là-dessus : un client qui vient d'appliquer l'état d'un autre croyait aussitôt avoir changé et le renvoyait ; les deux se poussaient des états en boucle, chacun écrasant les mises de l'autre. Le recoud n'a rien à faire dans le moteur. Il ne sert qu'à la reprise LOCALE, où l'on tient le début de la partie et où la sauvegarde n'apporte que la fin : il y est désormais armé explicitement, et par elle seule. Le fil complet, lui, se tient dans le stockage de l'appareil, recousu une fois par seconde, sans que le réseau en sache rien.

  54. AFF-15

    « Refaire » ramène au coup quittécorrigé

    L'historique comparait l'état ENTIER pour savoir si la position avait changé, journal compris. Depuis que la restauration recoud le fil au lieu de le remplacer, revenir sur une photo rend un journal plus long que celui qu'elle portait : la comparaison échouait toujours, l'avenir était jeté au premier redessin, et « refaire » ne ramenait plus nulle part. On compare désormais ce que la partie EST — plateau, joueurs, pioche — et non ce qu'on en a dit.

  55. GAR-27

    Cinq bancs dormaient depuis des mois, faute d'une dépendancecorrigé

    Les bancs d'interface — cartes au clic, gestes, pages, réglages, partie en ligne — s'annonçaient « ignorés » faute de jsdom, et je lisais cette ligne comme une information de plus. Ils tenaient pourtant les trois régressions ci-dessus, plus une quatrième : j'avais fait grimper le numéro de version du service worker de v13 à v20, croyant vider le cache, alors que c'est l'horodatage qui le vide et que ce nombre désigne la version du PROJET. Un banc qui ne s'exécute pas ne protège de rien, et son silence ressemble à s'y méprendre à un vert.

  56. LIG-12

    La création d'une table ne la quitte plus aussitôtcorrigé

    Faute introduite à la livraison précédente, et elle m'appartient. Pour qu'une table neuve n'emporte pas l'ancienne partie, j'avais tendu au salon la fonction d'oubli COMPLÈTE — celle qui se termine par « quitter la table côté serveur ». Appelée juste après la création, donc une fois l'état déjà remplacé par la table neuve, elle abandonnait la table qu'on venait de créer. D'où les deux symptômes : plus aucune modale de personnages chez le créateur, puisque le salon n'avait plus d'état à montrer ; et, chez les autres, des tables annoncées mais désertées par leur hôte, impossibles à rejoindre. « Oublier la partie » faisait deux choses très différentes — vider le stockage de cet appareil, et prévenir le serveur — et je n'en avais vu qu'une. Le salon n'exerce plus que la première.

  57. LIG-13

    La liste ne propose que des tables rejoignables, et dit combien elle en écartemodifié

    La liste montrait tout ce que le serveur annonçait, places libres ou non : on cliquait, le serveur refusait, et rien n'expliquait pourquoi. Ces tables existent — un hôte qui abandonne en laisse derrière lui, et j'en ai moi-même semé avec la faute ci-dessus. On ne propose donc que ce qui peut être rejoint, et l'on annonce le nombre écarté : une liste plus courte sans explication ferait douter du serveur, ce qui est la faute que ce projet répète sous mille formes.

  58. LIG-11

    Créer ou rejoindre une table affiche le salon tout de suite, sans rechargercorrigé

    Le salon refusait de s'ouvrir dès qu'une partie était en mémoire. L'intention visait le SONDAGE — un état tardif ne doit pas rouvrir l'écran d'attente par-dessus le plateau, et enfermer un invité dans une salle d'attente alors que sa partie tourne. Mais le refus valait pour TOUS les appels : créer ou rejoindre une table depuis une partie en cours ne montrait plus rien, ni les personnages ni le code. Il fallait recharger le navigateur pour que la partie disparaisse de la mémoire et que l'écran consente enfin à paraître. Le salon distingue désormais l'ouverture VOULUE — on vient de créer, de rejoindre, on choisit son personnage — de celle que le sondage impose : la première passe outre, la seconde reste bornée. Et une table neuve oublie la partie en cours au passage, sans quoi l'ancienne se reproposait au lancement suivant. C'est la troisième fois que la même faute se présente sous un autre visage : une protection écrite comme un silence. Un refus muet ressemble toujours à une panne, et l'on cherche alors le défaut là où il n'est pas.

  59. EXT-06

    Deux coffres, deux couleurs de cubes : un de chaque au maximum par joueurajouté

    Arbitrage de l'auteur. Chaque fosse porte ses cinq cubes d'une matière qui lui est propre — l'or dans l'une, le lapis-lazuli dans l'autre — et un joueur ne peut en avoir qu'un de chaque sur sa fiche. Il fouille donc chaque coffre une fois, et les deux fosses au cours d'une même expédition. Le motif tient d'abord au jeu de table : deux couleurs franches font respecter la règle sans que personne ait rien à noter, là où un cube unique aurait obligé à se souvenir de quel coffre il venait. L'or et le lapis-lazuli sont la paire égyptienne par excellence — c'est celle du masque de Toutankhamon — et elles ne se confondent pas d'un coup d'œil, contrairement au cuivre sous une lumière chaude ou à l'argent dans l'ombre. La matière et sa teinte sont dans les réglages : en changer ne demande pas de toucher au code. La fiche du personnage montre les deux cubes, gris tant qu'ils sont à prendre.

  60. EXT-07

    Au coffre, chaque piège tiré dit qu'il ne mord pascorrigé

    « Le Touriste fouille et trouve : Effondrement » s'écrivait au coffre exactement comme ailleurs, et rien ne suivait. On pouvait croire que la salle venait de s'effondrer alors qu'il ne s'était rien passé. L'en-tête l'annonçait bien — « les pièges y sont inertes » — mais dix lignes plus haut, et personne ne remonte dix lignes en pleine partie. Chaque piège porte désormais sa mention, à sa ligne.

  61. GAR-26

    Deux points de règle rouges depuis des mois ne mesuraient rien du toutcorrigé

    Les deux contrôles de la Fosse au coffre citaient salle28 et salle29, identifiants qui désignaient les fosses avant la renumérotation. Ils posaient donc une salle ordinaire, n'ouvraient jamais rien, et rendaient « six tirages à zéro » — un rouge que je prenais pour une règle non implémentée alors que la règle marchait et que c'était le contrôle qui visait à côté. C'est la même renumérotation qui avait faussé le registre des images en jungle : un identifiant recopié à la main vieillit, une lecture de la liste des salles, non. Les deux points lisent maintenant les réglages de l'extension. Le banc passe de 167 à 171 points, tous conformes.

  62. EXT-05

    Le coffre ne se rouvre plus au joueur qui a déjà pris sa partcorrigé

    La règle est appliquée dans le moteur : le cube posé sur la fiche dit qu'on a ouvert son coffre, et l'ouverture est refusée ensuite. Mais ce compteur ne partait pas dans la sauvegarde. Au premier état reçu d'un autre joueur — donc au tour suivant, en ligne —, il repartait à zéro et le coffre se rouvrait : le Touriste a tiré cinq cartes, puis quatre au tour d'après, et vidé la fosse à lui seul pendant que le Pilleur explorait. Troisième oubli de la même famille après le compte des dernières actions et la réaction suspendue, et le seul qui donnait au lieu de bloquer — c'est pourquoi il est passé inaperçu plus longtemps.

  63. GAR-25

    Un garde-fou éprouve tous les champs d'un joueur au travers d'un aller-retourajouté

    Trois fautes identiques trouvées une par une, chaque fois après qu'une partie eut été gâchée : le compte des dernières actions figeait la fin de partie, la réaction suspendue faisait disparaître les pièges, les cubes d'or rouvraient le coffre. Ces oublis ne se voient jamais en jouant d'une traite — ils ne frappent qu'au premier état reçu, au premier retour de veille — et rien dans le code ne signale un champ manquant : il vaut simplement « indéfini », ce qui ressemble à zéro, à faux, à « pas encore ». On les cherche désormais tous d'un coup : un joueur garni de valeurs reconnaissables, un aller-retour, une comparaison champ par champ. Un champ ajouté demain sera couvert sans qu'on y pense.

  64. AFF-14

    En univers jungle, trente-trois salles sur quarante-six étaient dessinées avec la mauvaise formecorrigé

    Une salle est dessinée par une image cuite d'avance, et c'est un registre qui associe l'une à l'autre. L'empreinte inscrite dans le nom du fichier ne porte que sur la FORME — couloir, escalier, type, taille, recette, univers — si bien que deux salles de même couloir partagent la même image et que le préfixe du nom ne veut rien dire. Quand les identifiants ont été renumérotés, à l'entrée des deux Fosses au coffre, le registre a été remappé sans recuisson : en Égypte les empreintes suivaient, par chance ; en jungle, trente-trois salles pointaient une image d'une autre forme — des murs à la place des couloirs. Le jeu se jouait correctement et se montrait faux. Les deux registres sont refaits par empreinte, l'outil de cuisson réutilise désormais le fichier qui porte la bonne forme au lieu d'en écrire un par salle, et un garde-fou recalcule l'empreinte attendue de chaque définition à chaque livraison. Le nom ment ; l'empreinte, non.

  65. LIG-10

    Une partie en ligne ne se reprend jamais en partie localecorrigé

    L'état d'une partie en ligne se déposait dans le stockage local comme n'importe quel autre, et rien ne disait d'où il venait. Repris par le chemin local — « Reprendre la partie en cours » —, il revenait SANS SON SALON : le verrou du moteur, qui ne tient qu'à la présence du salon, ne se posait plus, et chacun pouvait jouer le tour de tout le monde. La sauvegarde porte désormais une marque à part — hors de l'état, pour ne jamais traverser le réseau — qui l'attache à sa table. Et le verrou gagne un dernier rempart : une partie qui se sait en ligne sans salon monté refuse TOUTE action. Une table figée se répare ; une table où chacun joue pour tous ne se répare pas.

  66. AFF-12

    Le bandeau du tombeau retrouve ses marges et l'air entre ses échellescorrigé

    Le bandeau s'appelait « pyramide » ; il a été renommé « tombeau » dans le HTML quand le vocabulaire a changé, et dix-sept règles de la feuille de style sont restées sur l'ancien nom. Tout le bloc était mort : plus de marge, donc un titre collé au bord gauche de l'écran ; plus d'espacement, donc les quatre échelles d'un seul tenant, les mots contre les carrés et les symboles contre les mots. Rien n'avertit d'un sélecteur qui ne désigne plus rien — la page s'affiche, simplement sans style. Un garde-fou compare maintenant chaque identifiant cité par la feuille à ceux que les pages posent réellement ; il en a trouvé quatre autres, restes de la vue en relief et de la relecture, tous deux retirés du projet.

  67. AFF-13

    Le registre des images de salles se versionne, comme les autres donnéescorrigé

    Deux navigateurs affichaient deux plateaux différents pour le même état de partie : la Fosse au coffre était dessinée correctement dans l'un, avec la mauvaise pierre et la mauvaise orientation dans l'autre. Les images de salles portent une empreinte dans leur nom et peuvent donc être gardées pour toujours ; le REGISTRE qui les associe aux salles, lui, change à chaque cuisson et garde le même nom. Il partait en requête nue, sans suffixe de version : un navigateur qui en tenait une vieille copie continuait de la servir, et les salles ajoutées depuis s'y trouvaient rattachées à d'anciennes images. Même traitement que les autres données — la version de la livraison en suffixe, et aucun stockage.

  68. FUI-11

    Le compte des quatre dernières actions survit à une reprisecorrigé

    Le drapeau « le tombeau se referme » voyageait dans la sauvegarde ; le chiffre PROPRE À CHAQUE JOUEUR, non. Toute reprise — mise en veille du téléphone, aller-retour dans les réglages, rechargement — le perdait, et chacun était alors lu comme épuisé sans avoir rien dépensé. Trois conséquences en cascade : le joueur recevait zéro action et ne pouvait plus que terminer son tour ; la boucle de passage de main sautait tout le monde, atteignait son garde-fou et rendait la main à un joueur DÉJÀ SORTI — d'où un joueur qui terminait les tours d'un autre ; et comme plus personne ne jouait rien, le tombeau ne se refermait jamais. Le numéro de tour, lui, continuait de grimper en silence : du tour 28 au tour 33 sans une seule ligne de journal. Le compte voyage désormais, un filet repose celui des parties enregistrées avant ce correctif, et « personne ne peut jouer » referme le tombeau au lieu de tourner.

  69. CAR-14

    L'Élan final devient jouablecorrigé

    Son effet était écrit, testé et commenté, et la carte restait injouable : l'écran demande au moteur s'il sait jouer un code avant d'offrir le bouton, et celui-ci manquait à la liste. Le joueur lisait « trois actions de plus pour fuir » et n'avait aucun moyen de la poser — au moment précis où elle décide de la partie. C'est le défaut propre à cette liste : elle fait autorité seule, et un oubli ne se voit nulle part. La carte ne s'offre que pendant le compte à rebours, mais elle s'offre même à zéro action, puisque c'est exactement ce qu'elle vient réparer.

  70. CAR-15

    Une carte réactive est proposée à tous ceux que le piège atteint, pas aux seuls occupants de la sallemodifié

    La file des porteurs de masque ou de spray se composait sur la tuile du fouilleur. Or les scarabées frappent à CINQ CASES EN LIGNE : un joueur touché depuis la salle voisine, spray en main, ne voyait jamais la modale et subissait le piège sans avoir eu le droit de répondre. « Ces cartes peuvent être utilisées pendant le tour d'un autre joueur » — encore faut-il qu'on les lui propose. Une seule écriture répond maintenant à « qui ce piège touche », et elle sert aux deux : ce qui décide qui répond décide qui subit. Deux effets de bord réparés au passage — l'Aristocrate portant le trésor était mordu par l'essaim malgré sa protection, et un joueur déjà sorti pouvait « passer son tour ».

  71. CAR-16

    Un piège suspendu attend toujours sa réponse après une mise en veillecorrigé

    Le masque à gaz semblait sans effet : on validait la modale et rien ne se passait. La réaction en attente ne partait pas dans l'état sauvegardé, et comme l'effet du piège n'est appliqué QU'APRÈS la réponse, un dépôt d'état entre-temps faisait disparaître la question et le piège avec elle. C'est la troisième attente du jeu — après la défausse et le combat — et la seule qui manquait encore à la sauvegarde.

  72. JOU-04

    Le fil d'une partie est tenu du premier coup au dernier, et s'exportecorrigé

    Le fil ne commençait jamais au commencement, et ce n'était pas la page qui tronquait. La sauvegarde ne transporte que cent vingt lignes — c'est voulu, elle voyage sur le réseau à chaque coup — mais la restauration les posait TELLES QUELLES à la place du fil complet : chaque reprise rabotait la partie à sa fin. Les deux fils se recousent désormais par leur recouvrement. Second défaut trouvé en chemin : l'archive de la partie précédente était systématiquement VIDE, parce que le fil s'enregistrait après l'oubli de la partie, qui vide le journal. Deux lignes à interchanger. La page gagne un résumé, un repère à chaque changement de tour, un filtre pour masquer les bornes de tour — qui font la moitié du fil — et trois exports : texte, JSON, presse-papier.

  73. LIG-09

    Une invitation reçue en pleine partie pose la question au lieu de se tairecorrigé

    Le code disait « on ne détourne personne d'une partie en cours » et rendait la main sans rien dire. Vu du joueur, c'est un bouton mort : on tape la notification, l'application revient au premier plan sur l'ancienne partie, et il ne se passe rien — il fallait recharger la page pour voir enfin le salon, et le créateur de la nouvelle table retombait de même dans la précédente. L'intention était bonne, mais ne rien demander n'est pas une protection, c'est une panne. On pose la question ; rester est le choix par défaut, et rejoindre abandonne proprement la partie en cours des deux côtés.

  74. FUI-08

    Dès qu'un joueur s'échappe, chacun n'a plus que quatre actions, jouées une par une à tour de rôleajouté

    Celui qui sort le premier laissait les autres dans une course sans horizon. Le compte est en ACTIONS et non en tours : il ne dépend pas du nombre de joueurs, et chacun sait exactement ce qu'il lui reste. Une action chacun, à tour de rôle — personne ne peut épuiser le temps des autres en réfléchissant. Quatre actions, c'est au plus quatre déplacements : certains seront trop loin, ou dans le sable, et resteront prisonniers. C'est ce qui donne son prix à la petite victoire — on sort sans gloire, ou l'on tente le trésor en sachant que la porte se ferme. Les cartes bonus ne comptent pas dans le décompte : c'est la marge qui rend le pari jouable. Réglable dans les paramètres ; zéro désactive la règle.

  75. MAT-10

    Le sable ralentit dès qu'on y entre, pas seulement si l'on y commençait son déplacementmodifié

    Les points de déplacement étaient figés au départ du mouvement : on quittait une salle sèche, on entrait dans le sable, et l'on gardait toute sa vitesse jusqu'au bout. La règle dit l'inverse — c'est la case où l'on se trouve qui décide. Ce qui est déjà payé reste payé : celui qui entre dans le sable avec une action entamée finit sa case et s'arrête là. La Momie, qui a trois actions, pourra en faire deux dans le sable. Le Pilleur n'est jamais ralenti.

  76. CAR-10

    Depuis une embrasure, la pelle déblaie le côté ensablémodifié

    Elle ne regardait qu'une des deux salles de la jonction. Sur une case dont un côté est sec, elle trouvait une salle sans sable et refusait net, alors que l'autre moitié était bel et bien ensevelie. Une seule pelle pour une seule salle : on déblaie celle qui en a besoin.

  77. GAR-09

    En ligne, la phase 2 se joue simultanément : chacun pose sa mise quand il veut, et l'on ne révèle qu'une fois tous validésmodifié

    Autour d'une table on se passe l'appareil, et chacun mise à son tour ; en ligne, chacun a le sien — attendre son rang n'a plus de sens, et l'on voyait miser l'adversaire. La mise de chaque joueur se publie séparément, comme le choix du personnage : deux validations simultanées ne s'écrasent plus. Une mise validée ne se retouche plus. L'écran indique qui l'on attend encore.

  78. FUI-06

    Après un vol, le voleur gagne la salle voisine la plus proche — une demi-case de jonction étant à un pas, c'est elle qui est prise en premierajouté

    Le vol ne coûte pas d'action, mais il ne laisse pas les deux joueurs nez à nez : le voleur s'éloigne aussitôt. Il rejoint la case la plus proche d'une AUTRE salle, par un chemin réel — ni mur traversé, ni momie franchie. Comme une jonction appartient déjà à la salle voisine et se trouve à un pas, c'est elle qu'il occupe le plus souvent. La victime, elle, ne bouge pas. Sans cet écart, les deux joueurs se reprenaient le trésor tour après tour : une vingtaine de rondes de vols stériles observées en partie.

  79. CMP-11

    Inventaire plein : on peut jouer la carte trouvée au lieu de la jetermodifié

    Une fouille rapporte un bonus, la main est pleine, et la règle exige d'en défausser une — souvent celle qu'on vient de trouver. La jouer sur-le-champ règle le débordement aussi bien, et elle sert : la carte quitte la main dans les deux cas. Si elle demande un choix — le sens de l'Engrenage, le portail du Passage secret —, ses options s'ouvrent normalement, même sans action restante. À l'écran, la carte qui vient d'arriver est encadrée d'or et porte la mention « trouvée à l'instant » : avec six cartes en main, rien ne disait laquelle était nouvelle.

  80. POS-07

    Le seuil de la sortie ne se traverse pas par le dehorsajouté

    L'entrée et le puits ont un côté qui donne sur l'extérieur : celui des marches. On ne peut rien y poser, et le plateau le noircit. Mais une salle peut s'y retrouver — posée depuis sa propre voisine, qui ignore le dehors de l'entrée — et surtout un quart de tour de l'entrée déplace ce dehors sur une salle déjà posée. La demi-case sombre devenait alors franchissable : on entrait dans le tombeau par la porte de sortie, à contresens.

  81. MOM-02

    L'inventaire de la Momie passe de quatre à cinq emplacements, et ses momies absorbées y comptent : elle en occupe trois au départmodifié

    Il lui reste donc deux emplacements : deux fouilles, deux momies, ou une de chaque. Elle ne peut s'en délester qu'en phase 2, où ses momies servent d'armes pour le trésor, ou en phase 3, où elle les relâche sur le plateau — d'où l'importance de la marge. Le départ à vide a été essayé puis écarté : une momie qui n'a rien absorbé n'est plus une momie. À l'écran, les quatre emplacements se voient en tête de l'inventaire, d'une autre couleur, et le compte se lit « 3/5 (dont 3 momies) ».

  82. MOM-07

    En phase 1, la Momie reste une momie même les mains vides : elle franchit ses congénères et refuse armes et outilsajouté

    L'échelle d'encombrement range le palier « zéro momie » en forme humaine. Cela vaut pour la fin de partie, quand elle s'est délestée, pas pour l'exploration — où elle est momie quel que soit son chargement.

  83. MAT-09

    Aucune momie n'apparaît sur la case au symbole de l'entrée, du puits ou d'un portailajouté

    Les marches pour l'entrée et le puits, le symbole central pour un portail. L'interdit porte sur cette case seulement, pas sur la salle : le reste de la tuile accueille des momies comme n'importe quelle autre. Une momie postée là fermerait le seul passage, et rien dans la règle ne prévoit de la déloger. La case tourne avec sa salle. Une exception, voulue : le mur de la phase 3, qu'il faut justement percer pour sortir.

  84. PIE-07

    Une salle qui pivote peut repousser une momie à l'autre bout du couloirajouté

    Le cas se produit depuis une case de jonction : la momie tourne avec sa salle, mais si sa case d'arrivée est déjà occupée par une congénère, elle se replie sur la case libre la plus proche de la même salle — ce qui peut l'envoyer au bout du couloir. Deux pions sur une case est un état que rien d'autre dans le jeu n'autorise ; si la salle est pleine, la momie est écartée du plateau plutôt que superposée.

  85. MOM-08

    La Momie franchit une file de congénères, une action par momie franchiemodifié

    Elle se pose sur la première case libre derrière elles. Le franchissement n'en sautait qu'une : deux momies collées l'une derrière l'autre l'emmuraient, avec ses trois actions intactes et aucun déplacement possible.

  86. PIE-08

    Le sable déborde par les couloirs aussi depuis une fouille, pas seulement depuis l'échelle du tombeaumodifié

    Le piège Sable d'une fouille sur une salle déjà ensablée se contentait d'annoncer que le sable « n'ajoute rien ». C'est le même sable : il gagne les salles qui communiquent avec celle-ci, un mur l'arrête, quatre salles au plus.

  87. La salle du trésor ne s'effondre plus. La règle du sable destructeur — supprimée partout — survivait au cœur de la phase 2 : si la salle était déjà ensablée au passage en cas C et que personne n'avait de pelle, la partie s'arrêtait net sur une défaite incompréhensible. C'était la défaite inexpliquée en solo.
  88. La gardienne écartée par la Momie se voit à l'écran des gardiennes, avec le pion qu'elle y laisse — cela ne se lisait que dans le journal.
  89. Une momie ne mure plus le jeu : quand elle occupe la seule ouverture, le « + » s'offre quand même. Le correctif avait d'abord fait tourner la partie en rond — la cause était un emplacement déjà occupé, pas une distance à borner.
  90. La fosse au coffre, en deux exemplaires : un C de fosses, deux cases praticables en impasse. Elle s'appelait « chambre au coffre » — un nom qui la faisait passer pour une seconde salle du trésor dans l'éditeur, alors que la salle du trésor est unique. Elle est destinée à porter un coffre, avec une fouille spéciale de plusieurs cartes sans malus, mais cette règle n'est pas validée : la tuile ne porte rien pour l'instant.
  91. L'essaim de scarabées se dissipe depuis le fouilleur, par-dessus les pions.
  92. Vingt-quatrième garde-fou : les demandes. Il relit chaque correction demandée pour qu'aucune réécriture ne l'emporte — c'est arrivé deux fois en une journée.
  93. La règle du sable destructeur survivait au cœur de la phase 2. Si la salle du trésor était déjà ensablée au passage en cas C et que personne n'avait de pelle, elle s'effondrait et tout le monde perdait — d'où une défaite inexpliquée en solo, et l'impression qu'un tour de mise avait été escamoté. Retirée, comme dans toutes les autres phases.
  94. Le blocage par momie est levé. Une momie postée sur la seule ouverture enfermait le joueur. La cause du refus obstiné était l'Aristocrate : sa pose libre unique se consommait sur la première ouverture offerte, puis tout était refusé en silence. L'offre et le contrôle lisent désormais la même liste.
  95. La rotation de l'Architecte se pilote enfin au clic : aucune case n'était cliquable. Les joueurs tournent maintenant avec leur salle, comme les momies.
  96. La gardienne écartée par la Momie se voit à l'écran des gardiennes, et non plus seulement dans le journal.
  97. Vingt-troisième garde-fou : les points signalés. Vingt-sept défauts signalés par l'auteur, vérifiés un par un à chaque livraison.
  98. La fosse : troisième état d'une case, à côté du couloir et du mur. On n'y marche pas, mais elle ne se lit pas comme de la pierre. Dans l'éditeur, un clic fait le tour des trois états, et chacun porte son dessin.
  99. Les symboles ne débordent plus des coins arrondis — arrondi resserré, pictogrammes réduits et rentrés, mais seulement dans les coins réellement arrondis.
  100. Les notifications sont une case à cocher au lieu d'un bouton dont le libellé changeait selon l'état.
  101. La liste de vérification passe de 62 à 80 points — seconds pouvoirs, cartes rares, effectifs, détails du tombeau. Et un garde-fou vérifie que chaque point PEUT se cocher : trois marques étaient observées sans être posées nulle part, dont une antérieure à ce lot.
  102. Vingtième garde-fou : les annexes. À la question « as-tu tout mis à jour ? », j'avais répondu oui de bonne foi — la vérification a trouvé cinq écarts. Ce banc compare désormais chaque affirmation de la documentation à l'état réel du projet, et il a rougi dès son intégration parce qu'il se comptait lui-même.
  103. Deux clauses du registre n'existaient pas. Trois identifiants étaient en double : mes ajouts visaient un nom déjà pris et se perdaient en silence. Le registre annonçait des clauses qu'il ne contenait pas. Un contrôle refuse maintenant tout identifiant répété.
  104. Deux échelles au seuil se déclenchent dans l'ordre du mini-plateau — malédiction, effondrement, sable, engrenage. Treize salles sur quarante-quatre portent deux symboles différents : l'ordre suivait jusqu'ici leur inscription sur la salle, invisible au joueur et variable d'une salle à l'autre. La règle l'inscrit désormais noir sur blanc.
  105. Les artefacts de git sont retirés du projet livré. Le dossier des parties porte à leur place une note qui explique à quoi il sert et pourquoi il ne faut pas le vider.
  106. Le sable déborde par les couloirs. Si la salle occupée est déjà ensablée, le sable gagne les salles qui communiquent avec elle — un mur l'arrête, quatre salles au plus. Les réveils sans effet passent de 35 % à 2 %.
  107. L'échelle du sable passe de 2 à 3 crans : avec le débordement, deux crans la rendaient envahissante, et retourner autant de tuiles est peu commode sur une table.
  108. Une salle dont l'image ne répond pas est désormais tracée, au lieu de rester un carré noir. C'est ce que montraient les captures : le jeu ne basculait sur son tracé de secours que si l'image manquait au registre, jamais si le fichier échouait au chargement.
  109. Le sable dit quand il ne trouve rien. Depuis qu'une salle déjà ensablée ne cède plus, un joueur qui reste dans le sable est à l'abri de cette échelle : elle se déclenche, et rien ne bouge. Mesuré sur 80 parties : 28 % des réveils de sable étaient dans ce cas, et le journal se taisait. Il l'annonce désormais.
  110. Le voile de sable est plus franc — de .38 à .55 d'opacité : on ne reconnaissait pas une salle ensablée à l'écran, et l'on croyait le piège sans effet alors qu'il avait frappé.
  111. Dix approches d'épreuve des pièges : symboles comptés à la pose, seuils atteints, salles à symboles répétés, échelle affichée, salles occupées frappées, 236 seuils en partie réelle tous suivis d'un réveil, annonces conformes à l'état du plateau, 2664 fouilles toutes appliquées, et les six pièges du paquet vus sortir.
  112. Le sable n'effondre plus rien, nulle part. La règle supprimée en V11 survivait dans le réveil du tombeau — et j'y avais ajouté la veille un message pour l'annoncer proprement, consolidant une règle abolie au lieu de la retirer.
  113. Dix-neuvième garde-fou : les règles abolies. Il cherche les traces des règles mortes dans tout le code et toutes les données. Le garde-fou d'interface était vert sur cette faute : il vérifiait la présence d'un commentaire, pas l'absence d'un comportement.
  114. Six passes de vérification : 34 décisions de règle contrôlées une par une (aucun écart), sept règles abolies traquées, 321 clés de texte auditées et neuf clés mortes retirées, images et registre alignés, 200 parties de 1 à 6 joueurs sans anomalie, et 90 parties confirmant qu'aucun effondrement n'est plus provoqué par le sable.
  115. Les pièges du tombeau fonctionnent — c'est le journal qui mentait. Un réveil du sable qui faisait CÉDER une salle déjà ensablée n'était pas compté : le journal annonçait « aucune prise » pendant qu'une salle disparaissait sous les pieds du joueur. Les deux effets sont désormais comptés séparément.
  116. Un réveil sans effet dit pourquoi. « 0 salle(s) s'effondrent » laissait croire à une panne, alors que l'entrée ne s'effondre jamais — c'est la règle. Le tombeau annonce maintenant qu'elle n'a trouvé aucune prise.
  117. Les quatre échelles au banc des capacités : chacune poussée à son seuil quatre fois, effet vérifié à chaque fois.
  118. La page d'installation ne plante plus. Elle lisait un champ de la réponse sans vérifier qu'il existait : un serveur répondant autre chose que prévu — une ancienne version de l'API, par exemple — la faisait échouer en cours d'affichage, sans diagnostic, sans formulaire et sans message. Chaque champ a désormais une valeur de repli, l'ancienne API est reconnue et nommée, et le formulaire s'ouvre au moindre doute.
  119. Déménager ou réinstaller sans souci de clef. Elle n'est jamais dans l'archive : une installation neuve repart à zéro, une mise à jour la conserve, un déménagement l'emporte avec les réglages si l'on copie api/reglages/, et une clef oubliée se remplace en effaçant un seul fichier. Un dix-huitième garde-fou vérifie ces quatre situations — et qu'aucune clef ne parte jamais dans les fichiers livrés.
  120. Une clef restée dans l'ancien emplacement est signalée à l'installation, avec le geste exact pour y remédier.
  121. L'installation se fait entièrement depuis le navigateur. La page Installer sur un serveur interroge le serveur — version de PHP, droits d'écriture, fichiers manquants, salles cuites — et permet de poser la clef sans aucun accès FTP.
  122. Faille corrigée : la clef ne peut plus être publique. Elle logeait dans donnees/reseau.json, un fichier que le jeu TÉLÉCHARGE : elle aurait été lisible par quiconque ouvrait le site. Elle vit désormais dans api/reglages/clef.php, un fichier PHP qui ne rend rien quand on le demande par le web.
  123. L'installation ne se revendique qu'une fois : ensuite, la clef ne peut plus être ni lue ni remplacée depuis le navigateur.
  124. Le cache ne garde plus jamais un échec. Le service worker enregistrait TOUTES les réponses, 404 comprises : un fichier oublié au téléversement devenait introuvable pour toujours, et le téléverser ensuite ne changeait plus rien. L'écran d'erreur nomme désormais les causes probables et offre un bouton pour vider le cache.
  125. Les salles se cuisent dans le navigateur. L'éditeur compose les images lui-même et les envoie au serveur, qui les écrit et met le registre à jour — plus besoin de Node ni de téléversement. Un dix-septième garde-fou compare les deux cuissons règle par règle, pour qu'elles ne divergent jamais.
  126. Sept contrôles de sécurité de plus sur ce point d'écriture : nom validé, chemin impossible, contenu reconnu comme WebP, taille et nombre bornés, clef exigée, dossier fixé par le serveur.
  127. V13 — un guide d'installation (installation.html) : ce qu'il faut, où poser les fichiers, comment ouvrir l'écriture des réglages, comment recuire les salles, et que faire quand ça coince.
  128. Sécurité des réglages partagés : dix contrôles ajoutés au garde-fou, et huit tentatives d'intrusion simulées — remontée d'arborescence par le nom de version, écriture sans clef, injection de structures, saturation du disque, lecture de la clef. Toutes bloquées.
  129. 200 parties de 1 à 6 joueurs, zéro anomalie sur six invariants : joueur dans la pierre, joueur sous une momie, deux joueurs sur une case, momie dans la pierre, actions négatives, deux porteurs du trésor.
  130. Aucune page n'est plus orpheline : le guide et la liste des nouveautés n'étaient reliés à rien. Un garde-fou le vérifie désormais.
  131. Les réglages se partagent entre appareils. Ils vivent désormais sur le serveur, dans un JSON, et chaque appareil les lit au démarrage — le navigateur en garde une copie pour le hors-ligne. Chaque enregistrement archive le précédent : on revient sur un essai malheureux sans se souvenir de ce qu'on avait changé.
  132. Exporter, importer, revenir à l'origine — et un historique des trente dernières versions, restaurables d'un bouton. L'écriture est protégée par une clef, et reste fermée tant qu'aucune n'est configurée.
  133. Une page de réglages, au menu : 118 paramètres — caractéristiques des personnages, exemplaires et force des cartes, seuils des échelles, portées — ajustables sans toucher aux fichiers. Les ajustements se gardent dans le navigateur et passent par-dessus les données livrées ; « Tout remettre » rend le jeu à son état d'origine.
  134. Pickpocket et Coup dans le dos frappent à deux cases, en ligne et sans traverser les murs — comme les scarabées et le vol du Pilleur. Il ne reste plus que six effets liés à une tuile, et ce sont ceux qui doivent l'être.
  135. Une loupe en bas à droite du plateau ramène la vue d'ensemble, comme sur une carte en ligne — le double appui aussi. Elle ne s'allume que si vous avez composé votre propre vue. Au passage : recadrer() ne recadrait rien, et n'était appelée nulle part.
  136. Les statistiques tiennent enfin sur un téléphone. La mise en page mobile s'appliquait très bien : c'est le display:flex hérité du jeu qui débordait, un élément flex refusant de rétrécir sous son contenu. Un document se dispose en blocs.
  137. Nouveau tableau « Depuis les derniers arbitrages » : salles ensablées en fin de partie, parties avec petite victoire, seconds pouvoirs employés. Une règle retirée après mesure doit rester mesurée.
  138. Seizième garde-fou. Deux bancs étaient hors de la chaîne, donc jamais lancés : pose.js mesurait sans jamais conclure — il a désormais son verdict.
  139. Le plateau n'est plus masqué. Le cadrage automatique figeait la vue sur trois salles : sur un tombeau plus grande, les pions étaient coupés au bord et les emplacements de pose tombaient hors de l'écran — on ne pouvait plus poser. Le cadre suit désormais le tombeau entier, marge comprise, et ne se resserre que si le joueur compose lui-même sa vue.
  140. Passe de contrôle « deux chemins divergent toujours ». Trois trouvailles : le vol du Pilleur mesurait encore à vol d'oiseau — il détroussait à travers la pierre — quand tout le reste était passé aux couloirs ; _caseLibreDe faisait mot pour mot le travail de _premiereCaseLibre sans que personne l'appelle ; et rien ne vérifiait que chaque geste coûte bien une action.
  141. Deux garde-fous de plus — quinze en tout. L'audit cherche désormais seul les fonctions internes jamais appelées, et un nouveau banc déclenche chaque geste isolément pour lire le compteur d'actions.
  142. Coins arrondis cohérents. La découpe tournait avec l'image : une salle pivotée emportait ses coins arrondis à l'intérieur du tombeau, et ils manquaient au bord. Le masque est désormais encodé à rebours de la rotation — vérifié pour les quatre orientations.
  143. Un seul chemin de code pour poser une salle. L'image était tantôt dans un groupe décalé, tantôt en absolu ; c'est cette divergence qui avait dispersé le plateau. Elle est maintenant toujours dans son enveloppe, toujours en coordonnées locales.
  144. La fuite se replie du bon côté. Les salles à égale distance se départageaient par leur ordre de pose — donc les plus anciennes, près de l'entrée : un joueur gazé au fond du tombeau était projeté vers le seuil. Le second critère est désormais la distance réelle en cases.
  145. L'Architecte protège les deux salles de sa jonction. Une case de jonction appartient à deux salles ; on ne regardait que celle vers laquelle ses coordonnées s'arrondissent. Posté dans une embrasure — tout l'intérêt de la position — il ne désamorçait qu'un côté.
  146. Décalage des tuiles corrigé. La découpe des coins posait l'image dans un groupe décalé — coordonnées locales — pendant que la rotation restait en coordonnées absolues : chaque salle tournée partait à l'autre bout du plan. Un garde-fou compare désormais la position déclarée de chaque salle à sa position réelle, et rougit si les repères se mélangent à nouveau.
  147. Le haut et le bas de l'écran sont rendus au jeu. Les marges de sûreté étaient posées sur le corps de page : elles amputaient la hauteur utile des deux côtés, et le panneau se retrouvait coupé une fois l'application installée. L'encoche est contournée par la barre du haut, la barre d'accueil par le panneau du bas, et la hauteur suit désormais la fenêtre réelle.
  148. V11 — la règle du sable sur sable est supprimée. Mesurée avant d'être retirée : 0,73 déclenchement par partie, aucun effet sur le taux de victoire, et zéro sauvetage à la pelle sur 120 parties. Elle entraînait un bug — la pelle restait réclamée au tirage d'un sable, se défaussait, et le sable montait quand même.
  149. Deux victoires : grande avec le trésor (elle scelle le tombeau), petite sans, mais seulement avant l'échappée du porteur. Un joueur sorti ne rejoue plus.
  150. Cinq cases EN LIGNE, arrêtées par les murs, pour les scarabées et le pouvoir du Touriste. Les cases touchées se peignent, au lieu d'un cercle qui traversait la pierre.
  151. Plus de découverte de salle en phase 3 : seulement la carte Plan ou la réserve de l'Aristocrate.
  152. La carte Engrenage laisse choisir le sens — quart horaire, antihoraire, demi-tour — au lieu de tourner d'office.
  153. Les coins libres s'arrondissent vraiment : ni border-radius ni rx ne s'appliquent à une image SVG. Quinze découpes définies une fois font le travail, Safari compris.
  154. Une momie ne se pose plus jamais sur un joueur : la rotation solidaire pouvait l'y amener — 22 anomalies par 60 parties, ramenées à zéro.
  155. « Garder cette salle » a enfin du sens : le geste se fait sur l'aperçu de la salle qu'on vient de tirer, pas à l'aveugle sur la besace. Elle rejoint la fiche avec sa miniature.
  156. Le Pilleur choisit les trois salles qu'il ensable, contiguës en partant de la sienne. Sa capacité était muette : le code cherchait « ensabler3 » dans le mauvais champ.
  157. Les scarabées montrent leur périmètre — un cercle rouge, un signe sur chaque salle touchée — et l'on dit qui est immunisé.
  158. Le cadre montre trois salles dès le premier tour : je cadrais sur le tombeau seule, soit une salle et demie, et les emplacements posables tombaient hors de l'écran.
  159. Les demi-cases qui butent sur un mur s'assombrissent : elles cessent d'inviter à passer.
  160. Nouveau garde-fou : les capacités. Chaque capacité et chaque pouvoir déclenché un par un — 17 contrôles. C'est ce qui manquait pour attraper les deux fautes ci-dessus.
  161. Toute case offerte est cliquable : seules les cases où l'on marche recevaient un écouteur. Les cases de portail, de flambeau et de percée étaient peintes mais sourdes.
  162. Le paquet reste à 78 cartes. Le fusil en comptait cinq : deux sont allées à la dynamite comme demandé, les trois autres au pied de biche (huit désormais). Le nombre d'armes est inchangé — quatorze —, seule la variété se resserre.
  163. Second pouvoir du Pilleur : une fois dans la partie, il franchit un mur pour gagner la case d'après. Dans ATOUM un mur occupe une CASE : la percée mène donc deux pas plus loin, en ligne droite. Deux murs d'affilée restent infranchissables, et le passage ne s'ouvre pour personne d'autre.
  164. Le pouvoir de l'Architecte vaut à toutes les phases, comme les autres.
  165. Nouveau garde-fou : l'audit. Il vérifie qu'aucune fonction n'est définie deux fois, que chaque code de carte a son effet, qu'aucun effet du moteur n'est orphelin, et que chaque capacité a son traitement.
  166. La réserve de l'Aristocrate vaut à toutes les phases, et son bouton porte une miniature de la salle gardée : on reconnaît une forme, pas un numéro.
  167. Second pouvoir de l'Architecte : en phase 3, il pioche une salle et remplace celle où il se tient. Ni le trésor ni les sorties ne se rebâtissent.
  168. Les serpents disparaissent, leur morsure passe aux scarabées portés à six : les joueurs à cinq cases du fouilleur passent leur tour. Plus aucune carte ne fait défausser.
  169. Le fusil est retiré : sa force se reporte sur deux dynamites de plus et un pied de biche de plus (six chacun). Le paquet passe de 78 à 76 cartes.
  170. Audit du code : trois effets du moteur n'étaient plus tirés par aucune carte après ces retraits — ils ont été supprimés plutôt que laissés en fantômes.
  171. Les gardiennes 7 et 8 se retirent enfin selon l'effectif — la règle n'avait jamais été implémentée. À 3 joueurs ou moins les 7 et les 8 sortent du paquet, à 4 joueurs seulement les 8. La force 9 reste toujours : la menace unique.
  172. Le second pouvoir spécial arrive, une fois par partie : l'Aventurière regarde une main à 3 cases et y prend une carte ; l'Aristocrate échange son inventaire à l'aveugle à 2 cases (la Momie est immunisée) ; le Touriste rafle une carte à chacun à 5 cases.
  173. Plus aucun « null » : une seconde fonction affichait les caractéristiques brutes. La Momie annonce son étendue de déplacement (1–4) et un ø à l'attaque — elle n'attaque pas, elle absorbe.
  174. La fiche montre les caractéristiques avec le trésor.
  175. Les scarabées ne font plus défausser qu'une carte.
  176. Les coins libres s'arrondissent : un coin dont les deux côtés n'ont pas de voisine s'adoucit en CSS, sans recuire les images.
  177. Les momies tournent avec leur salle. La pierre pivotait sous elles : elles se retrouvaient dans un mur ou de l'autre côté d'un couloir. Les quatre endroits qui font tourner une salle passent désormais par un seul chemin, qui emporte ce qu'elle porte.
  178. La Momie n'affiche plus « NULL » : ses caractéristiques varient avec le nombre de momies portées, la fiche annonce donc l'étendue (1–4 en déplacement, 3–5 en attaque). Les six personnages contrôlés.
  179. La seconde compétence spéciale est de retour : capacité, pouvoir passif, immunité et caractéristiques avec le trésor, chacune étiquetée.
  180. Les demi-cases de jonction sont rétablies — la cuisson peignait une bande pleine au lieu de trois demi-cases.
  181. Le plan se tire à la souris, et la main interrompt le recadrage automatique au lieu de lutter contre lui.
  182. Plus de diagonales : quand l'affichage ne connaît pas le trajet, il en demande un vrai au moteur au lieu de tracer une ligne droite à travers les murs.
  183. L'engrenage offre les trois sens : quart horaire, quart antihoraire, demi-tour.
  184. Le sable passe sous les murs et monte en fondu sur une seconde et demie.
  185. La proposition de salle grandit sur grand écran : 300 points au lieu de 190, son dessin 180 au lieu de 108.
  186. Le secours se dessine, il ne charge plus rien. Si une salle n'a pas été cuite, on la trace : des carrés à contour clair, comme aux premières versions du projet — un seul chemin par salle, aucune image. Le code de découpe case par case a été retiré pour de bon (−300 lignes), et les douze textures de pierre ne sont plus téléchargées par le navigateur : elles ne servent qu'à la cuisson.
  187. Le sable se montre par un voile dessiné posé sur l'image cuite, plutôt que par une seconde série de quarante-quatre fichiers.
  188. V10 — une salle, une image. Chaque définition est cuite en un WebP unique (outils/cuire-tuiles.js). À quarante salles : 2 944 nœuds → 760, 841 images → 40, construction 237 ms → 30 ms. Un pavage de secours prend le relais si une image manque.
  189. Le choix des joueurs, refait : un joueur à la fois, six portraits sur une ligne, le détail au clic (chiffres, compétence générale, capacité, immunité), et le bouton centré qui dit « Joueur 2 → » puis « Commencer l'exploration ».
  190. On ne bâtit plus derrière l'entrée : le côté du dehors est muré et peint en noir. Au tout premier coup, c'était pourtant le seul emplacement offert.
  191. La molette zoome sans Ctrl, en agissant sur le cadre : le point visé reste sous le curseur. Cadre de départ à trois tuiles de côté.
  192. Le plan de fin : un vrai coffre, une sortie contrastée sur disque sombre, des pions qui tiennent dans leur case.
  193. Partie en ligne : la phase 2 s'ouvre enfin chez les deux joueurs. La sauvegarde omettait les gardiennes et les mises ; l'écran de l'invité plantait et n'affichait plus rien. Chaque morceau d'écran est désormais isolé — une erreur n'emporte plus les autres.
  194. Plus de valse en ligne : les salles reçues en bloc ne s'animent plus, et la vue ne se recadre que quand la main vous revient.
  195. Le double réveil du sable est élucidé : Couloir 24 porte trois symboles Sable. Le tombeau ne se réveille plus qu'une fois par échelle et par salle posée ; les symboles en trop restent comptés.
  196. Les Portails ne sont pas des sorties : d'un portail vers un autre, ou par la carte Passage secret. Celui sous vos pieds n'est plus proposé, et la téléportation demande lequel.
  197. Une partie neuve oublie la précédente : plus de salle fantôme qui s'effondre sur un plateau qui vient de naître.
  198. La relecture est retirée. Elle produisait plus de bugs que de plaisir. L'écran de fin la remplace : portrait du vainqueur, son nom, le plan complet et sa légende.
  199. La vue suit le joueur — par le cadre, plus par une transformation CSS. Trois salles de large, la sienne au centre, une visible de chaque côté. Le mécanisme qui échouait sur Safari est abandonné.
  200. Le plateau ne dessine plus derrière une carte : l'effondrement, le gaz et la fuite des pions se jouent une fois la carte effacée.
  201. Revenir en arrière se regarde : le pion refait son chemin à reculons, d'un trait plus vif. Les deux boutons sont côte à côte, l'un grisé au besoin.
  202. Voler le trésor ne coûte plus d'action au contact, et le voleur gagne une salle entière par un chemin réel.
  203. Le Pilleur vole à deux cases, quelle que soit la tuile — une fois le labyrinthe posé, les tuiles ne se distinguent plus à l'œil.
  204. Le flambeau se vise : avec plusieurs momies à portée, on choisit celle qui brûle.
  205. Les momies ne disparaissent plus en ouvrant la fuite : le surplus se répand vers l'intérieur au lieu de s'évaporer.
  206. Statistiques : les sept tableaux défilent, la page ne déborde plus sur téléphone.
  207. La relecture est supprimée. Trop de bugs pour ce qu'elle apportait — historique tronqué, retours au premier tour. L'écran de fin la remplace : portrait et nom du vainqueur en tête, puis le plan complet et sa légende.
  208. Revenir / Refaire côte à côte, toujours les deux, l'un grisé au besoin — n'en montrer qu'un le laissait prendre la ligne entière.
  209. Le vol du trésor est gratuit au contact : il a fallu dépenser ses actions pour venir jusqu'au porteur. Et le voleur gagne désormais une autre salle, sur la case la plus proche, par un chemin réel — plus de traversée de mur ni de momie.
  210. Le Pilleur vole à deux cases, quelle que soit la tuile : une fois le labyrinthe posé, on ne distingue plus les salles à l'œil.
  211. Le flambeau se vise : avec plusieurs momies à portée, on choisit celle qu'on brûle.
  212. La vue se centre vraiment au changement de main, sur trois salles de large — le zoom se calcule au lieu d'être fixe, et un agrandissement du plateau ne l'annule plus.
  213. Plus d'animation perdue derrière une carte : une salle qui pivote attend que l'aperçu s'efface pour tourner.
  214. Le mur de momies est complet : quand les abords des sorties saturaient, le reste du stock s'évaporait.
  215. Les pions suivent les couloirs. Le moteur retient le chemin de chaque déplacement ; le pion glisse d'étape en étape, et ne traverse plus jamais un mur.
  216. Fuite corrigée (gaz, effondrement) : la tuile la plus proche, et sur elle la case la plus proche de celle qu'on quitte — le déclencheur du piège se replie en premier.
  217. Le gaz se voit : un voile vert monte sur la salle, stagne, se dissipe, pendant que les pions fuient.
  218. La salle tremble avant de s'effondrer — trois secousses, puis la chute ; et les cartes de piège restent une seconde de moins, pour ne plus masquer l'effet.
  219. Passage secret au choix : la carte fait pulser les portails découverts, on clique le sien, le pion s'efface et réapparaît SUR le symbole.
  220. Revenir en arrière : un seul pas, un seul refaire, deux boutons sur la même ligne — et les instantanés restaurés ne rejouent plus le trajet des pions.
  221. La vue suit : à chaque changement de main, le plateau se centre sur le pion du joueur, entre 1,6 et 1,8 de zoom.
  222. POS-06

    La pose d'une salle se fait en cours de déplacement, depuis le bord de sa sallemodifié

    Le texte disait « pendant son déplacement » à un endroit et « adjacente à la tuile où se trouve le joueur » à un autre : les deux formulations se lisaient comme deux règles différentes. La condition de déplacement doit être rappelée dans les conditions de pose.

  223. CMP-10

    L'Aristocrate pose où il veut dans le tombeau, mais en se déplaçant comme les autresmodifié

    Son privilège porte sur la portée, pas sur la dispense de mouvement.

  224. CMP-10b

    L'Aristocrate peut garder une salle en réserve pour plus tardajouté

    Une salle mise de côté lui donne un second recours quand celle du dessus ne se raccorde nulle part.

  225. PER-06

    La Momie suit une échelle d'humanité à trois niveauxajouté

    Trois pions : elle avance d'une case, n'attaque pas, traverse les momies. Un ou deux : elle frappe à 5 et contourne encore. Zéro : humaine, 4 de déplacement, 3 d'attaque, plus aucun interdit d'inventaire, mais elle ne contourne ni n'absorbe plus. Le niveau « momie » reprend exactement les chiffres du tableau d'origine.

  226. MOM-01

    La Momie commence pleine, avec trois momies seules déjà absorbéesajouté

    Elle est une momie pendant toute l'exploration : elle ne se transforme qu'en phase 3, en larguant ses pions. Un groupe ne s'absorbe pas, d'où le tirage des seules.

  227. MOM-08

    Ses cinq emplacements sont partagés entre pions et objetsmodifié

    Elle passe de quatre à cinq places, mais chaque momie portée en occupe une. Absorber exige donc une place libre, et se déshumidifier lui rend de la place.

  228. MOM-06

    En phase 2, elle écarte la plus faible des gardiennes tirées, et un pionmodifié

    Le texte disait « au hasard ». À noter : mesuré sur 400 parties, le tirage au hasard aidait davantage le groupe — une gardienne moyenne vaut 4 points, la plus faible 1,4.

  229. PH2-11

    Au cas C, le sable ensevelit la plus faible des gardiennesajouté

    Le cas C était plus dur que le cas B qui venait d'échouer. Mesuré à deux points de réussite gagnés.

  230. PH2-06

    Au cas C, si la salle du trésor est déjà ensablée et que personne ne pose de pelle, tout le monde perdmodifié

    Cette sanction figure dans le texte mais n'était pas appliquée. Elle donne rétrospectivement du poids à une salle posée côté sable vingt tours plus tôt.

  231. PH2-07

    La concertation du cas C se joue à découvert, avec un second tour d'ajustementmodifié

    Chacun montre ce qu'il compte poser, puis peut revoir sa proposition — sans être tenu de jouer la moindre carte.

  232. PH2-01

    Nombre de gardiennes : 2 / 3 / 4 / 5 / 6 / 7 de un à six joueursmodifié

    Le tableau d'origine (3/4/5/7/8/10) donne 11 % de réussite en phase 2, quel que soit le réglage des armes. Celui-ci tient entre 40 et 60 % à toutes les configurations, et les combats gagnés d'avance disparaissent presque.

  233. BON-14

    Masque, spray et pelle : le porteur choisit de jouer sa carte, en dix secondesmodifié

    Une carte dépensée sans décision n'est plus une carte. Sans réponse, elle reste en main.

  234. PH3-05

    On peut fouiller pendant la fuiteajouté

    Sans cela, un joueur muré par le mur de momies ou par une salle effondrée n'a plus aucun recours. Les pièges y frappent donc aussi.

  235. PH3-07

    On sort par les marches, pas en posant le pied sur la sallemodifié

    L'entrée a ses deux angles inférieurs murés ; il reste la case du milieu, marquée de marches. Au puits, la sortie est la case devant le puits, gardée par une momie.

  236. PER-05

    Le Touriste attaque à 2 en portant le trésormodifié

    À 1, aucune momie ne pouvait perdre contre lui. Son déplacement reste celui du tableau d'origine : 2, et 5 avec le trésor.

  237. MOD-03

    En solo, supprimer les deux cartes d'inventaire supplémentairesretiré

    Mesuré sans effet : un joueur seul ne remplit même pas ses cinq places. Le solo est équilibré par le tableau des gardiennes, qui lui en oppose deux. Même remarque pour la carte supplémentaire à deux joueurs.

  238. DEP-10

    Le sable est le seul piège qui atteigne une case de transitionajouté

    Une demi-case peut être ensablée. Depuis l’embrasure, aller vers la salle ensablée coûte le déplacement réduit ; aller de l’autre côté garde le déplacement plein. Tous les autres pièges de salle continuent de l’épargner.

  239. CMP-15c

    La Momie franchit une congénère pour une action entièreà préciser

    Une seule momie à la fois, en ligne droite, et seulement si la case suivante est libre. Le franchissement coûte l’action complète, quel que soit le nombre de points du personnage.

  240. INV-07

    Faute de case libre, on se replie sur une case tenue par une momieajouté

    Elle est écrasée dans la chute. Sans ce dernier recours, une salle d’entrée saturée et un effondrement suffisaient à laisser un joueur dans la pierre.

  241. INV-06

    Après un effondrement, on se replie sur la salle la plus proche en jeumodifié

    Par le nombre de portes à franchir, non à vol d’oiseau : un mur peut rendre une salle voisine bien plus lointaine qu’une salle distante mais reliée.

  242. PYR-01

    Le tombeau se réveille : quatre échelles, montées par les symboles des salles poséesrefondu

    Le paquet tiré à chaque ronde est supprimé. Chaque salle porte de zéro à quatre symboles dans ses coins ; chacun fait monter d'un cran l'échelle correspondante d'un mini-plateau. Plus de rythme à mémoriser, plus d'accumulation, et le déclencheur devient une conséquence de ce que font les joueurs.

  243. PYR-02

    Chaque effet vise les salles occupéesajouté

    Serrés, les joueurs encaissent peu ; dispersés, tout le plateau tremble. Il n'y a donc pas de bonne position, seulement un risque à choisir — c'est le premier vrai arbitrage de la phase d'exploration.

  244. PYR-03

    Seuils : malédiction 4, effondrement 4, sable 2, engrenage 3 — et le seuil dépassé fait repartir l'échelleajouté

    Le sable descend à 2 parce qu'il est le seul effet vraiment contrable : les pelles existent, et le Pilleur l'ignore. Les symboles restants d'une même tuile continuent de faire monter l'échelle — sans quoi une salle chargée de quatre symboles identiques n'en vaudrait qu'un.

  245. PYR-04

    La malédiction remplit jusqu'à la dernière case libre, sans force chiffréemodifié

    C'est la place disponible qui fixe la sanction : une règle en moins, une conséquence en plus. Se regrouper protège naturellement.

  246. PYR-05

    La moitié des salles ne porte aucun symboleajouté

    22 salles vierges, 8 à un symbole, 7 à deux, 4 à trois, 3 à quatre — soit 46 symboles, une douzaine par échelle. Le suspense se déplace du tirage vers le dévoilement de la salle.

  247. PYR-06

    Rien ne se déclenche pendant la fuiteajouté

    La phase 3 se joue entre joueurs. L'effondrement et le passage secret y seraient d'ailleurs incohérents.

  248. PYR-07

    Le paquet du tombeau est supprimé : ses cartes reviennent à la fouilleécarté

    Les seize cartes — huit Sable, quatre Engrenage, quatre Scarabées — retournent au paquet Fouille, qui retrouve ses 78 cartes et ses 36 % de pièges. Les contraires des effets du tombeau (pelle, flambeau, passage secret, engrenage) y étaient déjà : c'est en fouillant qu'on trouve de quoi la contrer.

  249. PH3-09

    Le voleur file aussitôt dans une salle voisineajouté

    Après avoir arraché le trésor, le voleur gagne immédiatement une case libre d'une salle voisine accessible — sans que cela lui coûte d'action. Sans cette fuite, les deux joueurs se reprenaient le trésor tour après tour sans jamais avancer : une partie à deux joueurs comptait une vingtaine de rondes de vols stériles.

  250. PYR-08

    La malédiction entoure le joueur, elle ne remplit pas une sallemodifié

    Les momies se posent sur les cases libres les plus proches de chaque joueur, de proche en proche. Sur une case de transition, les deux salles se garnissent en même temps au lieu d'écraser un seul côté — s'y tenir n'est plus une double peine. Si les pions viennent à manquer, ce sont les cases collées au joueur qui sont servies en premier.

  251. PYR-09

    Sur une case de transition, la malédiction remplit les deux sallestranché

    Les momies se posent sur les cases libres les plus proches, sans regarder à quelle salle elles appartiennent. Se tenir dans une embrasure expose donc des deux côtés — c'est le prix de l'inattention, et cela évite d'avoir à choisir un côté selon une règle arbitraire.

  252. PH3-10

    Pendant la fuite, aucune momie ne se pose sur les marches ni sur la margelleajouté

    Boucher une sortie condamne la partie sans combat : c'est une impasse, pas une difficulté. Pendant l'exploration, la garde du puits reste en revanche légitime — on a tout le temps de la déloger.

  253. JON-01

    La case de transition : toutes ses règlesprécisé

    Une demi-case de jonction est fusionnée entre deux salles, et lui appartient donc aux deux. En découlent : on y frappe les momies des deux salles voisines, et une momie postée dessus reste frappable ; l'Aventurière y exerce sa compétence dans les deux salles à la fois ; les cartes de trahison — pickpocket, coup dans le dos — y visent les joueurs des deux côtés ; l'entraide au combat y joue également des deux côtés ; le tombeau compte les deux salles comme occupées quand quelqu'un s'y tient ; on n'y pose pas de salle — la pose se fait depuis le bord d'une salle, pas depuis l'embrasure ; les pièges de salle n'y atteignent personnesauf le sable : une demi-case peut être ensablée, et depuis l'embrasure, aller vers la salle ensablée coûte le déplacement réduit tandis qu'aller de l'autre côté garde le déplacement plein ; et on n'y pose pas de salle.

  254. PH2-12

    Les gardiennes les plus lourdes sortent du paquet à petit effectifajouté

    À trois joueurs ou moins, on retire les momies de force 7 et 8 ; à quatre, les 8 seulement. La 9 reste toujours : une menace unique et reconnaissable, plutôt qu’un mauvais tirage anonyme. Ce n’est pas la moyenne qui écrase un groupe réduit, c’est la queue de distribution — mesuré, le solo passe de 22 % à 37 % de réussite en phase 2, et le trio de 40 % à 63 %.

  255. TRA-01

    Un second pouvoir spécial par personnage, une seule fois par partieajouté

    Comme la capacité spéciale : une cartouche, pour une action, en phase 1 seulement. Chacun en a donc deux, et toute la partie se joue à deviner qui a déjà tiré la sienne. La Momie y est immunisée, comme elle l’est déjà au vol.

  256. TRA-02

    Regarder l’inventaire d’un joueur présent sur sa tuileajouté

    De l’information pure, sans violence : savoir si le groupe peut battre les gardiennes avant de miser change tout le cas B, et cela crée de la conversation plutôt que de la rancune.

  257. TRA-03

    Échanger son inventaire à l’aveugle avec celui d’un autre joueurajouté

    Quel que soit le nombre de cartes de part et d’autre. Le seul de ces pouvoirs qui puisse se retourner contre celui qui le lance.

  258. TRA-04

    Prendre une carte au hasard dans chaque main adverse — deux à trois joueurs ou moinsajouté

    Le pouvoir s’adapte à la table : à cinq joueurs il rapporte quatre cartes, à deux il en rapporterait une seule, d’où le doublement à petit effectif.

  259. TRA-05

    Prendre trois cartes au hasard chez un adversaire, et lui en rendre une de sa propre mainajouté

    Une razzia ciblée plutôt qu’un prélèvement général. La carte rendue est choisie par le voleur : on se débarrasse d’un piège inutile en emportant trois inconnues.

  260. TRA-06

    Faire défausser la moitié d’un inventaireécarté

    C’était le seul de ces pouvoirs à détruire des ressources juste avant le combat qui en dépend, et la victime n’y décidait de rien. Remplacé par la rotation des cartes, qui redistribue au lieu d’appauvrir.

  261. PH2-13

    Montrer la moitié de sa main au début de la phase 2écarté

    Le jeu a déjà sa progression d’information : rien au cas B, tout au cas C. Un demi-dévoilement au milieu écraserait cette montée, pour une ou deux cartes révélées.

  262. BON-04/05/06

    Le nombre d’armes reste à quatorzevérifié

    Mesuré sur 300 parties : quatorze armes donnent 48 % de réussite en phase 2, quinze en donnent 45 %, seize 47 %. L’écart tient dans le bruit — une ou deux armes de plus ne feraient aucune différence réelle. Le paquet n’a pas besoin de grossir.

  263. PRE-07

    Les joueurs entrent un par un par les marches, et leur première action est un déplacementmodifié

    Un seul pion est sur les marches au départ ; chacun paraît au début de son premier tour et doit dégager la porte pour le suivant. En solo, la salle de la Momie est dévoilée dès la mise en place, faute de quelqu'un pour la révéler.

  264. PH2-00

    La salle du trésor posée ferme l'exploration aussitôt et regroupe tout le monde dedansmodifié

    Le jeu attendait la fin du tour. La découverte suffit : les joueurs sont placés dans la salle, les momies qui s'y trouvaient sont écartées, la phase 2 s'ouvre.

  265. PH3-02

    Le mur remplit d'abord la salle de sortie, puis déborde sur les voisinesmodifié

    Les momies se plaçaient directement sur les salles d'approche. Seule la case des marches reste libre : une momie postée dessus rendrait la sortie inatteignable pour la Momie, qui ne peut pas frapper.

  266. PRE-03

    La Momie n'entre en jeu qu'à la première salle à symbole révéléemodifié

    Les autres partent de la tuile d'entrée ; elle attend hors du tombeau, et le premier symbole posé est le sien. En solo, faute de quelqu'un pour révéler la salle, elle part de l'entrée comme les autres.

  267. CMP-15

    La Momie franchit une congénère pour une action, si la case suivante est libreà préciser

    Le franchissement coûte l'action entière, quel que soit son nombre de points, et ne vaut que pour une momie à la fois, en ligne droite. Sans cette précision, la forme complète — une case par action — ne pouvait jamais se poser derrière, et une momie au centre d'une salle en croix l'emmurait.

  268. CMP-15b

    La Momie n'attaque jamais une congénère tant qu'elle en portemodifié

    Le ø du tableau vaut tant qu'elle est momie : elle absorbe, ou elle passe au-dessus. Redevenue humaine, à zéro pion, elle se bat comme les autres.

  269. MOM-09

    Quatre emplacements momie sur sa carte, dont un libre au départmodifié

    Elle commence à trois momies et garde le choix d'en absorber une quatrième, aux mêmes caractéristiques. Sans cet emplacement libre, absorber n'était pas une décision.

  270. INV-03b

    Depuis une embrasure, on frappe la momie qui bouche le passagemodifié

    L'interdiction condamnait un joueur posté sur une jonction, momie devant, à rebrousser chemin — et dans un couloir sans issue, à ne plus rien pouvoir faire du tout.

  271. DEP-08

    On pose une salle en chemin, puis on finit son déplacementmodifié

    Le mouvement ne s'arrêtait plus après la pose : il reste ouvert tant qu'il reste des points, comme le dit le texte — « il peut ensuite finir son déplacement ou revenir sur ses pas ».

  272. DEP-07

    Les actions de déplacement se cumulent en un seul mouvement continuajouté

    Sans cumul, la Momie en forme complète — une case par action — ne peut jamais franchir une congénère : survoler la case occupée et se poser derrière demande deux points qu'elle n'a jamais ensemble. Sur le plateau, les cases coûtant plus d'une action portent leur prix : 2A, 3A.

  273. INV-05

    Un joueur délogé par une salle qui pivote se replie sur la case praticable la plus procheajouté

    Le texte ne prévoit pas ce cas. Le renvoyer à l'entrée du tombeau était disproportionné : la salle tourne sous ses pieds, il ne traverse pas le labyrinthe pour autant.

Matériel7 points

  1. MAT-05

    43 pions momie, au lieu de 42modifié

    La tuile Puits porte désormais un symbole momie : sa sortie est gardée.

  2. MAT-08

    Paquet Fouille : 78 cartes, au lieu de 68modifié

    Cinq armes ajoutées et cinq cartes Plan du tombeau.

  3. BON-04/05/06

    Armes : pied de biche +3 ×5, fusil +4 ×5, dynamite +5 (6 contre un groupe) ×4modifié

    Il fallait en moyenne sept fouilles et demie pour tenir une arme au moment du combat. Un point de plus et cinq cartes de plus rapprochent le groupe du seuil sans rendre le tirage décisif.

  4. BON-16

    Nouvelle carte : Plan du tombeau, 5 exemplairesajouté

    Elle autorise une pose sans être en déplacement — le recours du joueur bloqué, en exploration comme en fuite.

  5. PH3-07

    Tuile Entrée : les deux angles inférieurs sont murés, la case du milieu porte des marchesmodifié

    La sortie doit se voir et se viser. Il reste sept cases praticables, de quoi accueillir six pions au départ.

  6. PH3-08

    Tuile Puits : couloir central en U, le puits occupe la case du milieu, la sortie est devant luimodifié

    Le puits n'est pas une case où l'on marche. On sort par la case qui lui fait face, et une momie y monte la garde.

  7. Tuile Salle du trésor : illustration d'un coffre de pharaonajouté

    Elle se confondait avec les autres salles au moment où elle compte le plus.

Coquilles du document3 points

  1. « Les tuiles (x43) » dans le corps du texte, « 44 tuiles » dans le matériel

    Les deux sont justes selon qu'on compte l'entrée : une posée d'avance, 43 dans la besace. À harmoniser.

  2. Le titre du document annonce 3–6 joueurs, la règle en décrit 1 à 6

    Le mode solo est décrit plus loin : le titre doit suivre.

  3. « ajoute 3 cases de éplacement », « créer dun passage », « motrtel »

    Fautes de frappe relevées à la relecture.