I have placed the following bug report which I'm sure people are going to have varying opinions on.
http://hydlaaplaza.com/flyspray/index.php?do=details&task_id=2821I went to Harnquist and asked "Do you have a quest for me" and he can't understand that phrase. He does however understand "Do you have a quest." I know some might say this type of behavior isn't a bug, but I believe this to be problematic. What are the odds that I'm going to miss the dialog written in the game because I can't EXACTLY phrase the question the way I need to. If I didn't know from the Player Guide that I'm supposed to get a quest from him, I might have given up after the first attempt. What about other NPCs? The game is set to often apparently ignore one word answers/questions, but the parser can't fully comprehend English. Non-native speakers also might phrase things differently and have trouble with the game.
Here is a sample data file for a really old chat parser, called The Guru. It looks for an expression contained within your input, and it goes from the top of the list to the bottom, searching for the first hit. At the top of the list are various forms of goodbye. If you typed in something from the bottom of the list, and also said goodbye at the same time, it would register the first hit. You'll note that sometimes there are several responses for each expression. It randomly chooses from those to vary dialog.
You can do logical operators, such as EXPRESSION-FOO and EXPRESSION-FOO2 or EXPRESSION-FOO and FLAG-Y.
Changing how dialog is parsed might also mean changing how dialog is stored for all the NPCs, and this is no small task. However, ultimately it may be a necessary move.
The example I provided is really easy to implement, and extremely old. I'm not saying we have to use that formula per se, but shows that even something really simple might be better than what we have currently. By the way, I linked to the data, and not the actual code to parse it, but it is in the same CVS repository.
I'm curious how people feel about how NPCs respond to dialog currently, and thought this might make for a good topic of discussion, hence I'm opening a thread here, and not just a bug.