Autonomes Testen von Super Mario mithilfe von Verhaltensmodellen

Der Artikel befasst sich mit autonomen Testmethoden, die in Super Mario Bros. eingesetzt werden, und verwendet einen verhaltensmodellspezifischen Ansatz. Dies ist eine Fortsetzung einer laufenden Serie, die darauf abzielt, das autonome Spielen zu perfektionieren und Levels ohne menschliches Eingreifen zu meistern. Der Schwerpunkt liegt auf der Verwendung eines mutationsbasierten Eingabegenerators, der Bits in Eingabedaten umkehrt, um unterschiedliche Szenarien zu erstellen, die die Reaktion des Spiels testen und Randfälle offenbaren, die bei herkömmlichen Tests möglicherweise unbemerkt bleiben.
Hier ist ein Code-Ausschnitt aus der Methodik:
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
Dieser Ansatz ist darauf ausgelegt, ein realistisches Gameplay zu simulieren, wobei bestimmte Tasten über mehrere Frames gedrückt bleiben, ähnlich wie Spieler die Taste 'nach rechts bewegen' halten, während sie 'springen' tippen. Eine Sammlung von Pfaden, dargestellt durch Eingabesequenzen, wird beibehalten und selektiv wiedergegeben, um einen optimalen Kurs durch das Spiel zu finden. Eine einfache Fitnessfunktion bevorzugt Pfade mit der höchsten x-Achsen-Position, aber aufgrund möglicher Sackgassen wird ein diverser Satz von Pfaden mit unterschiedlichen Punktzahlen erkundet, um umfassendes Testen zu gewährleisten.
Diese Technik ist besonders nützlich für Entwickler, die an der Spieleentwicklung beteiligt sind, oder für diejenigen, die sich für Testautomatisierung interessieren, da sie Einblicke in die effiziente Erkundung komplexer Zustandsräume bietet.
📖 Lesen Sie die vollständige Quelle: HN AI Agents
👀 Siehe auch

Entwicklung einer kindersicheren Malbuch-App mit Claude als Pair-Programmierer
Ein Entwickler nutzte Claude als Pair-Programmer, um eine SwiftUI-Malbuch-App mit lokaler Bilderstellung, Elternsperre und ohne Werbung zu bauen.

Batch-API kosteneffektiv für Änderungen an mehreren Codedateien
Ein Entwickler berichtet, dass er Claude Sonnet und Opus für die Stapelverarbeitung verwendet hat, um 30+ Dateien zu modifizieren und 3.000 Codezeilen für etwa 2 Pfund zu generieren, mit spezifischen Prompts und Tools wie Repomix für die Inhaltsbeschaffung und Minimax für die Bereinigung.

Täglicher 3,5-Stunden-Sprach- + Claude-Workflow: Spezifikationen beim Gehen diktieren, mit Claude Code erstellen
Ein Entwickler geht mit 3 Hunden 12+ Mal am Tag spazieren (3,5 Stunden) und nutzt dabei Spracheingabe + Claude, um zu brainstormen, zu recherchieren und spec.md-Dateien zu erstellen. Anschließend baut Claude Code basierend auf diesen Spezifikationen.

Immobilienentwickler's KI-Agent führt ersten Telefonanruf mit Kontext und Sprachstil durch
Ein Entwickler, der einen Multi-Agenten-Betrieb für Immobilien führt, berichtet, dass sein KI-Agent seinen ersten erfolgreichen Anruf getätigt hat, dabei den vollen Kontext über Geschäfte und Interessenten nutzte und den spezifischen Verkaufsansatz und Sprachstil des Entwicklers imitierte.