top of page
Quest System
This Quest System focuses on building a database of quests that players can accept and complete from a quest board very common in many RPGs or MMOs, and also tracks whether a quest has been completed by the player.
For this project, I wanted to take the opportunity to work on my systems design skills while also incorporating my level design skills, so I've created a small underground village where players can't accept quests, and small mining outcrops outside the village, where players can explore to complete their quests.

Project Main Goals
My main goals for this project were to expand my knowledge on a system that feels universal to many games. I wanted to build my knowledge on how to properly use things like structs and data bases within unreal to accomplish creating many quests on a large scale.
As to not overwhelm or take away from the system itself I started off very small by creating one type of quest but changing what players were required to get for each

Workflow
Building The Right Quest

When building this system out I knew I wanted to explore structs because I knew the quests would need to hold large amounts of information. Originally I thought it might be good to try three different types of quests but as I got to writing everything out it seemed like a larger task to take on in the time limit I had. So I got to writing everything a simple harvesting quest would need:
-
Quest Title
-
Quest Description
-
Quest Reward
-
Desired item/items
-
How many items have been gathered
-
How many items are needed
This is a small selection of things needed for a quest but I wanted to make sure I was starting off with something simple.
Structs and Data Bases
After setting up a proper struct to hold all of my quest data I worked on creating a data base that would hold every quest. This was one of my first time's dealing with Data Bases and working out the details with it came with a few challenges:
-
How will we track quests the player accepts
-
Do I have the values change directly in the data base or do I assign it to the player
-
Should I create a way to distinct difficulty for each quest or stick with the simple concept
After lots of thinking I realized for me to explore all of these ideas is a poor decision and would take away from my main goals. I would need to stick with something that accomplishes my goals without doing more than it needs to.

Map Layout and Player Experience

Once I finished the quest data base I built a small village with different locales for players to explore and accomplish quests. I wanted to evoke the same experience you'd get from a small MMO having you accomplish small fetch quests as you play to gain experience points.
Creating this map allowed me the room to detail the quest descriptions with small stories similar to how many MMO's or RPG's use their quests, as if you were taking care of a quest an NPC would have posted.
Lessons from My Mentor
Preparing to present to my mentor Eric, I felt confident about my work and he had little to no notes. A lot of what I accomplished in creating quests was accurate to how many companies would accomplish creating tasks but on a small scale. Here are some of the key notes Eric Seaman was able to give to me:
-
Despite its small scale, it's very accurate to the work done by companies to create quests
-
Work on expanding how other kinds of quests would be accomplished as well if they all have to use the same format
-
Think of ways you could enhance players experience with their quests, how would they check what quests they've taken or how much progress have I accomplished for this quest? Think of these questions as a part of the player experience

Takeaways
Out of every project I have worked on so far this has probably been my favorite. I felt very confident about the work I accomplished and I think this project showed it off the best. It also gave me the opportunity to inquire with Eric more about how certain kinds of quests are accomplished in Spider-Man 2 and how they stored certain kinds of information. All around this project made me feel more confident in my ability to take on larger systems and accomplish creating a certain experience for players!
bottom of page