[crossfire] Vote: Next major project

Kevin R. Bulgrien kbulgrien at worldnet.att.net
Wed Aug 22 06:53:16 CDT 2007


On Monday 20 August 2007 17:16, Nicolas Weeger wrote:
> > easier (perhaps even clicking on the word). Secondarily, it would be nice
> > if NPC conversation had some state - right now, for any given world, there
> > will be a set response, and if you know the right word, you can get deep
> > into the conversation - being able to chain same word to different
> > responses based on state would also improve conversation logic.
> 
> I guess you missed the notice :)
> NPCs *CAN* have dialog state, thanks to Yann's Python script. Check 
> the /maps/python/CFDialog.py class, or the wiki at 
> http://wiki.metalforge.net/doku.php/cfdialog
> 
> Nicolas

The wiki is out of date, so if Mark was looking at the wiki, it is quite
understandable that it was on the vote list IMO.

It still contains TODO entries that appear to be addressed by CFDialog:

  http://wiki.metalforge.net/doku.php/dev_todo

I'd delete them, but I don't know if all three points are completed.  I can
tell that probably two of them are now that I've gotten a CFDialog example
to work.  The only part of item:

  Technical
    Better NPCs - Make NPCs smarter
      (memory, track conversation instead of just matching a phrase)

not implemented might be "track conversation instead of just matching a
phrase".

  Player says: why do I always have to say hello anyway?
  grandpa says: What ?
  Player says: hello
  grandpa says: I've heard, you know, I'm not deaf *grmbl*

And that statement is based on:

  http://wiki.metalforge.net/doku.php/dev_todo:better_npcs

Which is also out of date and includes:

   The in game Non Player Characters could be smarter.

    * Reconize if you are responding to a question that they just asked (yes/no)
    * Dynamicly match wording of the phrases said by players
    * Remember details about a player’s prior conversations

CFDialog definitely supports the third point because the conversation state
is stored in the player's file.

The first point is probably programmatically achievable with CFDialog if I
understand it right, and I'm not 100% sure that the second point means.

Kevin Bulgrien



More information about the crossfire mailing list