Connaissances / Guides /
Comment repérer les images manquantes dans un projet Ren'Py avant la sortie
Les erreurs d'images manquantes dans les jeux Ren'Py partagent une propriété frustrante : elles n'apparaissent que lorsque le moteur essaie d'afficher l'image. Si la référence se trouve dans une branche que vos testeurs n'atteignent jamais, le bug est livré. C'est le joueur qui le découvre.
L'analyse statique — vérifier les références des scripts par rapport aux fichiers sur le disque avant d'exécuter quoi que ce soit — les détecte avant qu'elles ne deviennent des erreurs d'exécution. Voici comment cela fonctionne et ce qu'il faut rechercher.
Pourquoi les images manquantes surviennent
Les causes les plus fréquentes ne sont pas des erreurs d'inattention. Ce sont des problèmes structurels :
show bg_city_night a un underscore là où le nom de fichier utilise un espace, ou inversement.
BG_City.png vs bg_city.png.
Aucun de ces cas n'est détecté au moment de l'écriture. Les scripts Ren'Py ne valident pas les chemins des images lorsque vous les tapez — seulement lorsque le moteur a besoin de les afficher.
Pourquoi les erreurs Ren'Py sont difficiles à tracer à l'exécution
Lorsqu'une image manquante est rencontrée, Ren'Py produit une erreur de ce type :
L'erreur est suffisamment claire en elle-même. Le problème est que la ligne 847 peut se trouver dans une branche de l'histoire qui nécessite une séquence spécifique de choix faits plus tôt dans une partie de 40 minutes. Vos testeurs doivent connaître ce chemin, penser à l'emprunter, et atteindre cette scène précise. Les trois conditions doivent être vraies simultanément.
Comment l'analyse statique détecte les assets manquants
L'analyse statique fonctionne différemment de l'exécution du jeu. Au lieu de suivre un seul chemin
dans l'histoire, elle lit chaque fichier .rpy et collecte toutes les références
d'images — quelle que soit la branche dans laquelle elles apparaissent.
Les références qu'elle recherche incluent :
image bg_city_night = "images/bg_city_night.png"— déclarations d'images explicitesshow bg city night— appels d'affichage (utilisant la convention de nommage des images Ren'Py)scene bg city with dissolve— transitions de scènesadd "images/ui_frame.png"— références directes à des chemins
Chaque référence collectée est ensuite vérifiée par rapport aux fichiers présents sur le disque. Toute référence sans fichier correspondant sur le disque est un asset manquant.
Erreurs courantes et leur signification
Image nommée avec des espaces vs des underscores
Ren'Py associe les noms d'images aux fichiers selon une règle de normalisation spécifique. Un fichier
nommé bg_city_night.png est automatiquement disponible comme bg city night
dans les appels d'affichage. Mais si vous avez déplacé ou renommé le fichier en bg-city-night.png
(avec des tirets), l'association se rompt silencieusement.
Référence de chemin pointant vers un dossier supprimé
Référence placeholder jamais remplacée
Comment effectuer une vérification d'assets manquants avec BranchPy
Dans le panneau de Validation des médias de BranchPy, les assets manquants apparaissent avec un badge MANQUANT dans le navigateur de médias. Ils sont listés quelle que soit la branche contenant la référence — l'intégralité du script est analysée, pas seulement les chemins que vos testeurs ont joués.
Chaque entrée MANQUANT indique le chemin du fichier qui était référencé et confirme qu'il est absent du disque. Aucune exécution requise. Inutile de naviguer jusqu'à cette branche de l'histoire.
Que faire quand vous trouvez un asset manquant
- Vérifiez si le fichier a été renommé ou déplacé — recherchez dans votre dossier d'assets le nom de base du fichier, en ignorant le chemin et l'extension. Il existe souvent encore sous un chemin modifié.
- Vérifiez les différences de casse — comparez la casse exacte du nom de fichier dans la référence du script avec le fichier sur le disque.
- Vérifiez si l'asset a été intentionnellement supprimé — si c'est le cas, mettez à jour la référence dans le script. Ne laissez pas de références mortes pointant vers rien.
- Si le fichier n'a jamais été créé — créez un placeholder maintenant pour que l'erreur disparaisse du scan. Remplacez-le avant la sortie.
Résumé
- Les images manquantes ne se déclenchent qu'à l'exécution, dans la branche spécifique qui les référence.
- La structure des embranchements signifie que ces branches peuvent ne jamais être atteintes lors des tests manuels.
- L'analyse statique lit chaque référence dans l'intégralité du script, pas seulement les chemins qu'un testeur a suivis.
- Chaque asset manquant trouvé avant la sortie est un crash que vos joueurs ne verront jamais.
.rpy, détecte les
références d'assets manquants et signale les fichiers protégés gérés par le moteur — directement dans VS Code.
Voir comment fonctionne la Validation des médias →