Quest System In-Game!

Hi there! I hope your having a great day so far. I’m currently in progress of making my game and releasing to the publish when someone suggested that I add a quest system in my game. Thing is I know how to check if the player has the certain amount of points or has found something. Only thing that I need help in is how I would make sure the progress only started after the player started the quest and doesn’t allow the player to receive the reward immediately after the quest started if they have more then a certain amount of stat. Basically in short form, how would I make a quest system somewhat like Bee Swarm Sim, Mining Sim and some other games?

I’m not looking for scripts but I’m looking for ways to do it easily!



You’re overthinking it.

Quest systems frankly just open up a counter of some kind that’s intended to track progress of a certain activity, which a quest handler manages (e.g. starts counting number of X collected when accepted). You have that down, so just track progress after quest accepting. When the progress is incremented, check if the player has enough collected X or not.

There’s many different ways to make a quest system, just pick at it away a little. That aside though: if you’re looking for a specific way of doing a quest system, please provide details. Game references are obscure because not everyone plays the games you list and thus lacks knowledge on the reference you’re attempting to make.


The way I would do this is by having an API which returns events for when a stat is updated (or one event) which can track when stats (or a specific stat) updates. You can store the initial value of the stat in some kind of quest object and the quest can connect to this event when initialized to update the quest progress. The quest can also have a counter and “goal” value to keep track of progress.

When the progress needs to be updated you can simply update the initial value to the current value and increment the progress counter by the difference between the current value and previous initial value. Now you can check if this progress is >= to the goal and if it is the quest is complete! You can also send progress updates to the client so it can keep some kind of indicator like a progress bar.

1 Like