O que é o formato de ficheiro RPY?
.rpy é um arquivo de script usado pelo motor de visual novels Ren'Py. Embora a extensão do formato ecoe suas raízes .py, um arquivo .rpy não é um código-fonte Python puro: ele é escrito na linguagem de domínio específico do próprio Ren'Py, que sobrepõe instruções de narrativa de alto nível - diálogos de personagens, diretivas de cena, menus de ramificação e fluxo de história condicional - sobre as regras de sintaxe familiares do Python. Arquivos .rpy podem conter código escrito em Python diretamente ao lado de instruções específicas do Ren'Py.
.rpy é um arquivo de texto simples codificado em UTF-8 e pode ser aberto e editado em qualquer editor de texto. Autores que editam scripts .rpy devem ter cuidado com a indentação, pois o Ren'Py usa a indentação para definir blocos de código, assim como o Python faz. Para lógica avançada, os scripts podem incorporar Python bruto dentro de blocos python: ou através do prefixo de linha única $, dando aos autores acesso à biblioteca padrão completa do Python dentro de um projeto Ren'Py.
Quando o Ren'Py inicia um jogo, ele compila cada arquivo de origem .rpy em um arquivo de cache binário .rpyc para um carregamento mais rápido. Jogos distribuídos normalmente enviam apenas os arquivos .rpyc compilados, muitas vezes compactados dentro de um arquivo .rpa, de modo que os jogadores normalmente não veem o código-fonte .rpy. Ferramentas da comunidade, como o unrpyc, podem descompilar arquivos .rpyc de volta para scripts .rpy legíveis.
Um projeto típico divide sua história e lógica em muitos arquivos .rpy - um pode definir personagens e variáveis, outro gerenciar telas de menu, outro conter a narrativa principal. O Ren'Py SDK trata todos os arquivos .rpy em um diretório de projeto como um único programa, compilando-os e vinculando-os no início.
Segurança e proteção
RISCO: MEDIUMUm .rpy é texto simples e seguro para abrir em um editor, mas é uma lógica executável para o motor Ren'Py e pode conter Python completo dentro de blocos python: - portanto, executar um jogo/mod Ren'Py não confiável pode executar código arbitrário em sua máquina. Leia os scripts de mods desconhecidos antes de adicioná-los a um jogo e obtenha jogos/mods de fontes respeitáveis. Editar o texto do diálogo em si é inofensivo; colar blocos python: desconhecidos não é.
Detalhes do formato
em resumo- Twisted Resource (script web Python) - Legado .rpy usado pelo servidor web Twisted/twistd como um script Python que retorna um objeto de recurso - sem relação com o Ren'Py.
- RPGMaker / script Python genérico diverso - Algumas ferramentas historicamente rotulavam qualquer fonte Python salva como .rpy; hoje o significado do Ren'Py domina.
Programas que abrem arquivos RPY
Detalhes técnicos
especificação profunda| Categoria de arquivo | Script de origem em texto simples - linguagem de domínio específico do Ren'Py para visual novels |
| Codificação | Texto simples UTF-8; sem necessidade de magic bytes binários ou marca de ordem de byte |
| Tipo MIME | text/plain (também reconhecido como text/x-python por ferramentas genéricas) |
| Forma compilada | Cada .rpy é compilado para um arquivo binário .rpyc pelo motor Ren'Py na inicialização |
| Regra de indentação | A indentação por espaços em branco significativos no estilo Python define todos os blocos de código |
| Tipos de instruções principais | label, jump, call, menu, scene, show, hide, play, define, init |
| Python incorporado | Código Python completo acessível via blocos python: e o prefixo de instrução de linha única $ |
| Versão do Python | Ren'Py 6 e 7 usam sintaxe Python 2; Ren'Py 8 e posteriores exigem sintaxe Python 3 |
| Tamanho de arquivo típico | 1 KB a ~500 KB; um projeto de jogo completo abrange múltiplos arquivos .rpy |
| Método de distribuição | Jogos enviam arquivos .rpyc compilados compactados em arquivos .rpa - não o código-fonte .rpy |
| Suporte de plataforma | Criado no Windows, macOS, Linux; os jogos são compilados e rodam em Android e iOS também |
| Compilação do projeto | Todos os arquivos .rpy no diretório do jogo são compilados e vinculados como um único programa no lançamento |
| Relatório de erros de sintaxe | O Ren'Py SDK exibe erros de sintaxe e lógica no lançamento com o nome do arquivo e o número da linha |
| Descompilação | A ferramenta da comunidade unrpyc pode reconstruir o código-fonte .rpy a partir do bytecode .rpyc compilado |
| Suporte a caracteres | Unicode completo via UTF-8 para texto de diálogo multilíngue e nomes de identificadores |
| Lançado | Ren'Py engine, first release 2004 |
| Versão mais recente | Ren'Py 8.x (Python 3 based); script syntax tracks the engine release |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.renpy.org |
Conversões de RPY
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos RPY.