nopantsyet said:
The ontological approach is conceptually close to what I have been imagining. It looks like OWL provides a good framework for defining this. It brings up the question of whether all of the mechanical aspects of the game can be adequately described within that framework. How complete is your implementation? What are your plans for it?
I'm a novice in OWL, just having been convinced that it is the way to go. A year ago, when I made my attempt at an object-oriented (not in the programming sense) character generator, my data wasn't in the shape it is in now. I viewed an ontology as being unnecessary drugery, but now I see that most of it can be generated from script (I hate manual work), and then adjusted.
I'm leaving for a biz trip next week, but in a couple of weeks, I'll make a run through my database and generate classes, subclasses, and instances. I'll make it available to everyone, so you can be skeptical about the quality of the results if you wish until then

. Note that I hate debating over vaporware
ad infinitum, so I'll just do something and then we can argue over it. Again, if RL doesn't interfere...
The beauty of ontologies is that they can be modified easily. Because, and get ready for this, we are going to argue over the model. With all due respect (a large amount of respect) to d20-XML, this is why it didn't go anywhere: everyone has their opinion on the "correct model". Perhaps because "using XML" was too generic, and each person's idea of chosen implementation (whether language or approach) was too different.
Ontologies make abstraction of that. As soon as you start thinking about "how my program will load this", you know you are going in the wrong direction. Ontologies are all about "what is this and what does it do?" instead of "how do I use this?", and hence greater potential for agreement on a model (I think everyone will agree, for example, that there are Special Abilities, and that they come in Sp, Su, Ps, or Ex flavors). And you can work on a specific sub-tree of definitions, to aggregate later. Or, if you don't like the "consensus" (or compromise, which will probably be the case), then you replace a branch with your own definitions.
reanjr said:
This is what I call the rules layer. I am not familiar with SWRL, but I do think RDF-OWL and to a lesser extent, RuleML are kind of the wrong angle of approach. I think coming up with a dedicated markup language could greatly simplify the end users' (house rulers') lives. I would take some convincing to believe those standards would be worth implementing for this purpose. Seems like overkill in development that would only slow things down later.
...
The only thing I would like to add is that I think the .NET framework is worth looking at as it has the best balance of cross-platform and language-independence.
For me, anyway, the ontology will serve to produce "intermediate" libraries which my programs will use (e.g. javascript code generation based on rules, maybe even C++ classes). Each person's program implementation will be different (I see Java, C++, .NET, libxml2, Delphi, Lisp mentioned), but using standards for the ontology and rules means that they will always be able to regenerate the intermediate libraries required for each different implementation. I personally am not going to install a Lisp interpreter in my program, however nice the language is, nor would I be looking forward to coding a Lisp to javascript converter. I much prefer to XSLT/XPath/Parse from OWL to get what I need, and regenerate at will.
This is why I will resist anything other than a standards-based ontology, such as using a custom scripting language to define rules (after the PCGen experience and trying to make my tools interoperable with it, I can say that a constantly moving target is no fun).
reanjr said:
Don't take this the wrong way (it's mostly a joke), but it is my humble opinion that flow charts and data models are for presenting to the executives so that they can have input and thus slow down the progress of developers.
Mostly?
Bah, my job is to babysit executives so they understand what needs to be done (it's called "pre-chewing the food"). So Visio and Powerpoint are my main weapons.
reanjr said:
I have a licensing question. I believe you said you were using GPL, but is that only for your own code with the rest LGPL, or have you integrated other GPL apps into your own?
You mean for the demo, or for all the other apps on my site? Well, if I say it's GPL, then the only snippets I have used should be GPL. Otherwise I usually go for the strictest licence in the code I reuse, such as "free for non commrecial use", or some such, to respect the original author's wishes. I may be wrong though, it has been known to happen occasionally.
Andargor