PDA

View Full Version : Fantasy Grounds "Designer"



Ghingis
March 30th, 2006, 13:00
Just curious if anyone knows if a "designer" has been developed to provide a graphical enterface to modify Fantasy Ground's rulesets and/or modules?

Ghingis

richvalle
March 30th, 2006, 14:04
No, not yet. I've not heard anything about one being worked on yet either.

rv

MrHack
March 30th, 2006, 17:47
I think you may want to look at Doswelk's XML tools. I am not familiar with them, but I've heard they can help with ruleset creation. He uses them to support his d20 Modern ruleset, I believe. He should be able to give you more information.

Snikle
March 30th, 2006, 18:33
Yes he uses it for the ruleset, but I think Ghingis was referring to making a 'theme' (for lack of a better term) for FG.

Ghingis
March 30th, 2006, 19:00
I was in a hurry when I wrote the post and realized that it could be interpreted many different ways. I'll clarify just alittle more.

Ive made a couple of character sheets and find that I have to have multiple editors open (graphic editor and XML editor). Ive seen alot of posts where people are saying that they have never had to use XML or they are having a hard time understanding XML. What I was wondering is if someone has developed (or is in development) a "Graphical Editor" for modifying/creating rulesets/modules that abstracts away the XML.

The reason for asking is that I didnt want to have to re-invent the wheel. I thought that if no oine had or knew of anything then I would give it a try.

Ghingis.

Ram Tyr
March 30th, 2006, 19:09
The reason for asking is that I didnt want to have to re-invent the wheel. I thought that if no oine had or knew of anything then I would give it a try.

Ghingis.
My advice would be to wait for 1.06 to come out. Since they are making some, I guess "fundamental" is not too strong of a word, changes; you might want to make your tool compatible with 1.06.

Later.
Ramza

DarkStar
March 30th, 2006, 21:33
What I was wondering is if someone has developed (or is in development) a "Graphical Editor" for modifying/creating rulesets/modules that abstracts away the XML.

The reason for asking is that I didnt want to have to re-invent the wheel. I thought that if no oine had or knew of anything then I would give it a try.


I think this would be very difficult right now, because for a visual editor you have to render the forms in real-time and rendering is done by FG, you would have to write your own code to imitate the character sheet outside FG...

kalmarjan
March 30th, 2006, 21:48
Difficult, but not impossible...

If a person was to use XForms and XQuery (With a second party extension for UPDATE, ADD, DELETE) then the db.xml file could be updated.

Sandeman

DarkStar
March 30th, 2006, 22:06
Editing XML files is not the hard part - displaying visual designer is. ;)

Snikle
March 30th, 2006, 22:22
I just wish things were better organized inside of FG. For example, why must the background be defined in the xml? Why cannot a right click on the desktop bring up a menu selection to change it? Wouldnt that be great, as the players leave the city and enter the forest, your desktop changes from a city street scene to a wooded forest. And what if I wanted to use the SRD's background (or any good old wallpaper) with my character sheet for Traveller (and no I do not have have one, just an example)? Why cant the DM go into a "Preferences" selection and choose "Character Sheet d20 d&d 3.5" or "Warhammer Fantasy"? All that changes is a graphic, the xml file that generates the sheet, and a connection to the database. I understand the FG downloads the ruleset everytime to the players machines, but couldnt it just do a check of whatever portion just changed?
Why is the theme, the rules, the monsters, the 'module' all interconnected? If it was more modular I think it would work way better, and hell, as a society today, arent we all about customization anyway?
And from a design sense, the fact that you have to shut down FG and restart everytime you want to test a change simply blows chunks.

kalmarjan
March 30th, 2006, 23:21
Well...

You need to have everything in XML to allow for easy distribution of files. As for the way the files are set up... as I learn more about XPath and XSLT, with XQuery, I realize that the format the xml files are in is a nightmare!

Take this for instance:

<stringvalue name="ac">0</stringvalue>

Now, this is not very intuitive, and god forbid you need to apply a style sheet to get this format. (Hence the reason for the length of time it has taken to make a converter for Etools.)

I believe the reason the xml is formatted this way is because FG is using an internal DOM parser written in C++. For memory management, the xml has to be structured like so.

Also, if the character sheet was written in C++ code as opposed to XML, you would have a hell of a time trying to customize it. With XML, all that needs to be done is a restructuring of the SVG information.

I believe that the XML for the graphics is done in SVG... Don't quote me, but I think so.

Take a look at the reference.xml as well. Try to navigate your way through that with XPath, and you are looking at a nightmare.

Anyways, the documentation is coming soon..

Lets hear it for 1.06!

LOL

Sandeman

: Always cheering for the Devs.... :)

Ghingis
March 31st, 2006, 03:31
Wow! I was suprised to see this many responses.

I agree that it cant be done from within Fantasy Grounds, that only makes sense. I do have experience writing graphics engines (utilizing DirectX and OpenGL) for various custom simulations, so I dont think the presentation would be a problem for me. My first experience with XML was with Fantasy Grounds and I seem to have a pretty good hold on that. Ive also done some research on open source XML parsers (such as xerxes). So far the only things I've done for Fantasy Grounds is character sheets. So Im not quite sure what to do about datasources and modules.

The idea is something similar to a "GUI Designer", such as Net Beans or the GUI editor that comes with Microsoft Visual Studio. You create a new "page" and drag controls onto the page. Right click the controls to access/modify properties, attach events, and also tie to scripting (depending on how the LUA is going to be used). I think it is something that I could do relatively easily. The only down side is that it is a designer built "out side" of Fantasy Grounds and therefore may not be able to fully use all the features provided until the "parallel" feature was coded into the designer. I would think that for creating character sheets, this would work fine. The designer would make the appropriate updates to the XML files and then Fantasy Grounds could be loaded for testing.

I also figure that since everthing (well... almost everthing) resides inside a windowclass, the designer could also be used for things like designing the desktop and shortcut menus. This would leave special case items like the different "datasources" and dice box that would need special attention.

Oh, and best of all, it would be developed under some sort of open source license so everyone would have access to the code, free of charge.:D

Ghingis

DarkStar
March 31st, 2006, 10:12
I'm still sceptical about this. Visual Studio doesn't come with FG components. ;P You would have to write your own controls, which would use FG's logic and you also have to make them dynamic in that they can be moved around freely in running application, outside VS.

If you can do that, it would be awesome. But I will pass here. ;)

Ghingis
March 31st, 2006, 13:41
I wouldnt want to reproduce the controls. It would mosty consist of "text fields" ( for stringcontols and numbercontrols ), and "image fields" ( for things like icons and windowopencontrols ). Therefore it would only support a basic set of controls where, graphically, it would only "look" like the page you are trying to create. Im not looking to incorporate any type of "testing" outside the context of Fantasy Grounds, therefore reproducing the logic of the controls would not be an issue since its not necessary.

I guess another way to explain it is a "graphical-xml editor". The user would drag a "text field" onto the page. Then modify the properties of the text field so that it can either be a <stringcontrol/> or a <numbercontrol/>. In the background, the designer would be updating the XML file filling in the <name/> and <bounds/> elements. That way you wouldnt have to know XML to create a character sheet.

Ghingis

Snikle
March 31st, 2006, 14:24
I think this would be something that was great and useful, a hell of allot of work though. I have used VS and know what you mean in your dicussion above, and for the non-designer/non-coders out there, they would love this. Heck, I wish you were already done, make my character sheet for Serenity RPG a breeze.

kalmarjan
March 31st, 2006, 15:55
And to make it easier... The app you make would place the character sheet graphic on the background, and let you drag and drop stringcontrols and number controls.

This would eliminate the need to "figure out" the placement of the boxes.

As for the back end code... it would also have to update several other XML files in order to make those controls function in the DB.XML files.

(Or what I am trying to say is that each control a user makes needs to be identified in the corresponding charsheet.xml file.) Some form of XML coding knowledge would be needed to make it work for the user, as they would need to know the rules for naming attributes in XML. (Such as not starting with a [:],[.],[a number],[no whitespaces], etc.)

Sandeman

joshuha
March 31st, 2006, 16:27
I want to work on something like this when 1.06 comes out. Really the only other problem I can think of is having to figure out exactly how FG parses the bounds and what not. Things like the negative numbers that make controls float based off of others, etc. That logic would still need to be in this program.

Also, the labels for the controls themselves are still part of the embedded character sheet image. I would love to see an all in one solution that let you even put just a basic texture for the background of your sheet, drag fields PLUS labels into this app and then compile a background image of the sheet that would include the labels.

Its definitely possible to do but would require a good amount of work. Something I am considering though once 1.06 comes out.

Snikle
March 31st, 2006, 16:40
How about we protest a change to the way the frames and xml are dealt with in FG?

Ghingis
March 31st, 2006, 16:42
And to make it easier... The app you make would place the character sheet graphic on the background, and let you drag and drop stringcontrols and number controls.

This would eliminate the need to "figure out" the placement of the boxes.


One of the main reasons I was wanting to work on this.

Ghingis

Ghingis
March 31st, 2006, 16:44
Also, the labels for the controls themselves are still part of the embedded character sheet image. I would love to see an all in one solution that let you even put just a basic texture for the background of your sheet, drag fields PLUS labels into this app and then compile a background image of the sheet that would include the labels.

I was actually looking at writing a plug-in for GIMP that would do this. But after looking at the API I went another direction.

Ghingis