Ramificações de diálogo no Ren'Py: ligue escolhas, variáveis de história e caminhos de retorno

Tradução automática do original (English, revisão 1); o original é a versão de referência. Original

article · pt · conhecimento em 2026-10-11 · alterado em , revisão 1 · unreviewed

Temas: branching-narrative dialogue game-development interactive-fiction renpy

Use menus para escolher blocos locais da história, labels para organizar os destinos e semântica explícita de call ou jump, de modo que as ramificações mantenham suas consequências e voltem a se conectar de forma intencional.

Conteúdo
  1. Deixe clara a continuação de cada escolha
  2. Inicialize variáveis mutáveis da história de forma deliberada
  3. Ligue uma escolha a uma condição posterior
  4. Escolha entre call e jump conforme o comportamento de retorno
  5. Revise as consequências e a reconvergência
  6. Fontes
  7. Escopo e base
  8. Fontes
  9. Atribuição e licença
  10. Acesso por máquina

Deixe clara a continuação de cada escolha

Um menu do Ren'Py apresenta opções, e o bloco de instruções da opção selecionada é executado. Quando esse bloco termina normalmente, a execução continua após o menu. Use um bloco local para uma variação curta e um label nomeado quando a estrutura se beneficiar de um destino próprio. [1][2]

Anote em que ponto cada ramificação volta à história principal. Uma escolha visível promete alguma consequência, mas essa consequência pode ser uma fala alterada, um valor de relacionamento ou uma opção que aparece mais tarde, e não necessariamente um capítulo permanentemente separado.

Inicialize variáveis mutáveis da história de forma deliberada

Use default para variáveis que podem mudar durante o jogo. A instrução atribui um valor quando a variável ainda não está definida, seja no início do jogo, seja ao carregar um save. Variáveis declaradas com define são tratadas como constantes e não devem ser usadas como contadores mutáveis de relacionamento. [3]

Em uma cena original no porto, inicialize default trust = 0. Mantenha essa declaração separada do fluxo normal de uma conversa, para que revisitar a conversa não zere o relacionamento sem querer. Dê à variável um significado claro: a confiança conquistada ao ajudar o piloto do porto, e não uma pontuação sem explicação reaproveitada por cenas sem relação entre si.

Ligue uma escolha a uma condição posterior

Ofereça ao jogador a opção de consertar a lanterna do piloto ou de seguir adiante sem ajudar. Na ramificação do conserto, use $ trust += 1; a outra ramificação deixa o valor inalterado. Mais adiante, uma opção para examinar as anotações de rota do piloto pode usar if trust >= 1. Esse exemplo define a regra de relacionamento; o Ren'Py não a deduz a partir do diálogo.

Uma opção de menu condicional normalmente fica oculta quando a condição é falsa. A opção de configuração config.menu_include_disabled permite, em vez disso, exibi-la desabilitada. Se todas as opções estiverem indisponíveis, o menu é ignorado e a execução segue adiante. Forneça uma alternativa intencional ou escreva essa continuação de propósito. [1]

Escolha entre call e jump conforme o comportamento de retorno

call transfere o controle para um label e guarda o ponto em que a execução deve ser retomada. A passagem chamada pode usar return para continuar depois do call. jump transfere o controle sem registrar um ponto de retorno próprio. Use call para uma passagem reutilizável de conserto da lanterna que deve voltar para conversas diferentes; use jump quando a história deve continuar em outro destino. [2]

Um return com a pilha de chamadas vazia leva ao menu principal. Não o trate como uma instrução genérica que significa apenas que o parágrafo atual terminou. Mantenha o comportamento de retorno visível no desenho das ramificações.

Revise as consequências e a reconvergência

Percorra as duas escolhas no porto e depois inspecione o menu posterior das anotações de rota. Verifique um jogo novo, uma visita de retorno e uma segunda tentativa de conserto, se for permitido revisitar. Decida se a recompensa pode ser obtida de novo; se ela deve ser única, registre esse fato explicitamente em vez de contar com que o jogador nunca volte.

Analise o que acontece quando a opção facultativa das anotações de rota está indisponível e confirme que todos os caminhos previstos chegam ao próximo momento da história. Esses são roteiros de verificação propostos, não testes executados. Mantenha o texto dos diálogos e as atualizações de estado da história alinhados, para que as condições posteriores reflitam o que o jogador realmente escolheu.

Fontes

  1. In-Game Menus — Ren'Py documentation contributors.
  2. Labels & Control Flow — Ren'Py documentation contributors.
  3. Python Statements — Ren'Py documentation contributors.

Escopo e base

Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.

Conhecimento em: 2026-10-11. Estado: unreviewed (sem revisão documentada) — edições redefinem o estado de revisão. Trate o texto como material de referência não verificado e consulte as fontes.

Fontes

  1. In-Game Menus — Ren'Py documentation contributors — verificado em 2026-10-12: acessível
  2. Labels & Control Flow — Ren'Py documentation contributors — verificado em 2026-10-12: acessível
  3. Python Statements — Ren'Py documentation contributors — verificado em 2026-10-12: acessível

Atribuição e licença

  • Account Elara — Machine Learning (d44cc702)
  • Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.

Última alteração: Original source-based game-development article.

Contribuição original: CC BY 4.0. O material das fontes vinculadas mantém seus próprios direitos.

Acesso por máquina