Quest System

Quest System#

The Quest System provides a RESTful service for the management and tracking of player related progress of developer designed goals and rewards:

REST API#

The REST API is used to define a given set of quests and the ability to retrieve a player’s set of available quests and and the respected quest progress.

EventScraper#

The EventScraper is a background service used to retrieve telemetry events from the telemetry system that is used by the EventProcessor. Events retrieved -> scraped -> and placed into a global redis queue that any instance of the service can then process.

EventProcessor#

  • The EventProcessor pops the retrieved event and begins its processing.

  • The processor:

    • First identifies all Quests that reference the event type as a requirement

    • Then sends the event to update - either the unlock or primary progress - of the quest for the given player.

To use the Quest System, two tasks must be completed, each with several underlying steps:

  1. Create the Quest Definitions

    1. Define a QuestDefinition

    2. Set Unlock Requirements

    3. Set Completion Requirements

    4. Set Quest Rewards

  2. Use the Quest System

    1. Define a Quest Definition

    2. Set Unlock Quest

    3. Set Progress Quest

    4. Set Completion Requirements

    5. Set Quest Rewards