Test Autonome de Super Mario Utilisant des Modèles Comportementaux

L'article explore les méthodes de test autonome utilisées dans Super Mario Bros., en employant une approche de modèle comportemental. Il s'agit d'une suite à une série en cours visant à perfectionner le jeu autonome et à terminer les niveaux sans intervention humaine. L'accent principal est mis sur l'utilisation d'un générateur d'entrées basé sur la mutation, qui inverse les bits dans les données d'entrée pour créer des scénarios variés afin de tester la réponse du jeu, révélant ainsi des situations limites qui pourraient passer inaperçues via les tests traditionnels.
Voici un extrait de code de la méthodologie :
import mario
import random
def generate_input(starting_byte, flip_probability, input_length):
input = []
next_byte = starting_byte
for _ in range(input_length):
for j in range(8):
if random.random() < flip_probability:
next_byte ^= (1 << j)
input.append(next_byte)
return input
Cette approche est conçue pour imiter un jeu réaliste, permettant à certaines touches de rester enfoncées sur plusieurs images, similairement à la façon dont les joueurs maintiennent 'déplacement à droite' tout en tapotant 'saut'. Une collection de chemins, représentée par des séquences d'entrées, est maintenue et rejouée sélectivement pour trouver un parcours optimal à travers le jeu. Une fonction de fitness simple favorise les chemins avec la position la plus élevée sur l'axe des x, mais en raison de potentielles impasses, un ensemble diversifié de chemins avec des scores variés est exploré pour assurer des tests complets.
Cette technique est particulièrement utile pour les développeurs impliqués dans le développement de jeux ou ceux intéressés par l'automatisation des tests, offrant des perspectives sur l'exploration efficace d'espaces d'états complexes.
📖 Lire la source complète : HN AI Agents
👀 See Also
Triaging des PR communautaires avec des agents multi-joueurs dans OpenClaw 2.0
Patrick Erichsen (Fondation OpenClaw) montre comment utiliser des agents multiutilisateurs dans OpenClaw 2.0 pour trier et examiner les PR communautaires. L'automatisation vérifie Discord toutes les 15 minutes, attribue un mainteneur et démarre une session d'agent partagée.

Développeur débogue un bogue redondant du service worker dans une PWA Next.js avec l'aide de Claude
Un développeur a créé Somnia, une PWA Next.js 14 avec notifications push, en utilisant Claude comme partenaire de codage. Le bug le plus difficile concernait les service workers qui devenaient REDUNDANT sur Android Samsung en raison d'un ID de build obsolète dans sw.js.
Claude Artifacts en tant que constructeur de présentations : Contexte complet + actifs de marque
Utilisez Claude avec le contexte de codebase, l'accès navigateur à l'identité visuelle (Brandfetch) et des bibliothèques de design populaires pour générer une présentation vanilla HTML/JS/CSS via Artifacts — produisant un diaporama élégant et remixable sans Google Slides ni PowerPoint.

Développeur crée une application bancaire macOS avec Claude Code en 6 semaines
Un développeur a créé simplebanking, une application macOS gratuite et open-source pour la barre de menus destinée aux banques allemandes en utilisant Claude Code. L'application affiche les soldes en direct sur plusieurs comptes, propose une recherche de transactions, une détection d'abonnements et conserve toutes les données localement.