Hello there.
I’m currently working alone on a mmorpg game (I know it’s hard and things like that, but I already decided to start this game as I have plenty of ideea how to give players unlimited content and things to do, not only getting level cap and deleting the game.
Now about my problem. I got to NPC/Quest part system, where I want to implement some special Artificial Intelligente. What I mean by it is that when a player approach to a NPC (it can be villiger, merchant, shop or any other NPC) and type something in chat, like Hello there or anything, it would respond to him.
I know how to implement basic phrase detection, but I want to do something like if player is at a x meters distance and is typing something related to him, it would check for key words like “Quest”, “mission”, “sell”, “buy” it would access player’s stats like “age”, “name”, “crafting job”, “job”, “class”, “battle stats” and so on and depending on those combination, it would respond to him or do some actions.
For example. A player, which is 39 age, name “Bob” Crafting job “WoodCutter”, Job “Worker at xx company”, Class “Mage”, Battle Stats “atk: xx, def: xx” … and if Bob will type “Hello Bill” (Bill is NPC’s Name, which is woodcutter promoter) the NPC will say something like “Hello There Bob, How are you today?”. Now bob should type “I’m fine, just want to increase my job level. Now, after checking the phrase for “Increase, job, level”, it would check Bob’s job level and his “feedback” (something which he will get after each successfull action from this job) it would say like: “Oh, as I can see, your job level is 5, pretty bad huh? Looking at your feedback, I can say that you deserve around level 8. Would you accept to increase your job level to 8?” After that, depending on Bob’s answer (if yes, it would say something like: “Done, have a nice day Bob” and perform the increase level on bob, If no, it would ask which level bob wants and if it’s higher then the max level calculated by the NPC, it would say something like: Sorry, I can’t help you with that”, if the level is lower then the max level calculated, npc will respond with another phrase and increase level by bob’s value.).
Well, it was a really long example.
I think you already understand what my problem is: How can I check the phrase for keywords, make responses by NPC depending on it (I don’t want standart phrases for each “type” of stats and thing like that, I want the entire phrash to be “created” by NPC depending on those factors).
Also, I want to use it also in getting quests.
Instead of old-fashion questing system, I’m using a fully-auto system, which require player to actually interact with NPC, not only accept/complete.
On that system, what I really want is also to read the “player input”.
I know it’s a lot xD but there might be someone good at AI which could explain me the basics of which I want here.