common sense reasoning in Arianne?

  • Pace

    Pace - 2002-04-06

    Hiya, I'm one of the OpenCyc people (another project hosted here on SF), and I'd be interested in hooking up OpenCyc to Arianne.

    If each object and action in the Arianne world corresponded to a CycL term or template, changes to the world could be asserted into OpenCyc, and when users attempt to perform actions, OpenCyc could be queried for the results of that action.  This would allow Arianne to respond in an intuitive way to situations that the programmers didn't expect.

    For example, let's say an Arianne player (call him/her P)'s move action corresponded to CycL #$WalkingEvent WEVT such that (performedBy WEVT P) with a specific fromLocation and toLocation. And just assume there were some spell or something that was a freeze spell, which corresponded to a #$FreezingEvent FEVT with (performedBy FEVT P) and (objectActedOn TARGET).  And even cooler, say there were a "Why?" command in the interface.  Then when a player tries to walk over water, Arianne queries OpenCyc, and OpenCyc says that this move is not possible, so the interface doesn't permit the move.  The player activates the "Why?" command, and it says "Because people cannot walk on water."  Then the player casts the freeze spell, and then tries to walk over the frozen water, and OpenCyc permits the move.  "Why?"  "Because people can walk on ice."

    If OpenCyc and Arianne were run as two servers that communicated a lot on the server side (note that nothing would have to change on the client side), the logic of the RP world could all be expressed/stored in OpenCyc, and Arianne would be the interface between the logical representation of the world and what you want to do with it (e.g. send to client, pass info in messages, convert to Arianne objects and manipulate, etc.).  From the docs etc., it looks like a lot of that work is already done, and the work on the building of the RP world is less complete.

    I'd be interested in helping hook up OpenCyc to Arianne if the Arianne developers tell me it would be feasible.  One concern is performance -- if OpenCyc has to be queried on every single player action, even with caching it might be too much of a performance hit for Arianne to remain playable.  But that's something I could experiment with.

    If this idea interests you at all, let me know how I can help.


    • Nobody/Anonymous

      Hi outthere!,
      Well, the idea seem interesting, but sure not for RP. IMO it can be great to implement NPC to PC relations. That kind of thing requiere common sense.

      AI is something to be done on Arianne.
      My actual idea for AI is really simple:
      - Scheduler.
      - Case based reasoning.
      - Rule Based System.
      - Simple Script System.

      We sure can found a place for OpenCyc there.
      Tell me if you are interested.

      I was thinking about using Frames for what OpenCyc seems to do, later I decided to use abstractions just inside the Arianne engine to make content easier to do.



Cancel  Add attachments

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks