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

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

Expand Messages
  • Frugal
    ... The LST parser is already up on the groups file section: http://groups.yahoo.com/group/pcgen-xml/files/sample_source-20031216.tgz As
    Message 1 of 28 , Jul 5, 2004
    • 0 Attachment
      <quote who="andargor">

      > Frugal, is it possible for you to do a "neutral" dump as I described
      > if it's not too much trouble? It would allow me to demonstrate what I
      > mean. I could even craft an XSLT that would format the neutral data
      > into one compatible with your engine (as much as possible). It would
      > be much appreciated :)
      >
      > If you don't have the time, could you upload your LST parser so I can
      > fiddle with it?

      The LST parser is already up on the groups file section:

      http://groups.yahoo.com/group/pcgen-xml/files/sample_source-20031216.tgz

      As the date indicates this has not been worked on since the middle of
      december. Be warned: "here be kludges".

      Feel free to do with it as you will, There should be a GPL header at the
      top of each file ;O)

      --
      regards,
      Frugal
      -OS Chimp
    • David Finch
      ... A first good step would be that the data had been input. If the logic has been typed in english then at least when the conversion to PCgen format is done
      Message 2 of 28 , Jul 5, 2004
      • 0 Attachment
        andargor wrote:
        > Yes, the general idea is to leverage the large quantity of people that
        > have the willingess to help but not necessarily the coding skills.
        > They could describe that bow very simply, and fill in the logic
        > portion as a description. Someone with coding skills could then craft
        > an engine specific XSLT and translate the logic into engine-specific
        > "scriptlets" for a particular tool.

        A first good step would be that the data had been input. If the logic has
        been typed in english then at least when the conversion to PCgen format is
        done someone can go though at 'specialise it' to PCgen format. This has the
        added advatage that someone can check that the english logic matches the
        real programming logic.
      • andargor
        ... 20031216.tgz ... of ... at the ... Yikes! There be kludges :) Well, I had to craft an Ant build.xml, and it seems to compile properly... What version of
        Message 3 of 28 , Jul 6, 2004
        • 0 Attachment
          --- In pcgen-xml@yahoogroups.com, "Frugal" <frugal@p...> wrote:
          >
          > The LST parser is already up on the groups file section:
          >
          > http://groups.yahoo.com/group/pcgen-xml/files/sample_source-
          20031216.tgz
          >
          > As the date indicates this has not been worked on since the middle
          of
          > december. Be warned: "here be kludges".
          >
          > Feel free to do with it as you will, There should be a GPL header
          at the
          > top of each file ;O)
          >
          > --
          > regards,
          > Frugal
          > -OS Chimp

          Yikes! There be kludges :)

          Well, I had to craft an Ant build.xml, and it seems to compile
          properly...

          What version of the data files were you using? The parser is croaking
          on several of the 5.7.2 ones.

          Andargor
        • Frugal
          ... Oh, yeah, oops. I was using Eclipse and it managed all of the building for me ;O) ... I was using the CVS data as of the date of the
          Message 4 of 28 , Jul 6, 2004
          • 0 Attachment
            <quote who="andargor">
            > --- In pcgen-xml@yahoogroups.com, "Frugal" <frugal@p...> wrote:
            >>
            >> The LST parser is already up on the groups file section:
            >>
            >> http://groups.yahoo.com/group/pcgen-xml/files/sample_source-
            > 20031216.tgz
            >>
            >> As the date indicates this has not been worked on since the middle
            > of
            >> december. Be warned: "here be kludges".
            >>
            >> Feel free to do with it as you will, There should be a GPL header
            > at the
            >> top of each file ;O)
            >
            > Yikes! There be kludges :)
            >
            > Well, I had to craft an Ant build.xml, and it seems to compile
            > properly...

            Oh, yeah, oops. I was using Eclipse and it managed all of the building for
            me ;O)

            > What version of the data files were you using? The parser is croaking
            > on several of the 5.7.2 ones.

            I was using the CVS data as of the date of the archive. So any new tags
            will fail.

            IT would be so nice if every time someone messed around with a data tag
            they were forced to increment the LST version number. It would make data
            management a lot easier if you could state which version of LST syntax
            your LST files were.

            --
            regards,
            Frugal
            -OS Chimp
          • andargor
            ... tag ... data ... syntax ... Or if the data were in XML and the rule logic described somewhere for PCGen, the LST could be regenerated with each new version
            Message 5 of 28 , Jul 6, 2004
            • 0 Attachment
              --- In pcgen-xml@yahoogroups.com, "Frugal" <frugal@p...> wrote:
              >
              > IT would be so nice if every time someone messed around with a data
              tag
              > they were forced to increment the LST version number. It would make
              data
              > management a lot easier if you could state which version of LST
              syntax
              > your LST files were.
              >
              > --
              > regards,
              > Frugal
              > -OS Chimp

              Or if the data were in XML and the rule logic described somewhere for
              PCGen, the LST could be regenerated with each new version ;)

              Andargor
            • 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 6 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.