Topic/Keyword Dialogue System

KadoDragon

Veteran
Veteran
Joined
Sep 10, 2013
Messages
155
Reaction score
9
First Language
English
Primarily Uses
I was wondering if there was a topic/keyword dialogue system similar to that of Final Fantasy 2 or Elder Scrolls III - Morowind? If you don't know what that is...

Something where if an NPC were to mention a keyword at ANY point in dialogue, it would be highlighted to gain the attention of the player. The player could then use a learn command to learn that keyword or just learn it from seeing it then bring up these keywords to other NPCs to see what they have to say about it. 

That alone would be good enough, but I would especially like it if it had the feature to only be able to choose keywords for certain NPCs. Say if an NPC had nothing to say about the keyword [Wild Rose] it wouldn't show up in the keyword list for them.

Thanks in advanced!
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
Well, you can probably do it via variables and labels using just events, though it will be quite troublesome I think...
 

KadoDragon

Veteran
Veteran
Joined
Sep 10, 2013
Messages
155
Reaction score
9
First Language
English
Primarily Uses
Well, you can probably do it via variables and labels using just events, though it will be quite troublesome I think...
I usually do some crazy stuff with events, but I can't think of any way to do this with events.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Since an NPC isn't an actual object, I don't like your chances of being able to choose certain keywords only for certain NPCs. Even if you think of an NPC as an event (which it isn't, but that's a whole other story), you couldn't set something at the beginning of the event to say "only use these keywords", because in a single event you could have 50 different people speaking, and NONE of them may be the NPC/event you're interacting with.


It's also not clear how the "learn" command would work to learn a keyword. Where IS the "learn" command? How does it decide what keywords are available?


It would be quite simple to write a script that says "everywhere this word occurs in dialogue, change it to this colour". Everything else you're requesting would be quite difficult.
 

KadoDragon

Veteran
Veteran
Joined
Sep 10, 2013
Messages
155
Reaction score
9
First Language
English
Primarily Uses
Since an NPC isn't an actual object, I don't like your chances of being able to choose certain keywords only for certain NPCs. Even if you think of an NPC as an event (which it isn't, but that's a whole other story), you couldn't set something at the beginning of the event to say "only use these keywords", because in a single event you could have 50 different people speaking, and NONE of them may be the NPC/event you're interacting with.

It's also not clear how the "learn" command would work to learn a keyword. Where IS the "learn" command? How does it decide what keywords are available?

It would be quite simple to write a script that says "everywhere this word occurs in dialogue, change it to this colour". Everything else you're requesting would be quite difficult.
I guess I didn't put enough detail into what I wanted. Couldn't the learn command come up in something similar to a choices window with "Say" and "Learn" in it. If you choose learn then it would put it into a list of known words as variables and then if you choose "Say" a window pops up for you to select a keyword? Let me know if I'm wrong. If I'm not, then I will definitely update my OP.

*EDIT*

Also, I would want this only for basic running around and talking to people. So could it be done where I use a script call command to where I want the Say and Learn commands to pop up so I can differ between cutscene and just some talking NPC?
 
Last edited by a moderator:

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
What is the point of learning a word? What does it give you or allow you to do? (I'm seriously asking this, as I haven't played those games, so I don't understand its purpose or benefit). Is it some kind of password thing or something?


If you learn a word does it remove it from the list that's to be coloured differently from then on?


What if there are several coloured words in a single dialogue?


What if there's already a Show Choices after a dialogue?


Where is the option to "say" a word?


Sorry to throw so many questions back at you, but all these things have to be determined before anything can be written. Maybe others have played the game and understand perfectly what you wish to do with it :)
 
Last edited by a moderator:

Alexander Amnell

Jaded Optimist
Veteran
Joined
Mar 17, 2012
Messages
3,404
Reaction score
1,733
First Language
English
Primarily Uses
N/A
    I think your best bet would be to event this. One feature that, while not meant for this per-say by default, would work very well to do this is the "select key item" event command (assuming you aren't always relying on it to influence events, that and text based would be overkill I think). All you would have to do is create key items with the word you want to remember but without a graphic or any other properties, then whenever the player 'learns' a new word you just give him/her said key item.

   So all you'd have to do is whenever you want to call the screen where the player grills an npc call that event command and have conditionals to cover all of the words that that npc is knowledgible in. By default anything that doesn't have a variable reaction will just result in nothing happening, like you said something that didn't make sense and thus were ignored. Or if you'd rather just nest all of the conditionals and at the last else branch give dialogue where they tell you they don't have time or they have no clue what you are talking about or something.

   As for the 'learning' thing I would recommend not doing it at all. I loved the inquiry system in final fantasy 2 but nothing is more annoying than realizing that you forgot to 'learn' the term "wildrose" and having to treck back to the beginning of the game to 'learn' it even though you read the dialogue involving it and already know what it means. Once you've heard a term I think you should just already have that term to inquire with others.

@Shaz: Basically it's like asking people about particular topics. The first example, 'wildrose' in final fantasy 2 is a password that verifies that you are a friend to a certain group of people, basically. But in that game those words meant so much more, they were usually words based around events in that game and allowed you to kind of have a more active role in inquiring with npcs, as a lot of the words were topics that many people in the game had something to say about.
 
Last edited by a moderator:

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
It works like this (from Morrowind)


When you talk to an NPC, there is a window that shows different keywords, which if you click on it, the NPC tells you about it...


Now, normally, more keywords can be unlocked when you talk and talk to the NPC...
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Isn't that just like a Show Choices that says this:


Ask about A


Ask about B


Ask about C
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
kind of, which was why I told him to use events + vairables and labels (for when the keywords get too many)
 

KadoDragon

Veteran
Veteran
Joined
Sep 10, 2013
Messages
155
Reaction score
9
First Language
English
Primarily Uses
What is the point of learning a word? What does it give you or allow you to do? (I'm seriously asking this, as I haven't played those games, so I don't understand its purpose or benefit). Is it some kind of password thing or something?

If you learn a word does it remove it from the list that's to be coloured differently from then on?

What if there are several coloured words in a single dialogue?

What if there's already a Show Choices after a dialogue?

Where is the option to "say" a word?

Sorry to throw so many questions back at you, but all these things have to be determined before anything can be written. Maybe others have played the game and understand perfectly what you wish to do with it :)
So, When you learn a keyword you are basically remembering that it is an important topic in the world. This is an example from morrowind. Upon starting the game, one of the first words you learn is Morrowind, which is the country the game takes place in. You, being an outsider of that country, know very little about it. You could go up to simple town folk and select Morrwind in dialogue and they would tell you about how it is their home and such. If you were to go to say a travel guide and selected Morrowind, they would tell you in more detail what to expect out of the country in terms of location and physical details. If you were to select Morrowind in dialogue with a faction member they would talk about their factions involvement in the country. This wasn't just limited to that. You could learn keywords for places, locations, specific npcs, landmarks, quest devices and plot points to help drive lore and plot progression. This is basically the effect I want.

    I think your best bet would be to event this. One feature that, while not meant for this per-say by default, would work very well to do this is the "select key item" event command (assuming you aren't always relying on it to influence events, that and text based would be overkill I think). All you would have to do is create key items with the word you want to remember but without a graphic or any other properties, then whenever the player 'learns' a new word you just give him/her said key item.

   So all you'd have to do is whenever you want to call the screen where the player grills an npc call that event command and have conditionals to cover all of the words that that npc is knowledgible in. By default anything that doesn't have a variable reaction will just result in nothing happening, like you said something that didn't make sense and thus were ignored. Or if you'd rather just nest all of the conditionals and at the last else branch give dialogue where they tell you they don't have time or they have no clue what you are talking about or something.

   As for the 'learning' thing I would recommend not doing it at all. I loved the inquiry system in final fantasy 2 but nothing is more annoying than realizing that you forgot to 'learn' the term "wildrose" and having to treck back to the beginning of the game to 'learn' it even though you read the dialogue involving it and already know what it means. Once you've heard a term I think you should just already have that term to inquire with others.

@Shaz: Basically it's like asking people about particular topics. The first example, 'wildrose' in final fantasy 2 is a password that verifies that you are a friend to a certain group of people, basically. But in that game those words meant so much more, they were usually words based around events in that game and allowed you to kind of have a more active role in inquiring with npcs, as a lot of the words were topics that many people in the game had something to say about.
I like this idea, but I would have to think really hard about it since it would basically eliminate the use of the select key item for its intended purpose. But if it comes to that, this is a good fall back plan.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Interesting. That's a whole lot of eventing you're going to be doing :)


Take a look at Tsukihime's Large Choices and his Choice Options scripts. This would make it easier than doing conditional branches and many Show Choice commands.
 

KadoDragon

Veteran
Veteran
Joined
Sep 10, 2013
Messages
155
Reaction score
9
First Language
English
Primarily Uses
Interesting. That's a whole lot of eventing you're going to be doing :)

Take a look at Tsukihime's Large Choices and his Choice Options scripts. This would make it easier than doing conditional branches and many Show Choice commands.
I am no stranger to lots of eventing. If I see a script and say, I can do that with events. I would rather do it with events for self satisfaction. For exactly what I want here, events will not do. BUT! I have no problem with sacrificing what I want with what I can get. I'll probably just do the select key item suggestion. It would end up being very similar to what I want.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,365
Reaction score
7,675
First Language
German
Primarily Uses
RMMV
I think this feature would be difficult to do proberly with pure eventing, you'll need something like the two scripts mentioned by Shaz as minimum.


Basically you want a conversation with dynamic choices - that some of the possible options for the conversation are hidden until their conditions (like talking about other themes, having specific items and so on) are fulfilled.


Trying that with eventing alone would require a number of variables and conditional branches that would make this difficult to handle for even a few special NPCs, and having it only for a few NPCs instead of everyone would break its purpose.


The choice options allow you to place conditions for displaying the choices - but you'll still need a variable for each conversation to store what options where already used to get more options visible. More than one variable if you want a complex conversation.


If you want to have a lot of NPCs with conversation options, you might want to use self variables to store that conversation for each Event:


http://forums.rpgmakerweb.com/index.php?/topic/1567-the-self-data-suite-self-switches-variables-and-metadata-for-everything/
 

KadoDragon

Veteran
Veteran
Joined
Sep 10, 2013
Messages
155
Reaction score
9
First Language
English
Primarily Uses
I think this feature would be difficult to do proberly with pure eventing, you'll need something like the two scripts mentioned by Shaz as minimum.

Basically you want a conversation with dynamic choices - that some of the possible options for the conversation are hidden until their conditions (like talking about other themes, having specific items and so on) are fulfilled.

Trying that with eventing alone would require a number of variables and conditional branches that would make this difficult to handle for even a few special NPCs, and having it only for a few NPCs instead of everyone would break its purpose.

The choice options allow you to place conditions for displaying the choices - but you'll still need a variable for each conversation to store what options where already used to get more options visible. More than one variable if you want a complex conversation.

If you want to have a lot of NPCs with conversation options, you might want to use self variables to store that conversation for each Event:

http://forums.rpgmakerweb.com/index.php?/topic/1567-the-self-data-suite-self-switches-variables-and-metadata-for-everything/
Nope. I'm sticking with the select key item idea. It's the easiest for me to do and understand. How ever... You just solved so many future problems with this self data suite! I've been looking for self variables for ages! Thank you for this!
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,865
Messages
1,017,059
Members
137,574
Latest member
nikisknight
Top