Need help in creating quest/mission/task.


I am a novice game developer. Currently working on a small game project made by myself. I can deal with graphics, but with coding and blueprints I have some problems. All that I need is to make a simple quest system, nothing too complex. I will try to explain what do I want to make and if someone knows any tutorials, forum threads, tips, pieces of advice I would be very grateful.

P.S. I am making a FP game, not a shooter.

So basically:

  1. Player walks to an NPC or other thing like taskboard.
  2. Finds an available quest, takes it.
  3. The mission is to find 3 objects: A, B, C.( A HUD displaying these objects for player)
  4. Player found object A. This object disappears from the HUD.
  5. Player found all the remaining objects, delivers the, to a certain point, the quest is completed.
  6. After completion, another quest is unlocked and can be activated.

A good example of what I want is the newly made game Ben The Exorcist, where player needs to find some items in the house and then place them to finish the exorcism process.

I know that I am maybe asking for too much, but I don’t even know where to start or how to start. As I said I can easily make a nice looking map, objects, entities, somehow animate it and so on, but I really need a lot of help in the “coding/blueprint sphere”.


It’s an interesting topic, a very common aspect of many games yet it’s pretty difficult to find a fundamental explanation for creating something like this. Sure, it can be as simple as Dooms “red key boolean”, but to create a system that can easily be extended with completely new objectives requires more thought.

That said, Epic did a stream with a finite state machine to do a quest system. Just how easy to use, flexible and extensible that is I don’t know but I feel like the foundation - a FSM - is very useful.
While I have not done a quest system, and assuming that the above has been watched or that a basic understanding of FSM is in place, here are my thoughts:

Rather than having a current state (where state in this case is a quest), have a stack of all active quests. As an input is handled, the FSM goes through each quest in the stack, testing the input and updating each quest that accepts it. (Notice that in some games there can be multiple quests to kill the same mob type, and each quest would update as that mob type gets killed)

The quests could be designed inside a data table with prerequirements (the quests that needs to be finished or other things like player level), the quest class, input that it accepts (unless that is handled by the quest class), Rewards (items, xp), unlocks (unlocks quests or zones or whatever).

There are many types of quests. There are those that you have to pick for them to update as you work on the quest objectives. There are those that appear as a quest item it picked up. And there are those that are unknown, hidden. For example in the epic fsm example, the player could slay the dragon without knowing about the quest, still not knowing about the quest but the quest would still be aware of its current state (that the dragon was slain) and when talking to the quest giver, would finish.

It is probably a good idea to research other games quest systems. While you probably won’t find many low level details, there are quite a few high-level ones out there, the systems the designers use to design the quests. An example would be the TES construction set that has a range from 0 (player does not know about) to 100 (finished). As the player goes though the quest, it updates the range. It can provide a good vision for creating an overall flexible system, but requiring some thought as how to implement each detail on a low level.