Qu'est-ce que le format de fichier RPY ?
.rpy est un fichier de script utilisé par le moteur de visual novel Ren'Py. Bien que l'extension du format rappelle ses racines .py, un fichier .rpy n'est pas une simple source Python : il est écrit dans le langage spécifique à Ren'Py, qui superpose des instructions de narration de haut niveau - dialogues de personnages, directives de scène, menus à choix et flux narratif conditionnel - aux règles de syntaxe familières de Python. Les fichiers .rpy peuvent contenir du code écrit en Python directement aux côtés des instructions spécifiques à Ren'Py.
.rpy est un fichier texte brut encodé en UTF-8 et peut être ouvert et édité dans n'importe quel éditeur de texte. Les auteurs modifiant des scripts .rpy doivent faire attention à l'indentation, car Ren'Py utilise l'indentation pour définir les blocs de code, tout comme Python. Pour la logique avancée, les scripts peuvent intégrer du Python brut à l'intérieur de blocs python: ou via le préfixe de ligne unique $, donnant aux auteurs accès à toute la bibliothèque standard de Python au sein d'un projet Ren'Py.
Lorsque Ren'Py lance un jeu, il compile chaque fichier source .rpy en un fichier cache binaire .rpyc pour un chargement plus rapide. Les jeux distribués ne livrent généralement que les fichiers .rpyc compilés, souvent empaquetés dans une archive .rpa, de sorte que les joueurs ne voient normalement pas la source .rpy. Des outils communautaires tels que unrpyc peuvent décompiler les fichiers .rpyc pour les transformer à nouveau en scripts .rpy lisibles.
Un projet typique divise son histoire et sa logique en de nombreux fichiers .rpy - l'un peut définir les personnages et les variables, un autre gérer les écrans de menu, un autre contenir le récit principal. Le Ren'Py SDK traite tous les fichiers .rpy d'un répertoire de projet comme un seul programme, les compilant et les liant ensemble au démarrage.
Sécurité et sûreté
RISQUE : MEDIUMUn .rpy est du texte brut et peut être ouvert en toute sécurité dans un éditeur, mais il s'agit d'une logique exécutable pour le moteur Ren'Py et peut contenir du Python complet à l'intérieur de blocs python: - ainsi, l'exécution d'un jeu ou d'un mod Ren'Py non fiable peut exécuter du code arbitraire sur votre machine. Lisez les scripts des mods inconnus avant de les ajouter à un jeu, et obtenez les jeux/mods auprès de sources réputées. Modifier le texte du dialogue lui-même est inoffensif ; coller des blocs python: inconnus ne l'est pas.
Détails du format
en bref- Twisted Resource (script web Python) - Ancien .rpy utilisé par le serveur web Twisted/twistd comme un script Python qui renvoie un objet ressource - sans rapport avec Ren'Py.
- RPGMaker / divers scripts Python génériques - Certains outils étiquetaient historiquement toute source Python enregistrée comme .rpy ; aujourd'hui, la signification liée à Ren'Py domine.
Programmes qui ouvrent les fichiers RPY
Détails techniques
spécifications approfondies| Catégorie de fichier | Script source en texte brut - langage spécifique à Ren'Py pour les visual novels |
| Encodage | Texte brut UTF-8 ; aucun octet magique binaire ou marque d'ordre d'octets requis |
| Type MIME | text/plain (également reconnu comme text/x-python par les outils génériques) |
| Forme compilée | Chaque .rpy est compilé en un fichier binaire .rpyc par le moteur Ren'Py au démarrage |
| Règle d'indentation | L'indentation par espaces significatifs de style Python définit tous les blocs de code |
| Types d'instructions de base | label, jump, call, menu, scene, show, hide, play, define, init |
| Python intégré | Code Python complet accessible via les blocs python: et le préfixe d'instruction sur une seule ligne $ |
| Version de Python | Ren'Py 6 et 7 utilisent la syntaxe Python 2 ; Ren'Py 8 et versions ultérieures nécessitent la syntaxe Python 3 |
| Taille de fichier typique | 1 Ko à environ 500 Ko ; un projet de jeu complet s'étend sur plusieurs fichiers .rpy |
| Méthode de distribution | Les jeux livrent des fichiers .rpyc compilés empaquetés dans des archives .rpa - pas la source .rpy |
| Prise en charge des plateformes | Créé sur Windows, macOS, Linux ; les jeux sont compilés et s'exécutent également sur Android et iOS |
| Compilation du projet | Tous les fichiers .rpy du répertoire du jeu sont compilés et liés comme un seul programme au lancement |
| Rapport d'erreurs de syntaxe | Le Ren'Py SDK signale les erreurs de syntaxe et de logique au lancement avec le nom du fichier et le numéro de ligne |
| Décompilation | L'outil communautaire unrpyc peut reconstruire la source .rpy à partir du bytecode compilé .rpyc |
| Support des caractères | Unicode complet via UTF-8 pour les textes de dialogue multilingues et les noms d'identifiants |
| Publié | Ren'Py engine, first release 2004 |
| Dernière version | Ren'Py 8.x (Python 3 based); script syntax tracks the engine release |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.renpy.org |
Conversions RPY
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers RPY.