- Joined
- Nov 3, 2016
- Messages
- 5
- Reaction score
- 1
- First Language
- English
- Primarily Uses
- RMMV
Hi all!
I believe this is the right place to post this question? I'm not entirely sure. I am using MV as that's just what I own.
The context:
I was attempting to duplicate a dynamic dialog system I saw in a game I backed on Kickstarter, World of Anterra. Their dialog system is designed to have the player enter a word when talking to an NPC, then the NPC will check a database and if there's a response for that word, display the response. This encourages the player to learn about the world on their own instead of just being explictly told things.
The way the devs describe it is that there are global dialog databases, regional dialog databases, etc, all the way down to personal NPC dialog databases. The system checks the smallest possible database first to see there's a response for the player entry, and then continually checks larger databases until it finds a response. There are several responses possible for each entry. Once the system determines how the NPC responds, that specific response is then seeded to that specific NPC so that the player can't get all possible responses by inputting the same entry with one NPC.
Question 1:
I created a basic version of this system using events that worked quite well. It used common events, name input processing, and variables to determine the correct response for an NPC event. However, this only allowed for one response per entry. I got a friend involved who is more proficient in coding than I, and she managed to figure out how to store multiple responses and have the NPC event recall one response at random and display it. Which is super cool! Here's the eventing and script calls used for this.
My question is, is this the most effecient way to go about this? Doing it the way I showed above requires 3 control variables to be used for each response, just for the dialog system. This would quickly add up to several hundred if not thousands of control variables.
('Apples', 'Oranges', and 'Grapes' were used as test responses because we didn't want to type out whole lines until we got it to work.)
Question 2:
Now that we're able to have an NPC event pick a stored response at random and display it, is there a way we could "seed" that specific response to the NPC? This would be to prevent the player from getting say, all possible responses to a question or topic by inputting the same word to one NPC.
We were trying to think through it but I'm not amazing with coding and have passable knowledge of the engine, and my friend is good at coding but doesn't know the game engine very well.
We were attempting to use a Self Control Switch in the NPC event, but that would require a switch for every response, right? And that would quickly get out of hand. Anyway, we couldn't figure out a way to do this because the NPC event is only setting a Regional Dialog Variable and then running a common event that starts the dialog system process. And I can't get the common event to talk to the NPC event.
Pics for system example:
Thank you all! If I need to be more clear, let me know! Happy game making!
I believe this is the right place to post this question? I'm not entirely sure. I am using MV as that's just what I own.
The context:
I was attempting to duplicate a dynamic dialog system I saw in a game I backed on Kickstarter, World of Anterra. Their dialog system is designed to have the player enter a word when talking to an NPC, then the NPC will check a database and if there's a response for that word, display the response. This encourages the player to learn about the world on their own instead of just being explictly told things.
The way the devs describe it is that there are global dialog databases, regional dialog databases, etc, all the way down to personal NPC dialog databases. The system checks the smallest possible database first to see there's a response for the player entry, and then continually checks larger databases until it finds a response. There are several responses possible for each entry. Once the system determines how the NPC responds, that specific response is then seeded to that specific NPC so that the player can't get all possible responses by inputting the same entry with one NPC.
Question 1:
I created a basic version of this system using events that worked quite well. It used common events, name input processing, and variables to determine the correct response for an NPC event. However, this only allowed for one response per entry. I got a friend involved who is more proficient in coding than I, and she managed to figure out how to store multiple responses and have the NPC event recall one response at random and display it. Which is super cool! Here's the eventing and script calls used for this.
My question is, is this the most effecient way to go about this? Doing it the way I showed above requires 3 control variables to be used for each response, just for the dialog system. This would quickly add up to several hundred if not thousands of control variables.
('Apples', 'Oranges', and 'Grapes' were used as test responses because we didn't want to type out whole lines until we got it to work.)
Question 2:
Now that we're able to have an NPC event pick a stored response at random and display it, is there a way we could "seed" that specific response to the NPC? This would be to prevent the player from getting say, all possible responses to a question or topic by inputting the same word to one NPC.
We were trying to think through it but I'm not amazing with coding and have passable knowledge of the engine, and my friend is good at coding but doesn't know the game engine very well.
We were attempting to use a Self Control Switch in the NPC event, but that would require a switch for every response, right? And that would quickly get out of hand. Anyway, we couldn't figure out a way to do this because the NPC event is only setting a Regional Dialog Variable and then running a common event that starts the dialog system process. And I can't get the common event to talk to the NPC event.
Pics for system example:
Thank you all! If I need to be more clear, let me know! Happy game making!