Sistema de Marcadores

De MysteryRealms
Revisão de 18h06min de 5 de abril de 2025 por Rodrigogml (discussão | contribs)
Ir para navegação Ir para pesquisar

Sistema de Marcadores

O sistema de Marcadores da engine PlayTale é o mecanismo central de controle de progresso narrativo, condições lógicas e desbloqueio de conteúdo. Cada marcador representa um ponto de estado binário (presente ou ausente) na jornada do jogador, permitindo que o jogo reaja de forma dinâmica e consistente às ações e escolhas feitas.

Conceito de Marcadores

Marcadores são registros internos aplicados à ficha do jogador que indicam que algo aconteceu, foi descoberto, conquistado ou decidido. Eles não possuem valor numérico — sua presença ou ausência é o que define as condições avaliadas pela engine.

Um marcador pode representar:

  • Uma informação aprendida.
  • Um evento testemunhado.
  • Um item importante obtido.
  • Um teste superado ou falhado.
  • Um trecho de missão concluído.
  • Uma conquista significativa.
  • A finalização de uma linha narrativa.
  • O desbloqueio de uma área especial.
  • A ativação de uma badge ou troféu.

Utilização dos Marcadores

Marcadores são utilizados por praticamente todos os sistemas de lógica narrativa da engine:

  1. Desbloqueio e ramificação de diálogos.
  2. Controle de avanço em missões e linhas narrativas.
  3. Geração de entradas no Diário do Jogador.
  4. Mudança de comportamento ou falas de NPCs.
  5. Controle de acesso a zonas, ambientes ou interações.
  6. Registro de descobertas, eventos e segredos.
  7. Verificações de continuidade ao trocar de região, salvar ou carregar.
  8. Concessão de badges, conquistas ou efeitos especiais.
  9. Condicional de scripts, magias ou eventos especiais.

Nomeação de Marcadores

A nomenclatura dos marcadores deve seguir o formato UPPER_SNAKE_CASE, com nomes descritivos e claros. A padronização facilita sua busca e interpretação durante o design e integração.

Prefixos recomendados

  • SABE_SOBRE_*: Conhecimentos aprendidos.
  • VIU_*: Locais ou eventos vistos.
  • PEGOU_*: Itens coletados ou acionados.
  • TESTE_*_SUCESSO / TESTE_*_FALHA: Resultado de testes.
  • CONCLUIU_*: Marcos de missão ou narrativa.
  • DIALOGO_*_ENCERRADO: Fim de interações únicas.
  • CONQUISTOU_*: Desbloqueio de conquistas ou badges.

Exemplos:

  • `SABE_SOBRE_ORIGEM_DOS_DRACOS`
  • `VIU_ENTRADA_SECRETA_TORRE_SUL`
  • `TESTE_PERSUASAO_SUCESSO_GUARDA`
  • `CONCLUIU_MISSAO_LUZ_DO_PANTANO`
  • `CONQUISTOU_DOMINIO_DO_MEDO`

Registro de Marcadores

Marcadores podem ser registrados de diversas formas:

  • Por comandos em diálogos:
[Inserir Marcador; NOME_DO_MARCADOR]
  • Por scripts de evento, interação com objetos, ou conclusão de tarefas.
  • Automaticamente, ao cumprir certos gatilhos narrativos.

Marcadores são, por padrão, permanentes — só devem ser removidos por decisão narrativa específica ou efeito mágico singular.

Consulta de Marcadores

Durante verificações lógicas, são utilizadas funções de leitura booleana:

hasModifier("NOME_DO_MARCADOR")

Versões múltiplas:

hasAnyModifier("A", "B")
hasAllModifiers("A", "B", "C")

Boas Práticas

  • Use nomes claros e específicos.
  • Prefira granularidade a genéricos.
  • Nunca reutilize marcadores para finalidades diferentes.
  • Documente a função narrativa dos marcadores importantes.

Relação com outros sistemas

  • O Diário_do_Jogador pode ser alimentado automaticamente por marcadores com certos prefixos.
  • Estrutura de Diálogo depende diretamente de marcadores para condicionar falas e caminhos.
  • Troféus, conquistas e desbloqueios visuais também utilizam marcadores como chave de ativação.
Embora o termo "marco" ou "milestone" possa ser utilizado informalmente no design, toda lógica da engine trata esses elementos como Marcadores. O uso consistente desse termo facilita a padronização e integração entre os sistemas narrativos.