PDA

View Full Version : Request for comments: Ruleset updates and custom modifications



Goblin-King
February 19th, 2007, 09:09
With the expanded possibilities available in ruleset customization coming with FG 2, there has been discussion about our update policy regarding rulesets and the impact any such updates would have on custom rulesets made for the users' own use. We've had ideas about this brewing for a while now, but decided this would be a good time to ask for your input on this.

I will first point out our design goals for any improvements to the system, then outline a plan we have made, and finally make a small list of things how this would affect the average user, as well as the ruleset modification expert.

Goals

First, we want to make sure the system is as friendly as possible for casual users (from the ruleset engineering point of view). These would be people who don't have the technical skills, the time or the effort to actually get their hands dirty with ruleset modifications. They might, however, be interested in using some custom modifications, if they could simply download and install them without further hassle. The killer for people like this is an update that invalidates something in their game that they can't or don't want to fix.

Second, we would like to make it possible for people to share what they have done, without having to lock them down to one modder's creations, and without having to distribute a 10 megabyte download each time a simple modification to a basic d20 version is made.

Third, we want to keep the d20 ruleset up to any requirements and suggestions put forward by the people using it. With the updater coming in version 2, we can do this in an effective manner, but having to consider the implications on any imaginable ruleset in use that has drawn influence from the d20 ruleset might really bog things down.

Fourth, we believe that since it's quite impossible to do any updates without them having some ripple effects on modifications based on the updated systems, it's better to shift the responsibility for maintaining any custom ruleset snippets from the user using them in his/her game to the creator of the modification. I think this is especially true for anything someone might make available for download - it's only natural to check the original place where you downloaded something if it breaks for any reason.

The Battle Plan

The first possibility we want to prepare for and would like to get into swing soon after 2.0 is out, is what we've been calling ruleset addons. These would be to rulesets what modules are to campaigns. They would basically be small extensions to the ruleset files, perhaps only containing a new sheet for followers, a different version of the character sheet or improved functionality for existing features. You could install these for a particular ruleset, and select a number of them for use in your game from the launcher. The important bits are that they, by default, use most of the existing ruleset (hence not requiring all of it to be updated and not breaking down when the ruleset is updated) and you could use several at a time with them living happily together.

The second change would be the removal of interdependencies between rulesets. Currently, a ruleset can simply include a file from another ruleset folder, but this feature has not been widely used and carries the problem of invalidating the changes made whenever the original file is changed. To make this clearer to everyone, the plan would be to move from absolute filenames (e.g. "rulesets/d20/charsheet.xml") to relative filenames ("charsheet.xml"), indicating that a ruleset is a contained whole. As a positive side effect, this would also mean that you could simply copy a ruleset as a basis for an entirely new ruleset and not have to rename paths in the xml files. Copies would be independent, and updating one ruleset would not directly impact another.

The Result

Some of the implications of this system would be:
The possibility to pick and choose a set of addons that you like, regardless of if you can or want to do them yourself, or merge them by hand into a custom ruleset
Out of date addons might be individually identified and disabled if necessary
The d20 ruleset could be further developed by us, and any updating required to support the addons would fall to the addon developer instead of the individual GM. While not a silver bullet that guarantees automatic hassle free updates, at least everyone could plan ahead and know where things stand.
The base ruleset (such as d20) would ideally require functionality dedicated to supporting addons, such as dynamically adding icons (like the story book etc.) on the desktop. These could, however, be implemented as updates to the ruleset itself.
Ruleset creators could more easily pick features from available rulesets into their own.
A ruleset would be more likely to mean just that, forming a common base for a particular system, and any customizations being separate.
While individual rulesets (possibly based on d20) might be larger transfers, they would not be subject to an unclear inclusion mechanism that is not widely used anyway. Small modifications would be easier to implement.The Disclaimer

All of this is just planning and drafting at this time. Please remember that all or some of this might make it or not make it, and technical implementation aspects might change if this gets implemented.

Oberoten
February 19th, 2007, 09:46
Quite interesting. I am especially grateful for finally having a charsheet.xml etc instead of having a \rulesets\nnn\charsheet.xml

Makes it easier to get started.

Not to mention that this way I can do things ONE step at a time instead of having to go through everyhing at once.

Malovech
February 19th, 2007, 12:28
My feeling is that as long as you don't remove a modder's ability to use a completely different rule-base (ie Rolemaster) then you're good to go. As long as we can overwrite everything rule-specific in the d20 base ruleset then you don't alienate a strong potential sector of your market- people who play obscure systems across large distances.

joshuha
February 19th, 2007, 14:51
I agree this a good idea. If all the files for a ruleset are local and you don't have to include full paths it makes creating rulesets that much easier.

With that said, for the current beta I did create a "framework ruleset" and removed all the d20 references out of it. Now, ideally the devs would provide us a blank ruleset that still functions and the d20 part would be one of these new plugins. :)

BTW, for anyone interested in the framework ruleset FUM is hosting it for now at https://www.fouruglymonsters.com/community/showthread.php?t=993 .

Stuart
February 19th, 2007, 19:29
I like the sound of all of this but what I could really do with in the short term is some sort of easy guide/definitions of how FGII works re the xml tags and codes NOW employed.

I have the enviable job of converting all of Digital's rulesets (d20-SRD, d20-AE, d20-IH and MSRD) for FGII. It took me months to work out FG and xml from scratch (I have NO computer background at all - not even VB) and the changes in FGII are probably totally transparent to most ... but not me :o

Thus ... I will be bugging Joshua (sorry ... expect lots opf pathetic "How do I ...") and the lists next week when I am cleared to go back to work.

Is it possible for somesort of "bible" to be put together - perhaps this is a community project worth doing over at FUM.

Yes ... my ignorance is breathtaking ... but I'm really keen !:p

[shuffles off, stage left, tail between legs and looking for large rock to crawl under...]

Dachannien
February 19th, 2007, 23:06
It sounds like a whole lot of thought has already been put into this. My two cents are as follows:

Interoperability between parts can be improved if the interfaces between those parts are standardized. One thing I noticed when crafting my custom ruleset for FG1 was that the data from an old ruleset couldn't be ported into the new ruleset because I used different variable names for just about everything.

In order to make the base ruleset work with addons, I'm guessing there will be some sort of interface between the two. Maybe it's API calls, maybe it's a standard list of variable names. In any case, documenting these features will help authors of addons when they're writing those addons. It will also help people who are writing new versions of the base ruleset to know what they need to implement.

Think of it sort of like Java classes. Addons extend the base class, but a more ambitious ruleset author could replace the implementation of the base class with his own, and as long as he remembers to implement everything that appears on the interface, other people's custom addons will work with the custom ruleset as well.

This "class" idea doesn't have to require a ton of extra coding - it could be something as simple as saying that the final value for armor class always uses a particular variable name. Someone re-implementing the base ruleset could have all sorts of stuff going on behind the scenes that calculates armor class, but as long as it ends up in the same variable, a custom addon that expects to see armor class in that variable will work properly whether it's paired up with the default ruleset or a custom one. Instead of requiring extra code, the only thing needed here is documentation of a standard way of doing things.

Of course, alternatively, I'm sure you could come up with a far more elaborate way of doing things if you really wanted to :)

Griogre
February 19th, 2007, 23:22
Your base idea seems valid to me. I think you do need to be concerned about making it as easy as possible for people who don't want to mess with the xml or scripting which is going to be the majority of your customers.

I think joshuha's point is valid. If you treat even the default d20 ruleset like it is a "module" ruleset instead of a baseline this will allow other rulesets to plug into the "core FG framework" in a consistent and easy manner and allow you, perhaps, some easier maintenance and upgrading on the d20 ruleset.

Goblin-King
February 20th, 2007, 07:42
Joshuha, I think the base ruleset's significance will be also to define the common ground for the data base, indicating what kinds of resources you need to manipulate for the particular rules data. Meaning that d20 might have spells, items and monsters whereas another system might have vehicles, starships and weapons with bullets. It creates a common ground for the addons to build on.

Stuart, are you talking about stuff in the ruleset reference or something that might help you read it, or just a generic list of fields that are used by the d20 ruleset? I think Dachannien's point about a documented interface for the addons would be pretty much what I meant by "functionality dedicated to supporting addons". That would be documented, whether on a web page or clear comments in the portions of the ruleset source files that are involved, but it would probably not span the entire ruleset (i.e. stuff like individual fields on the character sheet).

Sigurd
February 20th, 2007, 12:35
I think you guys should plan for a double implementation of rulesets.

One would start as a duplication of the 'official' set and mutate by user design\vendor supply etc...

The second set would remain just as you shipped it with FG. It might have a button\or command to refresh it from a zip file into the appropriate area. That way an unlucky user might have something they can do before reinstalling the software. "Did you refresh the ruleset to company norm?"

Official changes might supply an updated ruleset as the zip file 1.1, 1.2, ... 1.257 etc... Mod makers could specify compliance to a particular ruleset zip update. Smite Works could make it clear that they will only support the most current zip file but still keep previous revisions around for download.


You might have a sort of 'gold standard' partnership with some rule set providers that their zipped ruleset could be installed from an FG dialog\button. They could, in turn, give meaningful names to their offerings such that mod makers could list them as compatable or not.


Eventually I don't think you can hide that project A1 might not work with a particular ruleset. The most you can do, I think, is to encourage clear names and revision numbers in the various mods & rulesets.


Sigurd

mr_h
February 20th, 2007, 15:33
All this complicated code stuff confuses me:)
I just want to know if I can plugin my ruleset I made for FG1 into FG2 and have it work....
Or if I have to spend a month redoing the dang thing.

joshuha
February 20th, 2007, 17:10
All this complicated code stuff confuses me:)
I just want to know if I can plugin my ruleset I made for FG1 into FG2 and have it work....
Or if I have to spend a month redoing the dang thing.

Right now, FG1 rulesets will have to be rewritten for FG2. A converter may be in the works but may also be far off.

What you will need to do is redo all the tags to fit the newer (and better) ruleset formats but won't need to change the content obviously.

However, until the beta is finalized and they figure out how they are going to work the ruleset plugins I would refrain from doing any major conversion efforts at the moment.

mr_h
February 20th, 2007, 17:21
That's gonna hurt...a lot. :(

My group may have to stay on FG1 til the converter comes out.

joshuha
February 20th, 2007, 18:14
Are you using a ruleset you created yourself? Is it just mainly sheets or a lot of reference data as well?

mr_h
February 20th, 2007, 19:21
It's simple, contains a character sheet and a fair amount of refernece data (not HUGE amounts like the d20 set, but enough to keep me busy on my limited schedule).

I modified an exsisting ruleset (d20 modern) which is why I haven't distributed it. :D

Griogre
February 20th, 2007, 21:44
GoblinKing, my only other thought is that you should also be conscious of some people's desire for very simple and light rulesets. For example the Character Sheet Rulset idea - where the only data in the ruleset is the charactersheet.

I think this important because even though some game companies will not authorize full rulesets, I believe that almost every company would allow a ruleset with only their game's character sheet - most give away one in electronic form these days after all.

The other advantage for your customers in this type of ruleset is it would be very robust and rarely if ever need to be changed or updated since I believe changes to actual way character sheets work is likely to be very rare.

Stuart
February 20th, 2007, 22:03
Stuart, are you talking about stuff in the ruleset reference or something that might help you read it, or just a generic list of fields that are used by the d20 ruleset? I think Dachannien's point about a documented interface for the addons would be pretty much what I meant by "functionality dedicated to supporting addons". That would be documented, whether on a web page or clear comments in the portions of the ruleset source files that are involved, but it would probably not span the entire ruleset (i.e. stuff like individual fields on the character sheet).

I think in the short term, I'm looking for something really simple - I'm looking at beginning the process of converting the SRD ruleset to FGII next week. What I'm struggling to see quickly is how I link data sets together such that a link will open up either a new window with new data from a library file or a reference file in the same module or in different modules. The character sheet stuff I'll leave until later.

Really simple :o

zambol
February 20th, 2007, 23:47
"ruleset addons"
This would be good for diffrent size modifications.

Even more useful might be..
Suggestion: "base.xml inside modules"
1) module could hold "base.xml" and other ruleset files.
2) module's base.xml could refer to files inside module.
3) when ruleset is loaded, fg first loads <ruleset>/base.xml and all files defined in it. At second step it checks if any active module holds base.xml and loads them.

Results
1) you could have any ruleset addins inside modules.
2) you could have any images etc. inside modules.
3) you could have allmost whole ruleset inside module.
4) adding third party modifications to ruleset would be really easy, even for casual user.

"removal of interdependencies between rulesets"
Moving ruleset base directory from /FGbasedir to /<myRuleset> would be great. You could create new ruleset just by copying /d20 to new foldername.

Suggestion: "../"
This would be even better, if you could use "../" to reference one directory up, if you really wanted to use files from other rulesets.
Example: "../d20/charsheet.xml"

Goblin-King
February 21st, 2007, 13:01
Griogre, this shouldn't impact on the creation of custom rulesets at all, so anything like that would still be as possible as it is now. If anything, possibly being able to use/translate an addon for many rulesets would make everything more accessible.

Zambol, we did consider the module tie-in, but modules are stuff you load and unload during a session, and doing something like that with ruleset files would be technically potentially very complex. I'm not saying something like this is completely out, but it does clash a bit with out goal of making this as straightforward and easy to understand as possible.