¿Qué es el formato de archivo RPY?
.rpy es un archivo de script utilizado por el motor de novelas visuales Ren'Py. Aunque la extensión del formato evoca sus raíces .py, un archivo .rpy no es una fuente de Python pura: está escrito en el lenguaje específico de dominio de Ren'Py, que superpone sentencias de narración de alto nivel (diálogos de personajes, directivas de escena, menús ramificados y flujo de historia condicional) sobre las reglas de sintaxis familiares de Python. Los archivos .rpy pueden contener código escrito en Python directamente junto a las sentencias específicas de Ren'Py.
.rpy es un archivo de texto plano codificado en UTF-8 y puede abrirse y editarse en cualquier editor de texto. Los autores que editan scripts .rpy deben tener cuidado con la sangría, ya que Ren'Py utiliza la sangría para definir bloques de código, al igual que Python. Para una lógica avanzada, los scripts pueden incrustar Python puro dentro de bloques python: o mediante el prefijo de una sola línea $, lo que otorga a los autores acceso a la biblioteca estándar completa de Python dentro de un proyecto de Ren'Py.
Cuando Ren'Py lanza un juego, compila cada archivo fuente .rpy en un archivo de caché binario .rpyc para una carga más rápida. Los juegos distribuidos suelen incluir solo los archivos .rpyc compilados, a menudo empaquetados dentro de un archivo .rpa, por lo que los jugadores normalmente no ven el código fuente .rpy. Herramientas de la comunidad como unrpyc pueden descompilar archivos .rpyc de nuevo a scripts .rpy legibles.
Un proyecto típico divide su historia y lógica en muchos archivos .rpy: uno podría definir personajes y variables, otro gestionar las pantallas de menú y otro contener la narrativa principal. El SDK de Ren'Py trata todos los archivos .rpy en un directorio de proyecto como un único programa, compilándolos y vinculándolos entre sí al inicio.
Seguridad y protección
RIESGO: MEDIUMUn .rpy es texto plano y es seguro abrirlo en un editor, pero es lógica ejecutable para el motor Ren'Py y puede contener Python completo dentro de bloques python:, por lo que ejecutar un juego o mod de Ren'Py no confiable puede ejecutar código arbitrario en su máquina. Lea los scripts de mods desconocidos antes de añadirlos a un juego y obtenga juegos/mods de fuentes acreditadas. Editar el texto del diálogo en sí es inofensivo; pegar bloques python: desconocidos no lo es.
Detalles del formato
en pocas palabras- Twisted Resource (script web de Python) - Uso heredado de .rpy por el servidor web Twisted/twistd como un script de Python que devuelve un objeto de recurso; no relacionado con Ren'Py.
- RPGMaker / script genérico de Python - Algunas herramientas históricamente etiquetaron cualquier fuente de Python guardada como .rpy; hoy domina el significado de Ren'Py.
Programas que abren archivos RPY
Detalles técnicos
especificación profunda| Categoría de archivo | Script fuente de texto plano - lenguaje específico de dominio de Ren'Py para novelas visuales |
| Codificación | Texto plano UTF-8; no requiere bytes mágicos binarios ni marca de orden de bytes |
| Tipo MIME | text/plain (también reconocido como text/x-python por herramientas genéricas) |
| Forma compilada | Cada .rpy es compilado a un archivo binario .rpyc por el motor Ren'Py al inicio |
| Regla de sangría | La sangría de espacios en blanco significativos al estilo Python define todos los bloques de código |
| Tipos de sentencias principales | label, jump, call, menu, scene, show, hide, play, define, init |
| Python incrustado | Código Python completo accesible a través de bloques python: y el prefijo de sentencia de una sola línea $ |
| Versión de Python | Ren'Py 6 y 7 utilizan sintaxis de Python 2; Ren'Py 8 y posteriores requieren sintaxis de Python 3 |
| Tamaño de archivo típico | 1 KB a ~500 KB; un proyecto de juego completo abarca múltiples archivos .rpy |
| Método de distribución | Los juegos distribuyen archivos .rpyc compilados empaquetados en archivos .rpa, no el código fuente .rpy |
| Soporte de plataformas | Creado en Windows, macOS, Linux; los juegos se compilan y ejecutan también en Android e iOS |
| Compilación del proyecto | Todos los archivos .rpy en el directorio del juego se compilan y vinculan como un solo programa al lanzarse |
| Informe de errores de sintaxis | El SDK de Ren'Py muestra errores de sintaxis y lógica al inicio con el nombre del archivo y número de línea |
| Descompilación | La herramienta de la comunidad unrpyc puede reconstruir el código fuente .rpy desde el bytecode compilado .rpyc |
| Soporte de caracteres | Unicode completo a través de UTF-8 para texto de diálogo multilingüe y nombres de identificadores |
| Lanzado | Ren'Py engine, first release 2004 |
| Última versión | Ren'Py 8.x (Python 3 based); script syntax tracks the engine release |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.renpy.org |
Conversiones de RPY
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos RPY.