Sistema de Marcadores: mudanças entre as edições

De MysteryRealms
Ir para navegação Ir para pesquisar
Sem resumo de edição
Linha 1: Linha 1:
O sistema de '''marcadores''' da engine '''PlayTale''' é um mecanismo fundamental para controlar o progresso narrativo, condições de eventos e desbloqueio de conteúdo dinâmico no jogo. Cada marcador representa um marco individual da jornada do jogador — seja uma descoberta, uma ação realizada, um teste superado (ou falhado) ou uma conversa encerrada.
= Sistema de Marcadores =


= Conceito de Marcador =
O sistema de '''Marcadores''' e '''Marcos''' da engine '''PlayTale''' é essencial para controlar o progresso narrativo, lógica de eventos e desbloqueio dinâmico de conteúdo. Ambos funcionam como registradores binários — sua presença ou ausência define estados no jogo —, mas servem a propósitos distintos.


Um marcador é um símbolo de que um evento ou conhecimento foi obtido. Não possui valor numérico, apenas presença ou ausência. Ou seja, um marcador está:
== Marcadores ==
* '''Presente''': o jogador já obteve essa informação, realizou essa ação ou venceu esse teste.
* '''Não presente''': o jogador ainda não passou por esse evento ou não teve sucesso.


Os marcadores são armazenados diretamente na ficha do jogador e utilizados para verificar condições de desbloqueio em eventos, diálogos, itens, áreas, comportamentos de NPCs, entre outros.
=== Conceito ===


= Nomeação de Marcadores =
Os '''Marcadores''' representam eventos pontuais, informações adquiridas ou estados transitórios. Funcionam como registros simples e granulares de ações específicas tomadas pelo jogador.


Os marcadores devem seguir uma nomenclatura padronizada no formato '''UPPER_SNAKE_CASE''', facilitando leitura, categorização e busca. Recomenda-se sempre utilizar prefixos que identifiquem claramente o tipo de evento registrado. A seguir, os principais padrões:
Um marcador:
* '''Presente''': o jogador realizou a ação ou obteve o conhecimento.
* '''Ausente''': o jogador ainda não realizou ou obteve.


== Prefixos Recomendados ==
=== Nomeação de Marcadores ===
* '''SABE_SOBRE_*''': conhecimento adquirido pelo jogador (história, rumor, teoria, artefato).
* '''VIU_*''': localidade, criatura ou evento visualizado diretamente pelo jogador.
* '''PEGOU_*''': item ou objeto importante que foi coletado.
* '''TESTE_*_SUCESSO''': o jogador passou em um teste relacionado (atributos, perícia, interação).
* '''TESTE_*_FALHA''': o jogador falhou no teste.
* '''DIALOGO_*_ENCERRADO''': marca que uma conversa já ocorreu e não deve ser repetida.


== Composição Recomendada ==
Devem seguir o formato '''UPPER_SNAKE_CASE''', com uso preferencial de prefixos que indiquem seu tipo. Exemplos:


Marcadores devem ser compostos de forma clara e significativa. Recomenda-se usar sempre o formato:
* '''SABE_SOBRE_*''': Conhecimento adquirido.
* '''VIU_*''': Observações feitas pelo jogador.
* '''PEGOU_*''': Itens coletados.
* '''TESTE_*_SUCESSO''': Teste bem-sucedido.
* '''TESTE_*_FALHA''': Teste fracassado.
* '''DIALOGO_*_ENCERRADO''': Conversas encerradas.


<pre>[PREFIXO]_[DESCRIÇÃO_CLARA]</pre>
Exemplos válidos:
* `SABE_SOBRE_ORIGEM_DOS_DRACOS`
* `PEGOU_CHAVE_CRISTALINA`
* `TESTE_INTIMIDACAO_SUCESSO_GUARDA_PORTAO`
 
=== Utilização ===
 
Marcadores são usados para:
* Controlar variações em [[Estrutura de Diálogo|diálogos]].
* Alterar comportamento de NPCs.
* Definir acesso a áreas ou eventos.
* Adicionar entradas ao [[Diário_do_Jogador|Diário do Jogador]].
* Identificar sucesso ou falha em testes.
 
=== Registro ===
 
Marcadores são atribuídos automaticamente por comandos de diálogo, scripts ou interações. Exemplo:
 
<pre>[Inserir Marcador; SABE_SOBRE_PORTAL]</pre>
 
=== Boas Práticas ===
 
* Seja específico e descritivo.
* Evite sobreposição de significado.
* Mantenha consistência na nomenclatura.
 
== Marcos ==
 
=== Conceito ===
 
Os '''Marcos''' (ou '''Milestones''') representam eventos estruturais e duradouros na jornada do jogador. São utilizados para rastrear progresso global, decisões importantes e pontos de transição narrativa.
 
Diferente dos marcadores, os marcos não representam ações pontuais, mas sim '''avanços narrativos maiores''', como conquistas, descobertas críticas, ou encerramentos de fases importantes de uma missão.
 
=== Usos ===
 
Os marcos podem ser usados para:
# '''Controle narrativo e progresso de missões'''
# '''Ativação de diálogos e eventos'''
# '''Geração de entradas no diário'''
# '''Verificações de lógica global'''
# '''Mudança de comportamento de NPCs'''
# '''Rejogabilidade e finais alternativos'''
# '''Desbloqueio de áreas ou itens'''
# '''Controle de conquistas e badges/troféus'''


Exemplos:
Exemplos:
* '''SABE_SOBRE_ORIGEM_DOS_DRACOS'''
* `ENCONTROU_SOMBRA`
* '''VIU_ENTRADA_SECRETA_TORRE_SUL'''
* `TRILHA_INVESTIGADA`
* '''PEGOU_CHAVE_CRISTALINA'''
* `DERROTOU_GUARDIAO_NEVADA`
* '''TESTE_INTIMIDACAO_SUCESSO_GUARDA_PORTAO'''
* `FINAL_SECRETO_ALCANCADO`
* '''DIALOGO_FALA_INICIAL_MERCADOR_ENCERRADO'''
 
=== Registro de Marcos ===
 
Usualmente ativados por comandos como:
 
<pre>[Inserir Marco; TRILHA_INVESTIGADA]</pre>
 
Mas também podem ser definidos via eventos, scripts ou interações.
 
=== Boas Práticas ===
 
* Use nomes descritivos e específicos.
* Utilize formato '''UPPER_SNAKE_CASE'''.
* Evite reaproveitar marcos para múltiplos significados.
 
=== Diferenças entre Marcadores e Marcos ===


= Utilização dos Marcadores =
{| class="wikitable"
! Característica !! Marcadores !! Marcos
|-
| Persistência || Pode ser temporário ou removível || Sempre permanente
|-
| Finalidade || Estados pontuais ou conhecimento || Avanços narrativos ou estruturais
|-
| Complexidade || Granular, simples || Estratégico, global
|-
| Acesso ao Diário || Via prefixos (ex: SABE_SOBRE) || Quase sempre gera entrada
|-
| Utilização em Lógica || Sim || Sim
|}


Os marcadores podem ser utilizados para condicionar qualquer elemento interativo da engine, como:
= Integração com a Engine =
* Desbloqueio ou ocultação de blocos de diálogo.
* Permissão de entrada em zonas ou ambientes.
* Mudança no comportamento ou respostas de NPCs.
* Alteração de eventos, armadilhas, encontros e feitiços.
* Gatilhos para entrada automática no [[Diário do Jogador]].


= Registro de Marcadores =
As funções de verificação utilizadas são distintas:


* Marcadores são adicionados automaticamente à ficha do jogador ao ocorrerem os eventos que os definem.
* Para marcadores:
* Uma vez presente, um marcador nunca é removido (exceto por efeito narrativo ou mágico específico).
<pre>hasModifier("NOME_DO_MARCADOR")</pre>
* Sistemas podem consultar diretamente a ficha para checar a presença ou ausência de um marcador.


= Boas Práticas =
* Para marcos:
<pre>hasMilestone("NOME_DO_MARCO")</pre>


* Nomeie os marcadores de forma descritiva e objetiva — evite nomes genéricos ou ambíguos.
Versões múltiplas:
* Prefira granularidade: crie marcadores específicos para cada ponto de progresso relevante.
* <code>hasAllModifiers(...)</code> / <code>hasAnyModifiers(...)</code>
* Evite reutilizar o mesmo marcador em contextos diferentes.
* <code>hasAllMilestones(...)</code> / <code>hasAnyMilestones(...)</code>
* Documente marcadores importantes com descrição de onde e como são ativados.


{{nota|O uso correto dos marcadores é essencial para garantir uma experiência fluida, coerente e reativa no mundo interativo. Eles são a base do dinamismo da engine PlayTale e devem ser pensados como peças de construção da narrativa viva do jogo.}}
= Ver também =
* [[Estrutura de Diálogo]]
* [[Diário_do_Jogador]]

Edição das 18h04min de 5 de abril de 2025

Sistema de Marcadores

O sistema de Marcadores e Marcos da engine PlayTale é essencial para controlar o progresso narrativo, lógica de eventos e desbloqueio dinâmico de conteúdo. Ambos funcionam como registradores binários — sua presença ou ausência define estados no jogo —, mas servem a propósitos distintos.

Marcadores

Conceito

Os Marcadores representam eventos pontuais, informações adquiridas ou estados transitórios. Funcionam como registros simples e granulares de ações específicas tomadas pelo jogador.

Um marcador:

  • Presente: o jogador realizou a ação ou obteve o conhecimento.
  • Ausente: o jogador ainda não realizou ou obteve.

Nomeação de Marcadores

Devem seguir o formato UPPER_SNAKE_CASE, com uso preferencial de prefixos que indiquem seu tipo. Exemplos:

  • SABE_SOBRE_*: Conhecimento adquirido.
  • VIU_*: Observações feitas pelo jogador.
  • PEGOU_*: Itens coletados.
  • TESTE_*_SUCESSO: Teste bem-sucedido.
  • TESTE_*_FALHA: Teste fracassado.
  • DIALOGO_*_ENCERRADO: Conversas encerradas.

Exemplos válidos:

  • `SABE_SOBRE_ORIGEM_DOS_DRACOS`
  • `PEGOU_CHAVE_CRISTALINA`
  • `TESTE_INTIMIDACAO_SUCESSO_GUARDA_PORTAO`

Utilização

Marcadores são usados para:

  • Controlar variações em diálogos.
  • Alterar comportamento de NPCs.
  • Definir acesso a áreas ou eventos.
  • Adicionar entradas ao Diário do Jogador.
  • Identificar sucesso ou falha em testes.

Registro

Marcadores são atribuídos automaticamente por comandos de diálogo, scripts ou interações. Exemplo:

[Inserir Marcador; SABE_SOBRE_PORTAL]

Boas Práticas

  • Seja específico e descritivo.
  • Evite sobreposição de significado.
  • Mantenha consistência na nomenclatura.

Marcos

Conceito

Os Marcos (ou Milestones) representam eventos estruturais e duradouros na jornada do jogador. São utilizados para rastrear progresso global, decisões importantes e pontos de transição narrativa.

Diferente dos marcadores, os marcos não representam ações pontuais, mas sim avanços narrativos maiores, como conquistas, descobertas críticas, ou encerramentos de fases importantes de uma missão.

Usos

Os marcos podem ser usados para:

  1. Controle narrativo e progresso de missões
  2. Ativação de diálogos e eventos
  3. Geração de entradas no diário
  4. Verificações de lógica global
  5. Mudança de comportamento de NPCs
  6. Rejogabilidade e finais alternativos
  7. Desbloqueio de áreas ou itens
  8. Controle de conquistas e badges/troféus

Exemplos:

  • `ENCONTROU_SOMBRA`
  • `TRILHA_INVESTIGADA`
  • `DERROTOU_GUARDIAO_NEVADA`
  • `FINAL_SECRETO_ALCANCADO`

Registro de Marcos

Usualmente ativados por comandos como:

[Inserir Marco; TRILHA_INVESTIGADA]

Mas também podem ser definidos via eventos, scripts ou interações.

Boas Práticas

  • Use nomes descritivos e específicos.
  • Utilize formato UPPER_SNAKE_CASE.
  • Evite reaproveitar marcos para múltiplos significados.

Diferenças entre Marcadores e Marcos

Característica Marcadores Marcos
Persistência Pode ser temporário ou removível Sempre permanente
Finalidade Estados pontuais ou conhecimento Avanços narrativos ou estruturais
Complexidade Granular, simples Estratégico, global
Acesso ao Diário Via prefixos (ex: SABE_SOBRE) Quase sempre gera entrada
Utilização em Lógica Sim Sim

Integração com a Engine

As funções de verificação utilizadas são distintas:

  • Para marcadores:
hasModifier("NOME_DO_MARCADOR")
  • Para marcos:
hasMilestone("NOME_DO_MARCO")

Versões múltiplas:

  • hasAllModifiers(...) / hasAnyModifiers(...)
  • hasAllMilestones(...) / hasAnyMilestones(...)

Ver também