Loading ...
Sorry, an error occurred while loading the content.

Re: Re: [pcgen-xml] [Frugal] Converting the PCGen Data Files (WAS Re: (unknown))

Expand Messages
  • Mark Coletti
    On Thu, 1 Jul 2004 08:55:51 +0100 (BST), Frugal ... It was put the rules in the data that did it for me. What you re talking about is really a knowledge
    Message 1 of 28 , Jul 14, 2004
    • 0 Attachment
      On Thu, 1 Jul 2004 08:55:51 +0100 (BST), Frugal
      <frugal@...> wrote:
      >
      > <quote who="Tir Gwaith">
      > > There is no "neutral" version, just the perception of one. [...] there won't
      > > ever be a stable version, because new rules will
      > > always be written.

      > I think that a 'neutral' version of the data can be farily easily created.
      > The problem the D20 is not the data, but the manipulation of the data.
      > Every time a company brings out a new rule the way the data is to be
      > manipulated needs to be changed. As you stated the problem is not the
      > data, but the extra rules that are always added.

      > As I see it encoding the rules can be done in 3 ways:
      > - The PCGen way: every thing is hard coded into the program, new rules
      > mean new code
      > - Put the rules in the data: As well as encoding the data, also encode a
      > scripting language to manipulate the data.
      > - Plugins: New rules get encoded as plugins that are loaded into the
      > program as needed. So a dataset would contain data and a list of plugins
      > that are required to manipulate the data.

      It was "put the rules in the data" that did it for me. What you're
      talking about is really a knowledge base; which makes sense in that
      PCGen *is* essentially an expert system that relies on a
      knowledge-base containing rules for various d20 based gaming systems.
      The problem is that most of the knowledge is either hard-coded in Java
      or in LST files, and most of the "inferencing" for the huge cloud of
      rules is also hard-coded. (Think IF-THEN and SWITCH statements as a
      crude sort of linear, data-driven 'inferencing'.)

      JESS is a free, open-source, expert system implemented in Java. I can
      easily see where most of the PCGen "knowledge-base" currently spread
      among Java and LST files could be rolled into a knowledge-base
      containing explicit rules. Specific systems would just add new
      knowledge-bases that contain fresh sets of rules (including some that
      may remove or modify existing ones).

      A JESS (or similar system) based PCGen system would be inherently
      smaller since the brunt of the inferencing will be left to the
      inference engine, and the rules would be explicitly codified as, well,
      rules. You could also set up the knowledge-base such that you can
      generate explanations. One thing about the d20 systems is that
      they're very complex once you consider all the different rules and
      their respective interactions. If, say, a character has an 18 AC, it
      might be nice to know *how* and *why* it's currently 18. All the
      rules that trigger AC mods could contribute to explanatory text. "AC
      base 10, +2 for Dexterity, +3 for ring of nimbleness, +3 to <mumble>
      spell effect."

      Of course this is all pie-in-the-sky ramblings implementing JESS in
      PCGen would entail quite a bit of work. (Um, I think.) But, what the
      hell, it makes for a pleasant gedankenexperiment. %-)

      More info:

      http://web.njit.edu/all_topics/Prog_Lang_Docs/html/jess51/

      Cheers!

      MAC
      --
      I'm taking reality in small doses to build immunity.
    Your message has been successfully submitted and would be delivered to recipients shortly.