Identifizieren Sie unkontrollierte Eingaben
Listen Sie alles auf, was zwischen den Läufen variieren kann: zufällige Feindpositionen, verstrichene Zeit, Timing der Animationsbilder, ein gespeicherter Highscore, Abmessungen des Ansichtsfensters und Reihenfolge der Benutzereingaben. Entscheiden Sie, welche Variablen für das zu testende Verhalten von Bedeutung sind. Verwenden Sie für eine Kollisionsprüfung einen festen Feindstandort und einen bekannten Spielerstart. Kontrollieren Sie für eine Überprüfung des Spawn-Musters die Zufallssequenz, testen Sie jedoch mehrere ausgewählte Samen, damit ein Setup kein schlechtes Muster verbirgt.
Kontrollieren Sie die Zeit, ohne das Spielerverhalten einzufrieren
Geben Sie für eine Timer-Regel eine explizite Startzeit an und prüfen Sie, was bei einer sinnvollen Grenze passiert, z. B. drei verbleibende Sekunden und genau Null. Vergleichen Sie für bildbasierte Bewegungen die gleiche verstrichene Dauer anstelle der gleichen Anzahl gerenderter Bilder. MDN weist darauf hin, dass die Rückruffrequenz von requestAnimationFrame im Allgemeinen der Aktualisierungsrate der Anzeige folgt und Rückrufe in den meisten Browsern für ausgeblendete Registerkarten angehalten werden; Animationscode sollte daher bei der Berechnung des Fortschritts seinen Zeitstempel oder eine andere Zeitquelle verwenden.
Fragen zu Deterministische Spieletests
Bedeutet deterministisches Testen, dass zufälliges Gameplay entfernt wird?
Nein. Es bedeutet, die Zufälligkeit in ausgewählten Tests zu kontrollieren, um das Verhalten zu vergleichen. Sie können weiterhin separate Erkundungstests für verschiedene Samen durchführen, um die Reichweite des Spiels zu überprüfen.
Warum kann ein Test lokal bestanden werden und bei der Ausführung im Browser fehlschlagen?
Unterschiedliches Timing, unterschiedliche Ansichtsfenster, gespeicherter Zustand oder zufällige Reihenfolge können das Setup verändern. Notieren Sie diese Bedingungen und kontrollieren Sie diejenigen, die für das überprüfte Verhalten relevant sind.
Weiterlesen
Etwas nicht mehr aktuell? Korrektur melden