Sistemas / Quests

Quests System Na Fab

Um sistema de missões orientado por dados para jogos single-player, com a interface pronta. As missões são Data Assets, o seu jogo comunica o que acontece através de um único nó, e um HUD discreto mostra-o: um rastreador, uma fila de avisos, um diário, ofertas de missão, diálogo de missão, marcadores no mundo e uma bússola. Tudo se grava num único snapshot.

Um minuto e quarenta e seis segundos: ofertas, diálogo, o rastreador, a bússola, o diário e a demo. Só música.

As personagens de demonstração não estão incluídas: as personagens do trailer e das imagens (KayKit Adventurers, de Kay Lousberg, CC0) não fazem parte do pacote. A demo traz três figuras simples com esqueleto, feitas para ela.

O que faz

Testado: 61 testes automáticos passam no UE 5.3 e no UE 5.8 (Windows). Medido a 1920x1080 num i7-14700 com uma RTX 4060: o mapa da demo corre a 12,2 ms por frame, e o HUD das missões custa 0,07 ms de game thread.

Missões como dados

As missões são Data Assets num catálogo: passos com objetivos em paralelo, objetivos opcionais e ocultos, pré-requisitos, condições de nível e do mundo, limites de tempo, missões repetíveis com tempo de espera e missões ocultas que se descobrem a explorar.

Dez tipos de objetivo, um nó

Kill, Collect, Deliver, Talk, Explore, Craft, Escort, Defend, Puzzle e Custom. O seu jogo comunica o que acontece com ReportEvent, e um evento só toca nos objetivos que o escutam.

Recompensas e gravação ficam consigo

As recompensas são entregues ao seu jogo, nunca aplicadas nas suas costas. Há eventos para tudo, e um único snapshot guarda todas as missões para o seu próprio SaveGame.

Diálogo de missão

Quem oferece a missão fala antes da oferta, responde a Accept ou Decline, dá falas de progresso e agradece antes das recompensas, letra a letra. Quem fala pode animar-se, virar-se para o jogador e mexer a boca com o texto.

Rastreador e avisos

O rastreador fica por baixo do canto superior direito, para o canto ficar livre para um minimapa. Os avisos esperam numa fila por prioridade: missões principais primeiro, conclusões antes de inícios.

Diário e ofertas

Ativas, Concluídas e Falhadas, agrupadas por categoria, com pesquisa e cinco ordenações. O painel de oferta mostra quem oferece a missão, os objetivos e as recompensas.

Marcadores no mundo e bússola

Marcadores e setas na margem do ecrã para o objetivo seguido, com a distância. A bússola mantém o jogador no centro e faz deslizar o objetivo à medida que roda.

Acessível, com ferramentas

Teclado, rato e comando; escala do texto, redução de movimento e nunca só a cor. Inclui cheats de consola, um painel de depuração e um Quest Editor.

Guia rápido

  1. Adicione o gestor

    Adicione BP_QuestManagerComponent ao seu PlayerController e defina o Catalog.

  2. Mostre o HUD

    Crie o WBP_QuestHUD, adicione-o ao viewport e chame Setup com o gestor. Chame ToggleJournal na tecla do diário.

  3. Comunique o que acontece

    Chame ReportEvent a partir do seu jogo, e ponha BP_QuestTargetComponent em quem oferece missões e nos objetos.

  4. Ligue condições e recompensas

    Implemente BPI_QuestWorld no seu PlayerController.

O que ele não faz

  • Não inclui personagem: o gestor vai no seu próprio PlayerController.
  • Sem diálogo ramificado: as únicas escolhas são Accept e Decline.
  • Sem minimapa: o HUD deixa o canto livre para um.
  • Não inclui áudio: cada aviso, o diário, a oferta e o diálogo têm um espaço de som vazio para o seu.
  • Sem multiplayer nem replicação.
  • A interface está só em inglês.
  • O UE 5.4 a 5.7 não foi testado.

Perguntas

Funciona com o meu próprio jogo?
Sim. O gestor vai no seu PlayerController, e o seu jogo comunica eventos e recebe as recompensas através de uma interface.
Como adiciono as minhas missões?
Crie um Data Asset de missão, ou use o Quest Editor para fazer uma a partir de um modelo, e adicione-a ao catálogo.
Precisa dos outros sistemas da Rookspire?
Não. Não tem dependências fora da sua própria pasta, e a pasta da demo pode ser apagada.
Como foi usada a IA para o fazer?
Feito com assistência de IA e testado pela Rookspire.