Mantenha seu primeiro projeto pequeno: uma conversa, uma escolha que fica registrada, dois finais. Este exemplo acompanha colaboradores claramente adultos que estão preparando um estúdio. A decisão deles muda o final da história, oferecendo uma maneira simples de aprender a trabalhar com diálogos, ramificações e estado em uma escala fácil de administrar. Você não precisa baixar ilustrações nem vozes, então há menos elementos para investigar se algo der errado.
Baixe o script na página de modelos. Ele segue a referência oficial da linguagem, mas não foi testado no motor Ren'Py. Anote a versão do motor que você usa e faça as verificações de lint e os testes jogando descritos abaixo antes de considerar o exemplo uma build funcional.
Crie um projeto limpo
Baixe Ren'Py no site oficial, abra o launcher e crie um novo projeto em um local com permissão de escrita. Mantenha os arquivos de interface gerados. Escolha uma resolução e um tema que facilitem a leitura e execute o projeto sem fazer alterações. Essa primeira execução oferece uma base funcional antes de você mudar qualquer coisa.
Faça um backup do arquivo script.rpy gerado antes de substituí-lo pelo exemplo fornecido. Mantenha apenas um rótulo start no projeto. Ren'Py combina os arquivos de script no diretório game, então deixar o rótulo start do modelo junto com o rótulo start do exemplo cria um conflito.
Leia a estrutura antes de alterá-la
O exemplo define um personagem, inicializa uma flag de escolha com default e começa em label start. Um menu oferece duas respostas: propor um plano conjunto ou manter planos separados. Cada resposta define a flag e salta para uma discussão comum. Uma condição final usa a flag para selecionar um dos dois rótulos de final.
Siga a indentação exatamente: ela define os blocos do script. Mantenha os rótulos e as definições no nível esperado e indente as instruções que pertencem a cada opção do menu. Faça uma pequena alteração por vez e execute o projeto depois de cada mudança para conseguir identificar qual edição causou um problema.
Deixe a escolha clara
Deixe que o texto e a situação mostrem ao jogador o que ele está escolhendo. Aqui, os colaboradores decidem se vão seguir um plano conjunto. O final reflete essa resposta, tornando a consequência fácil de reconhecer. Uma escolha ganha sentido quando a história se lembra dela e o jogador consegue ver qual foi seu efeito.
Esta cena precisa apenas de uma variável booleana nomeada para lembrar uma decisão específica. Um valor numérico de relacionamento acrescentaria trabalho de controle sem uma regra útil para aplicar. Introduza contadores quando souber como várias decisões devem se combinar e escreva essa regra antes de adicionar mais ramificações.
Adicione os elementos de apresentação depois que a rota funcionar
Comece com texto e o fundo padrão. Quando os dois finais funcionarem, adicione um fundo original e um sprite de personagem com um pequeno conjunto de expressões. Use nomes consistentes e registre a origem e os direitos de cada recurso. Manter esse registro durante o trabalho é mais fácil do que reconstruí-lo quando você estiver pronto para lançar.
Confira cada imagem na área real de exibição. Mesmo uma renderização detalhada em resolução completa pode deixar um personagem difícil de distinguir após o recorte. Mantenha a caixa de texto, os menus e os indicadores de foco visíveis e coloque os controles de som e animação em um local acessível da interface.
Teste salvamentos e retrocesso de forma deliberada
Salve antes do menu, depois do menu e no final. Carregue cada salvamento e confirme que a escolha armazenada e os diálogos correspondem ao que você espera naquele ponto. Depois de concluir uma rota, inicie um novo jogo e confira se ele começa com o estado inicial previsto.
Use os controles normais do projeto para retroceder até antes da escolha e registre o que acontece quando você chega a ela novamente. Se depois adicionar efeitos externos irreversíveis, como alterações de conta ou transações remotas, planeje como eles vão interagir com o retrocesso antes de vinculá-los a uma escolha narrativa.
Prepare o pacote e confira o resultado
Execute Check Script (Lint) no launcher e investigue os problemas apontados. O lint pode detectar problemas no script; avaliar a escrita e a coerência das rotas ainda exige jogar. Complete os dois finais começando do zero em cada caso e depois peça a um segundo testador que repita os percursos. Use a matriz de testes de rotas para registrar o que realmente aconteceu.
Gere uma distribuição para a plataforma escolhida e execute a build empacotada fora do diretório do projeto. Confira ali os salvamentos, as configurações e o comportamento quando faltam arquivos. Arquive o script, a versão do motor e as anotações dos testes. Amplie a história com uma cena testada antes de partir para uma reescrita completa da interface.
Decisões-chave
- Mantenha apenas um rótulo start e siga a indentação do script.
- Teste os dois finais antes de adicionar ilustrações.
- Confira separadamente o estado de um novo jogo, os salvamentos e o retrocesso.
- Execute a build empacotada depois do lint e dos testes jogando o projeto.
Arquivos do guia
Script de exemplo de Ren'Py ↓Matriz de testes de rotas ↓Comunidades externas dedicadas a modelos e sites externos de publicação podem conter material explícito. Os links para as fontes abrem em uma nova aba; este guia não carrega suas prévias.
Fontes e leituras adicionais +
- Guia de início rápido de Ren'Py ↗
- Fundamentos da linguagem Ren'Py ↗
- Salvamento, carregamento e retrocesso ↗
Última verificação 5 de outubro de 2026.