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.

🔴 Détection d'erreurs ⚠️ Triage des avertissements ✓ Résolution multi-fichiers 📊 Rapports structurés

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.

ERREUR
jump scene_fantome — le label scene_fantome n'est défini nulle part dans le projet
scripts/chapitre2.rpy · ligne 147
ERREUR
Variable confiance_alex lue avant assignation sur la branche chemin_refus → chapitre3_froid
scripts/chapitre3.rpy · ligne 52
AVERT.
Le label fin_secrete_b est défini mais inaccessible depuis tout point d'entrée connu
scripts/fins.rpy · ligne 310
AVERT.
call chapitre4_outro — le label appelé existe mais n'a pas d'instruction return
scripts/chapitre4.rpy · ligne 88
INFO
Le choix de menu "Rester silencieux" mène au même label que "Ne rien dire" — possible doublon
scripts/chapitre1.rpy · ligne 204

Types de résultats

ERREUR

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.

ERREUR

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.

AVERT.

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.

AVERT.

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.

INFO

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.

INFO

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 GratuitProTeam
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.

🔍
Résolution de labels multi-fichiers

Chaque jump, call et scene est résolu dans tous les fichiers .rpy de votre projet, pas seulement le fichier actuel.

🧮
Suivi des variables

BranchPy suit les assignations de variables dans les branches et signale les lectures sur les chemins où l'assignation n'a jamais eu lieu.

📊
Rapports JSON structurés

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.

🩺
Diagnostics Doctor

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

Analyze (passe de base) Graphe de labels · Résolution jump/call · Cibles manquantes · Suivi des variables · Temps de lecture · Sortie JSON structurée ✓ Terminé
PILOT (stats2) Énumération complète des chemins · États de variables par branche · Candidats à combinaisons impossibles ✓ Terminé
OMEGA Analyse heuristique d'espace d'états · Bornes de variables · Détection de conditions mortes · Visualisation des triades PF ✓ Terminé
Règles BQF personnalisées Politiques lint définies par l'utilisateur · Préréglages partagés en équipe · Intégration au panneau Problèmes VS Code ✓ Terminé
Analyse incrémentale Ré-analyser uniquement les fichiers modifiés · Retour en moins d'une seconde à la sauvegarde À venir

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