[Dev Log] Hiding Choices When They Shouldn't Be Seen

In this dev log, I continue to explore ways to enhance the Choice Selection process when it comes to events.

By default, RPG Maker MV allows you to create events that prompt players to pick a choice, and depending on their choices, the game would behave differently.

In previous dev sessions, I had implemented a plugin that allows you to disable certain choices depending on certain conditions that you define, which is something that couldn't be done in RPG Maker.

I had also provided a way for developers to create choice lists that are longer than 6 choices, which is also something that couldn't be done in RPG Maker.

If you haven't seen those plugins before, I would recommend taking a look!

Anyways, so we can disable choices with the help of a plugin. What else is something that we might commonly do when it comes to choices?

A Simple Quest NPC

Let's say you had an NPC that offered some quests. Let's start with two quests.

Once a quest is complete, it will be removed from the list of available quests. So if you decided to take on the "Harvesting Potatoes" quest and then complete it, the next time you want to see the list of available quests, you'll see something like this:

However, in addition to normal quests, the NPC may offer some "special quests". These quests are optional, and is only unlocked once certain conditions have been met. Let's go back to before we finished the potatoes quest. Here, we've unlocked a side quest denoted with stars:

And now we have completed our quest NPC: two normal quests, and one hidden sidequest.

How would you implement this?

Now, this doesn't seem too bad.

1. We have our two normal quests
2. We assign a switch for each quest to represent whether the quest has been finished or not
3. In our event, we use four sets of choices, based on conditional branches

The first set of choices will be used when neither quests have been completed. This should display both quests.

The second set of choices will be used when the apple quest is completed. This should only display the potato quest.

The third set of choices will be used when the potato quest is completed. This should only display the apple quest.

The fourth set of choices will be used when both quests are completed. This should indicate no quests are available.

Now, that works. We've solved our problem. It was a bit long, and we suddenly have 4 sets of choices just to handle each possibility (apple, potato, both, none), but our hard work paid off.

Let's add our hidden quest

So far, we've completed the first two requirements. We still need to add our hidden quest in order to complete our quest NPC. Naturally, if we don't have this sidequest, the game won't be as fun and you won't be able to search for the golden pear.

But how should we add this? Do we continue with our technique from before? How many combinations do we need now?

  • (None)
  • Apple
  • Potato
  • Pear
  • Apple, Potato
  • Apple, Pear
  • Potato, Pear
  • Apple, Potato Pear

We will need 8 different sets of conditional branches, one for each possibility!
If you wanted to offer 4 quests, you're going to have 16 sets.
If you wanted to offer 5 quests, you're going to have 32 sets.

You're going to spend most of your time trying to build your quest NPC. And if you wanted to add or remove a quest...good luck to you.

Couldn't we just hide each option individually?

It seems like all of our problems would be solved if we could simply tell the game to hide choices that shouldn't be shown. And indeed, if there was a way to do it, our quest NPC would be very easily to accomplish.

For me, I see this as a pretty big limitation when it comes to eventing, and will develop a plugin solution that will allow you to do just that: hide a choice when it should be hidden.

In the next article, we begin to design our plugin, starting with some specifications for user input.

Was this helpful?

If you enjoyed this article, share it with your friends, on Twitter or Facebook, or any other channel!

Any feedback, questions, or suggestions are welcome.

By becoming a patron, you'll instantly unlock access to 183 exclusive posts
By becoming a patron, you'll instantly unlock access to 183 exclusive posts