Sistemas / Quests

Quests System En Fab

Un sistema de misiones basado en datos para juegos de un jugador, con la interfaz terminada. Las misiones son Data Assets, tu juego informa de lo que pasa con un solo nodo, y un HUD discreto lo muestra: un rastreador, una cola de avisos, un diario, ofertas de misión, diálogo de misión, marcadores en el mundo y una brújula. Todo se guarda en una sola instantánea.

Un minuto y cuarenta y seis segundos: ofertas, diálogo, el rastreador, la brújula, el diario y la demo. Solo música.

Los personajes de muestra no están incluidos: los personajes del tráiler y de las imágenes (KayKit Adventurers, de Kay Lousberg, CC0) no forman parte del paquete. La demo trae tres figuras sencillas con esqueleto, hechas para ella.

Qué hace

Probado: 61 pruebas automáticas pasan en UE 5.3 y UE 5.8 (Windows). Medido a 1920x1080 en un i7-14700 con una RTX 4060: el mapa de la demo va a 12,2 ms por fotograma, y el HUD de misiones cuesta 0,07 ms de game thread.

Misiones como datos

Las misiones son Data Assets en un catálogo: pasos con objetivos en paralelo, objetivos opcionales y ocultos, requisitos previos, condiciones de nivel y del mundo, límites de tiempo, misiones repetibles con tiempo de espera y misiones ocultas que se descubren explorando.

Diez tipos de objetivo, un nodo

Kill, Collect, Deliver, Talk, Explore, Craft, Escort, Defend, Puzzle y Custom. Tu juego informa de lo que pasa con ReportEvent, y un evento solo toca los objetivos que lo escuchan.

Las recompensas y el guardado son tuyos

Las recompensas se entregan a tu juego, nunca se aplican a sus espaldas. Hay eventos para todo, y una sola instantánea guarda todas las misiones para tu propio SaveGame.

Diálogo de misión

Quien ofrece la misión habla antes de la oferta, responde a Accept o Decline, da frases de progreso y agradece antes de las recompensas, letra a letra. Quien habla puede animarse, girarse hacia el jugador y mover la boca con el texto.

Rastreador y avisos

El rastreador queda bajo la esquina superior derecha, así la esquina sigue libre para un minimapa. Los avisos esperan en una cola por prioridad: misiones principales primero, finales antes que inicios.

Diario y ofertas

Activas, Completadas y Fallidas, agrupadas por categoría, con búsqueda y cinco órdenes. El panel de oferta muestra quién ofrece la misión, sus objetivos y sus recompensas.

Marcadores en el mundo y brújula

Marcadores y flechas en el borde de la pantalla para el objetivo seguido, con su distancia. La brújula te mantiene en el centro y desliza el objetivo al girar.

Accesible, con herramientas

Teclado, ratón y mando; escala de texto, reducción de movimiento y nunca solo el color. Incluye trucos de consola, un panel de depuración y un Quest Editor.

Guía rápida

  1. Añade el gestor

    Añade BP_QuestManagerComponent a tu PlayerController y asigna su Catalog.

  2. Muestra el HUD

    Crea WBP_QuestHUD, añádelo al viewport y llama a Setup con el gestor. Llama a ToggleJournal desde tu tecla del diario.

  3. Informa de lo que pasa

    Llama a ReportEvent desde tu juego, y pon BP_QuestTargetComponent en quienes ofrecen misiones y en los objetos.

  4. Conecta condiciones y recompensas

    Implementa BPI_QuestWorld en tu PlayerController.

Qué no hace

  • No incluye personaje: el gestor va en tu propio PlayerController.
  • Sin diálogo ramificado: las únicas opciones son Accept y Decline.
  • Sin minimapa: el HUD deja la esquina libre para uno.
  • No incluye audio: cada aviso, el diario, la oferta y el diálogo tienen una ranura de sonido vacía para el tuyo.
  • Sin multijugador ni replicación.
  • La interfaz está solo en inglés.
  • UE 5.4 a 5.7 no están probados.

Preguntas

¿Funciona con mi propio juego?
Sí. El gestor va en tu PlayerController, y tu juego informa de eventos y recibe las recompensas mediante una interfaz.
¿Cómo añado mis propias misiones?
Crea un Data Asset de misión, o usa el Quest Editor para hacer una a partir de una plantilla, y añádela al catálogo.
¿Necesita los otros sistemas de Rookspire?
No. No tiene dependencias fuera de su propia carpeta, y la carpeta de la demo se puede borrar.
¿Cómo se usó la IA para hacerlo?
Hecho con asistencia de IA y probado por Rookspire.