EvonX
Live in jedem Spiel

Playtesting & PerformanceEvonx spielt es, bevor du es tust.

Jedes Spiel bringt seine eigenen Playtests mit: Ein Roboter-Spieler feuert die Kanone, zündet das TNT, zerbricht die Gläser, verschießt absichtlich alle Kugeln und prüft jedes Mal, ob das Spiel richtig reagiert. Eine Änderung erreicht deine Vorschau erst, wenn ihr Playtest besteht, und ein Live-Game-Profiler zeigt, was jedes Bild kostet.

37 / 37bestandene Playtest-Checks im Smash-Template
60 FPSMedian seiner 19 Gameplay-Checks
45 sechtes Spielen hinter jedem Performance-Score

37 Checks, ein Roboter-Spieler

Jede Regel, von einem Roboter gespielt.

Spiele testen wie ein Spieler, im Playtest-Lauf des Smash-Templates: Ein Roboter-Spieler feuert, verfehlt, zündet TNT, verschießt absichtlich alle Kugeln und prüft jedes Mal, ob das Spiel richtig antwortet. 37 bestanden, 0 fehlgeschlagen.

pass60 fps
npm run playtestsmash template
  1. passboard · board the seams fire and a hook scales the score
  2. passbooster · booster bar arms and consumes
  3. passbooster · booster the seams fire and a hook adds a button
  4. passconfetti cannons · confetti cannons fire from both corners
  5. passhud shots · hud shots top
  6. passiap · iap a store release pays through the bridge
  7. passiap · iap a serverless store release grants from the device
  8. passlevelend · levelend banner sparks coins card
  9. passlevelend · levelend settles only a level the game has
  10. passlevelend · levelend card fits
  11. passlevelend · levelend the seams fire and a hook bends the coins
  12. passlevelend · levelend the verdict holds the input not the world
  13. passnav · nav deck and hanging sign

playtest: 37 passed, 0 failed

Performance-Score

Bildrate und Ruckler, eine Zahl.

Jedes Spiel misst 45 Sekunden echtes Spielen auf dem Gerät des Spielers: wie viele Bilder es zeichnet und wie viele es verpasst. Daraus wird ein Performance-Score von 0 bis 100, für jedes Spiel gespeichert. Bewege die Regler, um zu sehen, wie der Score sie liest.

100gut
gut ≥ 80okay ≥ 55schwach < 55

Score = 100 × (0,45 × FPS von 20 bis 55 + 0,55 × (1 − verpasste Bilder / 15 %)), jeder Teil zwischen 0 und 1 gehalten

59,98 vs. 60,00FPS mit Messung an und aus, Smash-Template: das Messen kostet nichts Sichtbares
40–63 nspro Bild für die Messung selbst
Nur SpielzeitMenüs, pausierte Spiele und Tabs im Hintergrund zählen nicht; der Score ist, was der Spieler spürt

Worauf die Playtests achten

Die Regeln, durch Spielen getestet.

Jeder Playtest spielt einen Moment des Spiels und prüft, was passieren muss. Das sind die Gameplay-Checks des Smash-Templates, jeder mit seinem Screenshot und seinen Messwerten.

Ein Tippen feuert eine Kugel
Ein Tippen feuert eine Kugel59,6 fps · 14 Draw Calls · 29.596 Dreiecke
Eine Kugel fliegt nie durch ein Teil
Eine Kugel fliegt nie durch ein Teil59,9 fps · 12 Draw Calls · 29.036 Dreiecke
TNT explodiert
TNT explodiert59,7 fps · 27 Draw Calls · 49.864 Dreiecke
Ein Glas zerbricht
Ein Glas zerbricht56,3 fps · 18 Draw Calls · 27.240 Dreiecke
Eine gefallene Dose platscht und sinkt
Eine gefallene Dose platscht und sinkt59,1 fps · 14 Draw Calls · 21.852 Dreiecke
Ein Brett trägt seine Dosen
Ein Brett trägt seine Dosen60 fps · 14 Draw Calls · 24.496 Dreiecke
Die Kugeln gehen aus, das Angebot kommt
Die Kugeln gehen aus, das Angebot kommt58,9 fps · 20 Draw Calls · 24.880 Dreiecke
Kein Schuss in der Pause
Kein Schuss in der Pause60 fps · 10 Draw Calls · 25.996 Dreiecke
Draw-Call-Budget
Draw-Call-Budget59,2 fps · 23 Draw Calls · 104.694 Dreiecke

Bevor du eine Änderung siehst

Rot stoppt die Änderung. Grün liefert sie aus.

Wenn du eine Änderung möchtest, führt der Server die Prüfungen des Spiels im Build aus, bevor er dir sagt, dass sie fertig ist:

1Der Code kompiliert: npm run typecheck
2Die für diese Änderung geschriebenen Playtests bestehen, ebenso jedes Spielpaket, das die Änderung berührt.
3Hat sich eine Regel geändert, wird jedes Level neu gelöst: npm run levels:solve
4Ein roter Check lehnt den Schritt mit dem fehlgeschlagenen Check und seiner Ausgabe ab; deine Vorschau bleibt auf der letzten bestandenen Version.

Fragen

Playtesting, beantwortet.

Was prüft ein Playtest?

Dass das Spiel beim Spielen tut, was seine Regeln sagen: Ein Tippen feuert eine Kugel, eine Kugel fliegt nie durch ein Teil, TNT explodiert, ein Glas zerbricht, eine gefallene Dose platscht und sinkt, die Kugeln gehen aus und das Angebot kommt, in der Pause fliegt kein Schuss. Das Smash-Template hat 37 solcher Checks.

Was passiert, wenn ein Check fehlschlägt?

Die Änderung wird mit dem fehlgeschlagenen Check und seiner Ausgabe abgelehnt, und die Vorschau bleibt auf der letzten bestandenen Version. So spielst du nie einen Build, der eine Regel gebrochen hat.

Wie wird der Performance-Score berechnet?

Aus 45 Sekunden echtem Spielen: Die Bildrate zählt 45 % (von 20 bis 55 FPS), der Anteil verpasster Bilder 55 % (0 bis 15 %). Ab 80 ist gut, ab 55 okay.

Bremst das FPS-Messen das Spiel?

Nein. Mit Messung an und aus lief das Smash-Template mit 59,98 und 60,00 FPS; die Messung dauert 40 bis 63 Nanosekunden pro Bild.

Was zeigt der Game Profiler?

Einen Streifen oben im Spiel: FPS-Anzeige, das langsamste Bild der letzten Sekunden, Bildzeit, CPU- und GPU-Zeit, Draw Calls, Dreiecke, Vertices und Speicher, jeweils von Grün bis Rot eingefärbt. Hänge ?profiler an die Adresse eines Spiels, um ihn einzuschalten; im Evonx-Editor steht er neben der Vorschau.

Läuft ein Spiel mit 120 FPS?

Auf einem 60- oder 90-Hz-Bildschirm zeichnet ein Spiel jedes Bild, das der Bildschirm zeigt. Auf einem 120- oder 144-Hz-Handy zeichnet es absichtlich jedes zweite: In einem Casual Game bewegt sich nichts schneller, als ein 60-Hz-Bildschirm zeigt, und doppelt so viele Bilder verdoppeln nur die Arbeit und wärmen das Handy.

Getestet, bevor du spielst. Bewertet, während du spielst.

Starte kostenlos und baue ein Spiel, das sich selbst prüft.

Kostenlos starten