EvonX
Disponible dans chaque jeu

Playtesting et performanceEvonx y joue avant toi.

Chaque jeu arrive avec ses propres playtests : un joueur robot tire au canon, fait exploser le TNT, brise les bocaux, gaspille exprès tous les boulets et vérifie à chaque fois que le jeu réagit correctement. Un changement n’atteint ton aperçu qu’une fois son playtest réussi, et un profileur en direct montre ce que coûte chaque image.

37 / 37vérifications de playtest réussies dans le modèle Smash
60 FPSmédiane de ses 19 vérifications de gameplay
45 sde vraie partie derrière chaque score de performance

37 vérifications, un joueur robot

Chaque règle, jouée par un robot.

Tester un jeu comme un joueur, dans le passage de playtest du modèle Smash : un joueur robot tire, rate, fait exploser le TNT, gaspille exprès tous les boulets et vérifie à chaque fois que le jeu répond correctement. 37 réussies, 0 échouée.

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

Score de performance

Fréquence d’images et saccades, un seul chiffre.

Chaque jeu mesure 45 secondes de vraie partie sur l’appareil du joueur : combien d’images il dessine et combien il en rate. Il en tire un score de performance de 0 à 100, enregistré pour chaque jeu. Déplace les curseurs pour voir comment le score les lit.

100bon
bon ≥ 80correct ≥ 55faible < 55

Score = 100 × (0,45 × FPS de 20 à 55 + 0,55 × (1 − images ratées / 15 %)), chaque partie bornée entre 0 et 1

59,98 vs 60,00FPS avec et sans mesure, modèle Smash : mesurer ne coûte rien de visible
40–63 nspar image pour la mesure elle-même
Temps de jeu seulementles menus, les jeux en pause et les onglets en arrière-plan ne comptent pas ; le score, c’est ce que ressent le joueur

Ce que surveillent les playtests

Les règles, testées en jouant.

Chaque playtest joue un moment du jeu et vérifie ce qui doit se produire. Voici les vérifications de gameplay du modèle Smash, chacune avec sa capture d’écran et ses mesures.

Un appui tire un boulet
Un appui tire un boulet59,6 fps · 14 Draw calls · 29 596 Triangles
Un boulet ne traverse jamais une pièce
Un boulet ne traverse jamais une pièce59,9 fps · 12 Draw calls · 29 036 Triangles
Le TNT explose
Le TNT explose59,7 fps · 27 Draw calls · 49 864 Triangles
Un bocal se brise
Un bocal se brise56,3 fps · 18 Draw calls · 27 240 Triangles
Une canette tombée éclabousse et coule
Une canette tombée éclabousse et coule59,1 fps · 14 Draw calls · 21 852 Triangles
Une planche porte ses canettes
Une planche porte ses canettes60 fps · 14 Draw calls · 24 496 Triangles
Plus de boulets, l’offre arrive
Plus de boulets, l’offre arrive58,9 fps · 20 Draw calls · 24 880 Triangles
Aucun tir pendant la pause
Aucun tir pendant la pause60 fps · 10 Draw calls · 25 996 Triangles
Budget de draw calls
Budget de draw calls59,2 fps · 23 Draw calls · 104 694 Triangles

Avant que tu voies un changement

Le rouge bloque le changement. Le vert le livre.

Quand tu demandes un changement, le serveur exécute les vérifications du jeu dans le build avant de te dire qu’il est prêt :

1Le code compile : npm run typecheck
2Les playtests écrits pour ce changement réussissent, ainsi que chaque paquet de jeu qu’il touche.
3Si une règle a changé, chaque niveau est résolu à nouveau : npm run levels:solve
4Une vérification rouge refuse l’étape avec la vérification échouée et sa sortie ; ton aperçu reste sur la dernière version réussie.

Questions

Le playtesting, en réponses.

Que vérifie un playtest ?

Que le jeu fait en partie ce que disent ses règles : un appui tire un boulet, un boulet ne traverse jamais une pièce, le TNT explose, un bocal se brise, une canette tombée éclabousse et coule, les boulets s’épuisent et l’offre arrive, aucun tir pendant la pause. Le modèle Smash compte 37 vérifications de ce type.

Que se passe-t-il si une vérification échoue ?

Le changement est refusé avec la vérification échouée et sa sortie, et l’aperçu reste sur la dernière version réussie. Tu ne joues donc jamais à un build qui a cassé une règle.

Comment le score de performance est-il calculé ?

À partir de 45 secondes de vraie partie : la fréquence d’images compte pour 45 % (de 20 à 55 FPS), la part d’images ratées pour 55 % (de 0 à 15 %). À partir de 80, c’est bon ; à partir de 55, correct.

Mesurer les FPS ralentit-il le jeu ?

Non. Avec et sans mesure, le modèle Smash tournait à 59,98 et 60,00 FPS ; la mesure prend 40 à 63 nanosecondes par image.

Que montre le profileur de jeu ?

Une bande en haut du jeu : compteur FPS, l’image la plus lente des dernières secondes, temps d’image, temps CPU et GPU, draw calls, triangles, sommets et mémoire, chacun coloré du vert au rouge. Ajoute ?profiler à l’adresse d’un jeu pour l’activer ; dans l’éditeur Evonx, il est à côté de l’aperçu.

Un jeu tourne-t-il à 120 FPS ?

Sur un écran 60 ou 90 Hz, un jeu dessine chaque image que l’écran affiche. Sur un téléphone 120 ou 144 Hz, il en dessine volontairement une sur deux : dans un jeu casual, rien ne bouge plus vite que ce qu’affiche un écran 60 Hz, et deux fois plus d’images ne font que doubler le travail et chauffer le téléphone.

Testé avant que tu joues. Noté pendant que tu joues.

Commence gratuitement et crée un jeu qui se vérifie lui-même.

Commencer gratuitement