PDA

View Full Version : Rules Set Creator Software



Morfedel
January 4th, 2007, 20:52
I was thinking of trying to create a rules set for Iron Kingdoms, and other games that I also play.

Then it occured to me, that since I'm a programmer, maybe I could just create a piece of software to generate rules sets for you.

The only problem would be making sure that, for example, character sheet info lined up correctly. That might be the trickiest part.

Well, and the other thing. I understand XML pretty well... but, its rather hard on the eyes trying to trace through every xml file to determine what does what. I could use a bit of help in figuring out, for example, what determines the information and layout of the character sheets... the rules books... the clicks that open up information... and what holds the layout for drawing the character sheets onto the background sheets for displaying, for example, the character sheet info.

Once I have that, I can start working on a rules set editor. Although I'm probably going to write it in either C++ or C#, would there be a reason to write it in Java or some other language instead?

Either way, thanks!

richvalle
January 4th, 2007, 21:05
I think someone made a start on this already but I'd have to hunt for the post.

I'd not start this till 2.0 came out as it will all change then.

rv

Morfedel
January 4th, 2007, 21:13
True. Is there any kind of eta on 2.0? I ask because I remember hearing about 1.06 for some time and it never materialized. Now 2.0, which is great, but for how long?

richvalle
January 4th, 2007, 22:06
As a total guess... a month or two out. There are a lot of changes in it.

1.06 became 2.0 as Smiteworks figured there were enough changes to make it a new version.

rv

Casamordius
January 5th, 2007, 11:47
nice idea to write a ruleset designer software! :-)
i thought about that to... or at least some supporting software or a kind of "simplified xml" which is easy to write an then will be converted in the complex one..
It is quite bad, that all that so many supporters were now waiting for 2.0
Isn't it possible to geht some preview version? not for playing - just for designers and developers.

would be very nice!

pk

DarkStar
January 5th, 2007, 12:19
I think someone made a start on this already but I'd have to hunt for the post.

There have been two attempts to create such tool already, none of them successful. :P



Once I have that, I can start working on a rules set editor. Although I'm probably going to write it in either C++ or C#, would there be a reason to write it in Java or some other language instead?

No, there is absolutely no reason to write it in Java. Fantasy Grounds is a Windows only program and you don't need the tool to be cross-platform. Probably, the best choice would be C#, that's where Microsoft is guiding us and with projects such as Mono, in case FG runs on different OSs someday - there is a big chance your tool will work as well. But I doubt there will be any *NIX port. :P

Morfedel
January 5th, 2007, 14:23
There have been two attempts to create such tool already, none of them successful. :P



No, there is absolutely no reason to write it in Java. Fantasy Grounds is a Windows only program and you don't need the tool to be cross-platform. Probably, the best choice would be C#, that's where Microsoft is guiding us and with projects such as Mono, in case FG runs on different OSs someday - there is a big chance your tool will work as well. But I doubt there will be any *NIX port. :P

LOL!

Well, I worked for Microsoft for about three years as a Software Developer in Test. My very last project before the Dot.Com Collapse followed by 9/11 killed my career, I wrote a piece of software that generated RANDOMIZED xml files that had to fit a certain criteria for purposes of pushing through a processing pipeline.

This pipeline was a new piece of software they were developing for a bette rmethod of propogating changes in websites. At the time, if they wanted to change, say, ESPNs website for each of the IE browser, cell phones, and other devices, they originally had to do the change for each version of the website seperately. They wanted to be able to do the entire thing one time via xml files and an html conversion pipeline.

So, I've written software before that generates XML files. In 2003, doing this would have been trivial. But after the dot-com collapse, 9/11, and the fact I discovered I hated being stuck in a cubicle, I left that field and I'm in the process of training to become a prosthetist, and now only program here and there on the side for fun and personal use.

So, I'm a bit rusty. But I have every confidence that if I decide to devote the time to do it (I gotta admit, there is the chace I'd be lazy ;) ), that I could get it done. I just have to make sure I understand the format the xml files, and which files does what.

So I hope that when 2.0 gets released, that the Powers That Be will also publish at least a brief explanation of each xml file, so I don't have to spend an exhorbitant amount of time crawling through the files, making changes, and testing said changes just to grok what they do in the FG software ;)

ShaneB
January 6th, 2007, 02:10
Write it in 3.0 so that only those with Vista can use it..

*just kidding! :)*

Morfedel
January 7th, 2007, 03:54
LOL! Sounds like a plan! :)

Shrp77
January 19th, 2007, 08:42
Another one to join the fray :)

Welcome - I'm one of the two failed attempts to build such an application (although I wouldn't categorize it as failed, as I'm still slowly working on it - but primarily as a self-study exercise than anything else).

The rest of the reply is g33k specific...

I can tell you what I've done and the experiences I've had with that...:

The XML files
First off, most of them are non-compliant with standard XML. Specifically nodes like formattedtext which contain both HTML code and UniCode sequences.
(this isn't a big problem as you can implement your own IXmlReader to handle the formattedtext fields, however the UniCode sequences I had to hack by creating a well-formed XML from the FG XML files and then read that...)

Typical examples of these files can be found under the database folder.

The Nodes
Some of the nodes are, IMO, not correct. Examples are nodes called "nodes" which represent a collection of items (like Stringvalues, intvalues etc.) These nodes can also contain other node collections, meaning that their variable member representation changes from a type Generic<SimpleValueType> to Object.
(SimpleValueType in this case would be an object that contains a name, a type (int, string, formattedtext) and a value).

I initially tried solving the problem by having the XSD generate schema files for me and then using the automated functionality in C# to read the objects. That worked fine with the exception of the object entity layer becoming seriously saturated with objects that were in all means and manners identical, except for their use in different XML resources.

The working prototype I have from that version allows me to open up the base.xml file, generate a library of all the functions/references and their corresponding source files and display all the character sheets and graphics along with their corresponding control groups (I came to the point where you could resize the control groups in the editor).

The entire business entity layer became so big and cumbersome that the reflection of any change (across the various usercontrols) became a serious problem.

That attempt resulted in utter failure and displayed several fundamental flaws in the original design I was implementing.

My new attempt is following the MVC a little closer and I'm spending more time on the automation aspect of each object. I'm also working more on locating and identifying nodes with identical or similar behavior, so that I may work with less entity objects which in turn are more capable (i.e. in my new model it's a snap to change an Intvalue to a Stringvalue as it's only a property in my entity and not two separate entities).

The new entities also support the Observer pattern and have several subscription services that the controls may subscribe to (although the primary one will still be the OnChange event...).

End g33k

Anyways - looking forward to reading on your progress with this :D :rv: