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

De MysteryRealms
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 1: Linha 1:
= Sistema de Marcadores =
= 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.
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.


== Marcadores ==
== Conceito de Marcadores ==


=== Conceito ===
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.


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 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.


Um marcador:
== Utilização dos Marcadores ==
* '''Presente''': o jogador realizou a ação ou obteve o conhecimento.
* '''Ausente''': o jogador ainda não realizou ou obteve.


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


Devem seguir o formato '''UPPER_SNAKE_CASE''', com uso preferencial de prefixos que indiquem seu tipo. Exemplos:
# '''Desbloqueio e ramificação de [[Estrutura de Diálogo|diálogos]].'''
# '''Controle de avanço em missões e linhas narrativas.'''
# '''Geração de entradas no [[Diário_do_Jogador|Diário do Jogador]].'''
# '''Mudança de comportamento ou falas de NPCs.'''
# '''Controle de acesso a zonas, ambientes ou interações.'''
# '''Registro de descobertas, eventos e segredos.'''
# '''Verificações de continuidade ao trocar de região, salvar ou carregar.'''
# '''Concessão de badges, conquistas ou efeitos especiais.'''
# '''Condicional de scripts, magias ou eventos especiais.'''


* '''SABE_SOBRE_*''': Conhecimento adquirido.
== Nomeação de Marcadores ==
* '''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:
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.
* `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.
=== Prefixos recomendados ===
 
* '''SABE_SOBRE_*''': Conhecimentos aprendidos.
=== Usos ===
* '''VIU_*''': Locais ou eventos vistos.
 
* '''PEGOU_*''': Itens coletados ou acionados.
Os marcos podem ser usados para:
* '''TESTE_*_SUCESSO / TESTE_*_FALHA''': Resultado de testes.
# '''Controle narrativo e progresso de missões'''
* '''CONCLUIU_*''': Marcos de missão ou narrativa.
# '''Ativação de diálogos e eventos'''
* '''DIALOGO_*_ENCERRADO''': Fim de interações únicas.
# '''Geração de entradas no diário'''
* '''CONQUISTOU_*''': Desbloqueio de conquistas ou badges.
# '''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:
* `ENCONTROU_SOMBRA`
* `SABE_SOBRE_ORIGEM_DOS_DRACOS`
* `TRILHA_INVESTIGADA`
* `VIU_ENTRADA_SECRETA_TORRE_SUL`
* `DERROTOU_GUARDIAO_NEVADA`
* `TESTE_PERSUASAO_SUCESSO_GUARDA`
* `FINAL_SECRETO_ALCANCADO`
* `CONCLUIU_MISSAO_LUZ_DO_PANTANO`
* `CONQUISTOU_DOMINIO_DO_MEDO`


=== Registro de Marcos ===
== Registro de Marcadores ==


Usualmente ativados por comandos como:
Marcadores podem ser registrados de diversas formas:
* Por comandos em diálogos:
<pre>[Inserir Marcador; NOME_DO_MARCADOR]</pre>
* Por scripts de evento, interação com objetos, ou conclusão de tarefas.
* Automaticamente, ao cumprir certos gatilhos narrativos.


<pre>[Inserir Marco; TRILHA_INVESTIGADA]</pre>
Marcadores são, por padrão, '''permanentes''' — só devem ser removidos por decisão narrativa específica ou efeito mágico singular.


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


=== Boas Práticas ===
Durante verificações lógicas, são utilizadas funções de leitura booleana:


* Use nomes descritivos e específicos.
<pre>hasModifier("NOME_DO_MARCADOR")</pre>
* Utilize formato '''UPPER_SNAKE_CASE'''.
* Evite reaproveitar marcos para múltiplos significados.


=== Diferenças entre Marcadores e Marcos ===
Versões múltiplas:
<pre>hasAnyModifier("A", "B")</pre>
<pre>hasAllModifiers("A", "B", "C")</pre>


{| class="wikitable"
== Boas Práticas ==
! 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 =
* 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.


As funções de verificação utilizadas são distintas:
== Relação com outros sistemas ==


* Para marcadores:
* O [[Diário_do_Jogador]] pode ser alimentado automaticamente por marcadores com certos prefixos.
<pre>hasModifier("NOME_DO_MARCADOR")</pre>
* [[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.
* Para marcos:
<pre>hasMilestone("NOME_DO_MARCO")</pre>
 
Versões múltiplas:
* <code>hasAllModifiers(...)</code> / <code>hasAnyModifiers(...)</code>
* <code>hasAllMilestones(...)</code> / <code>hasAnyMilestones(...)</code>


= Ver também =
{{nota|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.}}
* [[Estrutura de Diálogo]]
* [[Diário_do_Jogador]]

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

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.