Détectez les bugs
avant vos joueurs.
L'Analyse de scripts de BranchPy parcourt votre projet Ren'Py entier à la recherche de sauts cassés, de variables non définies, de chemins inaccessibles et d'erreurs logiques — présentés sous forme de rapport structuré et filtrable dans VS Code. Sans playtesting obligatoire.
Ren'Py est un langage de script. L'analyse statique n'est pas intégrée.
Ren'Py analyse et exécute vos scripts à l'exécution. Cela signifie qu'un jump label_cassé
enfoui dans une branche rarement empruntée ne sera détecté que lorsqu'un joueur l'atteindra réellement —
potentiellement des mois après la sortie, signalé comme un plantage dans un avis.
BranchPy effectue une analyse statique sur tout votre projet avant que vous ne lanciez quoi que ce soit. Il résout chaque référence de label, suit les assignations de variables dans toutes les branches, et signale les problèmes à la ligne exacte où ils surviennent — sans deviner quelle partie du jeu a déclenché le plantage.
À quoi ressemble un rapport de résultats
Les résultats sont triés par sévérité et regroupés par fichier. Chaque entrée renvoie directement à la ligne concernée.
jump scene_fantome — le label scene_fantome n'est défini nulle part dans le projetconfiance_alex lue avant assignation sur la branche chemin_refus → chapitre3_froidfin_secrete_b est défini mais inaccessible depuis tout point d'entrée connucall chapitre4_outro — le label appelé existe mais n'a pas d'instruction return"Rester silencieux" mène au même label que "Ne rien dire" — possible doublonTypes de résultats
Cibles de jump / call non définies
Un jump ou call référence un label qui n'existe nulle part dans le projet. Provoquera un plantage à l'exécution lorsqu'il sera atteint.
Variable lue avant assignation
Une variable est accédée sur une branche où elle n'a jamais été assignée. Crée une NameError ou AttributeError à l'exécution.
Labels inaccessibles
Labels définis qu'aucun jump, call ou option de menu ne peut atteindre. Signal souvent d'un contenu supprimé, d'un label renommé ou d'un bug structurel.
Call sans return
Une cible de call n'a pas d'instruction return. L'exécution continuera au-delà du bloc appelé de manière inattendue.
Chemins de branche dupliqués
Deux choix de menu qui naviguent vers le même label — souvent une erreur de copier-coller qui érode l'illusion d'un choix significatif.
Anomalies de temps de lecture
Labels significativement plus longs ou plus courts que la moyenne du projet — utiles pour la révision du rythme et la priorisation QA.
✓ Trois passes d'analyse — une seule commande
BranchPy effectue trois passes complémentaires à chaque analyse :
- Analyze — passe de base : graphe de labels, résolution de sauts, suivi basique des variables, temps de lecture.
- PILOT (stats2) — passe d'énumération de chemins : parcourt chaque chemin accessible pour exposer les états de variables par branche et les combinaisons impossibles.
- OMEGA — passe d'espace d'états heuristique : borne les plages de variables, repère les conditions mortes et les combinaisons de drapeaux impossibles à grande échelle.
Analyze est gratuit pour tous les utilisateurs Ren'Py Gratuit. PILOT et OMEGA se débloquent aux niveaux supérieurs.
Ce qui est disponible à chaque niveau
| Fonctionnalité | Ren'Py Gratuit | Pro | Team |
|---|---|---|---|
| Graphe de labels et résolution de sauts | ✓ | ✓ | ✓ |
| Détection des cibles manquantes et labels inaccessibles | ✓ | ✓ | ✓ |
| Analyse du temps de lecture | ✓ | ✓ | ✓ |
| Énumération de chemins PILOT (stats2) | ✓ | ✓ | ✓ |
| Analyse heuristique d'espace d'états OMEGA | — | ✓ | ✓ |
| Règles lint BQF personnalisées | — | ✓ | ✓ |
| Modèles de politique partagés en équipe | — | — | ✓ |
Ce que vous obtenez maintenant
L'Analyse de scripts est disponible dans BranchPy pour Ren'Py Gratuit et supérieur.
Chaque jump, call et scene est résolu dans tous les fichiers .rpy de votre projet, pas seulement le fichier actuel.
BranchPy suit les assignations de variables dans les branches et signale les lectures sur les chemins où l'assignation n'a jamais eu lieu.
Chaque analyse produit un rapport JSON horodaté. Les rapports alimentent les panneaux Compare, Organigramme et PFI — tous depuis la même source de données.
La commande Doctor intégrée vérifie votre environnement (chemin SDK, version Python, fichiers de config) et signale tout problème de configuration avant le lancement de l'analyse.
Ce qui arrive ensuite
Prêt à arrêter de trouver des bugs dans les avis ?
Installez BranchPy pour VS Code. Lancez une analyse. Lisez le rapport avant vos joueurs.
Obtenir BranchPy Lire la documentation