Navigateur / Étude de cas interactive / 16 min de lecture

Dino : pourquoi le jeu accélère-t-il sans cesse ?

Analysez avec REA un jeu de dinosaure dérivé de Chromium. Retrouvez sa règle d’accélération, ajoutez un réglage de vitesse et testez un cas limite en virgule flottante.

Sur cette page

01. Essayez avant de décortiquer

Appuyez sur Jouer et sautez l’obstacle. Passez le curseur de vitesse de 3 à 12 : l’obstacle accélère immédiatement. Réactivez l’accélération automatique et observez la valeur monter progressivement depuis 6.000.

L’expérience de vitesseJOUER / OBSERVER / EXPLIQUER
VITESSE 6.000FRANCHIS 0
Un jeu familier. Une règle à analyser.

Appuyez sur Jouer, puis Sauter. Modifier le curseur sélectionne une vitesse fixe.

Nouveau jeu pédagogique. Seule la règle d’accélération suit l’investigation documentée.

Ce que vous construirez

Une expérience jouable et une fonction de vitesse vérifiée pour cinq nombres de mises à jour.

Avant l’investigation

L’expérience fonctionne ici. Pour l’investigation : REA connecté à votre agent, Chrome et la version HTTP publique du jeu. Commencez par notre guide d’installation si REA n’est pas connecté. Configurer REA →

02. Connectez-vous à la version que vous pouvez inspecter

Ouvrez le t-rex-runner public de wayou dans un profil de débogage Chrome distinct. La commande ci-dessous concerne macOS ; sous Windows ou Linux, utilisez votre exécutable Chrome avec les mêmes options. Gardez ce navigateur et ce terminal ouverts pendant l’analyse.

Ce tutoriel cible une page HTTP, pas chrome://dino. Si la page a changé, conservez le script réellement consulté et notez son empreinte avant de le comparer aux résultats historiques ci-dessous.

Terminal
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-address=127.0.0.1 \
  --remote-debugging-port=9222 \
  --user-data-dir="$(mktemp -d /tmp/rea-dino.XXXXXX)" \
  https://wayou.github.io/t-rex-runner/
Consigne d’investigation à copier
Utilise REA pour appeler list_browser_targets sur http://127.0.0.1:9222. Sélectionne la page t-rex-runner par son URL, puis appelle inspect_web_page avec include_script_sources activé. Lis le fichier index.js chargé. Trouve la vitesse initiale, l’incrément d’accélération, la condition de mise à jour et le seuil de vitesse. Cite les emplacements dans le code. Ne reconstruis pas encore le jeu.

03. Comprenez ce que signifie une « mise à jour »

Un paramètre nommé ACCELERATION est un indice, pas une explication complète. Suivez son utilisation. Intervient-il à chaque rendu, seulement pendant une partie ou seulement en l’absence de collision ? Demandez à l’agent d’inclure la condition environnante pour que la réponse couvre davantage que le cas nominal.

La version documentée commence à 6 et ajoute 0.001 à chaque mise à jour admissible si la vitesse courante est inférieure à 13. Ce n’est pas « 0.001 par seconde ». Notre jeu pédagogique effectue 60 mises à jour logiques fixes par seconde ; le dessin est indépendant de la fréquence de rafraîchissement de votre écran.

  • Notez la valeur avant et après une seule mise à jour.
  • Trouvez la condition de collision ou d’état de jeu entourant l’incrément.
  • Vérifiez si le seuil est testé avant ou après l’addition.
  • Distinguez le rythme des images du calcul retrouvé.

04. Ajoutez un réglage de vitesse en préservant la règle

Construisez le plus petit jeu qui rende la règle visible : un personnage simple, un obstacle, un bouton de saut et un affichage de vitesse. Le curseur doit passer en vitesse fixe ; activer le mode automatique doit revenir à la valeur initiale documentée.

Ne remplacez pas discrètement la condition par un plafonnement à 13. Ce nettoyage apparemment anodin change le résultat à la limite. Conservez une première implémentation fidèle, puis apportez les changements voulus dans un mode séparé.

Consigne d’investigation à copier
Crée un mini-jeu indépendant dans le navigateur avec Jouer/Pause, Sauter et Recommencer. Reproduis uniquement la règle documentée de mise à jour de vitesse. Ajoute un curseur de vitesse fixe de 2 à 18 et un mode automatique commençant à 6. Utilise un pas logique fixe, mets le jeu en pause hors écran et accepte le clavier et le tactile. Présente les nouveaux graphismes, collisions et sauts comme du code pédagogique. Teste la fonction de vitesse importée, pas une seconde copie.

05. Analysez les 0.001 supplémentaires

Exécutez plusieurs fois la fonction de vitesse sans collision. Comparez les points ci-dessous en conservant la valeur non arrondie dans les résultats. La valeur finale surprenante est l’intérêt de l’exercice : la comparaison précède l’addition, et des incréments répétés en virgule flottante n’atteignent pas forcément exactement un seuil décimal.

Si vous obtenez 13.000 après 10 000 mises à jour, cherchez un plafonnement ou un arrondi décimal dans la boucle. Si le résultat varie avec la fréquence de rafraîchissement, vérifiez si la simulation avance une fois par image affichée.

Consigne d’investigation à copier
Rejoue la véritable fonction d’accélération pendant 0, 1000, 4000, 7000 et 10000 mises à jour depuis la vitesse 6. Renvoie les valeurs en pleine précision et leur affichage à trois décimales. Compare-les au rapport source, explique les écarts et précise si tu as exécuté notre remplacement ou le jeu original. Lire le code ne constitue pas un test d’exécution du jeu original.

06. Comparez les résultats connus

Utilisez ces valeurs comme points de contrôle explicites. Les retrouver étaye cette petite règle, sans établir une compatibilité avec toute l’application.

Mises à jourAffichage attenduQuestion résolue
06.000Valeur initiale
1 0007.000Incrément par mise à jour
4 00010.000Accumulation
7 00013.000L’arrondi peut masquer le cas limite
10 00013.001Comparer avant d’ajouter

Enregistrez les deux fichiers dans le même dossier. Exécutez les vérifications avec Node.js ; aucun paquet n’est à installer.

Terminal
node check-case-labs.mjs

07. Qu’est-ce qui a réellement été vérifié ?

Le rapport REA contient des exécutions contrôlées du jeu HTTP d’origine. Ce site vérifie son propre module de vitesse avec ces points de contrôle enregistrés ; nous n’avons pas refait l’inspection du jeu original. Les graphismes, le saut, les collisions et l’espacement des obstacles ci-dessus sont du nouveau code pédagogique. Seule la règle d’accélération est reconstruite.

Lire les résultats numériques enregistrés par ce site →

Sources : Analyse REA de la calculatrice et du dinosaure · Version fixée de la branche de mise à jour du jeu. Tutoriel, illustrations et expériences dans le navigateur créés indépendamment.

Expérience suivanteComment 16 projectiles savent-ils où vous êtes ? →

Vous découvrez l’outil ? Qu’est-ce que REA ? · Comment nous vérifions nos guides