CREATING THE QUEST SYSTEM
The Quest System has been rummaging around my head for the last few days and I really want to get working on it. I’ve been mulling over the pros and cons of how I can do this and the biggest thing I want to keep track of is what items are selected in our Mad Libs style quests. And I figured we could just have different groups of quests that can be unlocked as the player gets further in the game, such as:
Dungeon 1 Quests: Mad Lib Style 1 (find ### of ITEM for PERSON)
Dungeon 1 Quests: Mad Lib Style 2 (CRAFT this EQUIPMENT for PERSON)
Etc…for all dungeon areas and the what, 5 or more types of mad lib style quests I make?
Each of these would be a common event that could be ran when updating the Quest Board.
So yesterday, I worked on the Quest System, I started on paper trying to figure out all the information I would need for Quests, the who/what/where and other settings for the game to know what type of quest it was and what to store, so that not only could you have the quest board show quests, but that the player would have their own Active Quests menu whose information would allow the game to know if a quest was active and act accordingly. (Talk to NPC and code runs to see if NPC had requested one of player’s active quests, etc)
This will involve Common Events, Variables and Switches. I want to keep the programming out of specific NPC Events and just have Events call the Common Events to run. It involves a lot of Conditional Branches (If statements), setting variables and switches.
Each Quest I figured out would need this information:
Switch: item quest or save npc quest
Switch: mini boss or no mini boss
Variable: item want/save villager ID
Variable: Quantity or Where Person Is
Variable: Villager Asking ID
The player can have a total of 3 active quests, and right now I’ve set the Quest Board to 3 quests, just to make coding this simple.
There is a Quest Level variable that will record a number that will be checked to see what quests a player can go on. As we don’t want to give them a quest in the beginning of the game that requires them to go somewhere they can’t yet.
It’s all code to check and set variables and switches from one variable to the next to keep track of the Quests.
While doing this, I realized that for keeping track of the NPCs and being able to display their names to the player, I could make everyone an Actor in the Database, and then just store their Id in a variable and call the javascript to say, $gameParty.members()[$gameVariable.value[3]].name or something like that, instead of having to code if/else switches to name them if I didn’t set them as actors:
These won’t be playable characters but are rather there in the database for other reasons.
On the player’s end, I’ll be using Yanfly’s Common Event Window to show the player the information of Quests they can take, right now, that part isn’t anywhere near finished, but I think you get the idea:
While setting up the NPCs however, I noticed something about one of my choices for the player character:
This guy only has one face:
Welp, that’s not good. I was going to use the facesets to edit the battlers to have expressions during battle. Without expressions….this guy isn’t useful as a player character. So I’m going to have to replace him.
I really wanted to use the Ranger, but as a bow user, I have to say no as I’m not planning to add bows as weapons in the game, so the next best choice is the Samurai Bunny. His helmet is a lil flashy but he has a good set of expressions and being a bunny as variety to the player selections:
Which means I have to edit title screens and that all over again lol….eh.
So Samurai will be a player option and doggo guy will be a NPC we can do quests for. Okie.
So just thinking of how my system works and such, I don’t think I’ll be making the other Player Charrie Selections into NPCs. At least not ones you can interact with. They may be seen as NPCs at the castle during Cutscenes, but nothing else.
So for quests, and the NPCs that will have personalities, we have a total of 17 NPCs
Four them are other heroes (that weren’t player selections) and the Queen and Princess may make requests too.
UGH I just realized I didn’t set up a REWARD SYSTEM….like how will the player know what their reward is?! What will they earn and what can they spend it on?! Gold? Job Points?! WHAT?! Ugh ugh ugh…now I have to take the time to think about this
And wait…there are five NPC heros…forgot to add doggo to the list.
Anywho, I got thinking about that Reward system, and I think this will be how it goes:
Fetch Quests: full price reward of Item(s) value
Save Quest: Depending on if you had to fight a mini boss the reward will be….idk some base amount I come up with later.
I figure for an incentive to do quests, NPCs will reward the player with the actual value of the item, instead of what selling to a shop would give (Shops will give you 50% of original price). This will vary slightly from NPC to NPC according to their personality. Such as the Rich Merchant Cat giving less because he’s a stingy cheap butter ball. Or the kids giving you less money, but the chance to give you a rare stone they found (cause they are kids). Or the Queen and Princess giving you more than it’s worth because they are wealthy and generous.
However, quests from the quest board won’t tell you what your reward is (to save me coding) because as the Quest Master will tell you: ‘as heroes, we do not do this for reward, but rather out of the generosity of our hearts to do good. However, most people are generous and it has become common practice to give heroes rewards.’
IDK, something like that. But maybe there will be a Job Point system too or something, I have to think about how I want to world to work. Honestly, I’m starting to think some of this is a bit My Hero Academia ish….
On another note, I have 2 houses that still need residents, and one Idea I had was that one is our healer Grace’s, where the player can go to access Item Crafting (not weapon crafting) and perhaps I will include a storage system you can access there, but I have to see how that plugin I have interacts with Yanfly’s Independent Items.
___________
Ah, the Quest System! That was fun to put together and I remember getting it working, and then thinking of ways it would need to be improved to be more flexible…hopefully I remembered to dev log that…
Thanks for reading and God bless,
Meike Kima
Patrons get the Rapunzel’s Flower Dev Logs a week earlier! Support today: