Analyse de scripts

Détectez les bugs de logique avant vos joueurs

BranchPy Studio analyse l'intégralité de votre projet Ren'Py — en résolvant chaque label, saut, appel et embranchement de menu — pour détecter transitions cassées, cibles indéfinies et problèmes de variables. Chaque résultat est rattaché à la ligne exacte, sans aucune partie de test.

Résolution inter-fichiersSauts cassésSuivi des variablesChemins inatteignablesRapports structurés
Écran Analyze de BranchPy Studio — résultats structurés groupés par sévérité et par fichier

L'écran Analyze dans BranchPy Studio — résultats groupés par sévérité, chacun relié à sa ligne source.

Ren'Py exécute votre script — il ne le vérifie pas d'abord

Ren'Py analyse et exécute vos scripts à l'exécution. Un jump label_casse enfoui dans une branche rarement empruntée n'est détecté que lorsqu'un joueur l'atteint réellement — parfois des mois après la sortie, signalé comme un plantage dans un avis.

BranchPy Studio effectue une analyse statique déterministe sur tout votre projet avant de lancer quoi que ce soit. Il résout chaque référence de label, suit les affectations de variables sur toutes les branches et met en évidence les problèmes à la ligne où ils surviennent — pour corriger la cause au lieu de deviner quelle partie a déclenché le plantage. L'analyse est en lecture seule : votre source n'est jamais modifiée.

Capacités

Ce qu'il détecte

Cibles de saut & d'appel indéfinies

Un jump ou un call référence un label qui n'existe nulle part dans le projet — signalé comme erreur avant de planter à l'exécution.

Variable lue avant affectation

Une variable est utilisée sur une branche où elle n'a jamais été affectée — le genre de NameError qui ne surgit que sur un chemin précis.

Labels inatteignables

Des labels définis qu'aucun saut, appel ou option de menu ne peut atteindre — souvent du contenu coupé, un label renommé ou un bug structurel.

Appel sans retour

Une cible de call n'a pas d'instruction return, donc l'exécution continue au-delà du bloc appelé d'une manière que vous n'aviez pas prévue.

Chemins de branche en double

Deux choix de menu qui mènent au même label — généralement un oubli de copier-coller qui érode discrètement le sens du choix.

Temps de lecture atypiques

Des labels bien plus longs ou plus courts que la moyenne du projet — un signal rapide pour la relecture du rythme et la priorisation QA.

Comment ça marche

Des passes complémentaires, une seule analyse

Ouvrez votre projet, lancez l'analyse et examinez des résultats exploitables — chaque passe ajoute de la profondeur sans modifier vos fichiers.

1

Doctor

Vérifie votre environnement — chemin du moteur, version de Python, config — et signale les problèmes de configuration avant l'analyse.

2

Analyze

La passe de base : construit le graphe des labels, résout chaque saut et appel, suit les variables et mesure le temps de lecture.

3

Pilot

Parcourt chaque chemin atteignable pour faire ressortir les avertissements de variables par branche et les conditions inatteignables.

4

Révision

Les résultats sont groupés par sévérité et par fichier, chacun relié à sa ligne. Ils alimentent aussi Flowchart et Compare.

Comment les résultats sont signalés

Chaque résultat est trié par sévérité pour traiter d'abord les plus dangereux.

SévéritéSignificationExemples
Erreur Plantera à l'exécution lorsque le chemin sera atteint. Cible de saut/appel indéfinie ; variable lue avant affectation.
Avertissement Probablement un bug ou un reste — à résoudre avant la sortie. Label inatteignable ; appel sans retour.
Info Un signal à examiner — pas nécessairement une erreur. Chemins de branche en double ; temps de lecture atypiques.

Gratuit pour les créateurs Ren'Py

L'analyse de scripts est incluse dans Ren'Py Creator (gratuit). Installez BranchPy Studio, ouvrez votre projet et lancez votre première analyse en quelques minutes.