Menu
News
All News
Dungeons & Dragons
Level Up: Advanced 5th Edition
Pathfinder
Starfinder
Warhammer
2d20 System
Year Zero Engine
Industry News
Reviews
Dragon Reflections
White Dwarf Reflections
Columns
Weekly Digests
Weekly News Digest
Freebies, Sales & Bundles
RPG Print News
RPG Crowdfunding News
Game Content
ENterplanetary DimENsions
Mythological Figures
Opinion
Worlds of Design
Peregrine's Nest
RPG Evolution
Other Columns
From the Freelancing Frontline
Monster ENcyclopedia
WotC/TSR Alumni Look Back
4 Hours w/RSD (Ryan Dancey)
The Road to 3E (Jonathan Tweet)
Greenwood's Realms (Ed Greenwood)
Drawmij's TSR (Jim Ward)
Community
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Resources
Wiki
Pages
Latest activity
Media
New media
New comments
Search media
Downloads
Latest reviews
Search resources
EN Publishing
Store
EN5ider
Adventures in ZEITGEIST
Awfully Cheerful Engine
What's OLD is NEW
Judge Dredd & The Worlds Of 2000AD
War of the Burning Sky
Level Up: Advanced 5E
Events & Releases
Upcoming Events
Private Events
Featured Events
Socials!
EN Publishing
Twitter
BlueSky
Facebook
Instagram
EN World
BlueSky
YouTube
Facebook
Twitter
Twitch
Podcast
Features
Top 5 RPGs Compiled Charts 2004-Present
Adventure Game Industry Market Research Summary (RPGs) V1.0
Ryan Dancey: Acquiring TSR
Q&A With Gary Gygax
D&D Rules FAQs
TSR, WotC, & Paizo: A Comparative History
D&D Pronunciation Guide
Million Dollar TTRPG Kickstarters
Tabletop RPG Podcast Hall of Fame
Eric Noah's Unofficial D&D 3rd Edition News
D&D in the Mainstream
D&D & RPG History
About Morrus
Log in
Register
What's new
Search
Search
Search titles only
By:
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Menu
Log in
Register
Install the app
Install
Community
General Tabletop Discussion
*Geek Talk & Media
Suite Interoperability
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Hollywood" data-source="post: 1230614" data-attributes="member: 7408"><p>The point is you shouldn't have to necessarily write a transform [of which no process is relatively painless, no matter what you claim :/] to transform CSX, or any other supporting product, "character save" into exportable XML. If the XML datastore is properly designed, it would be able to support multiple products without affecting any other products. The following are needed:</p><p></p><p>a) Basic character data in an "exploded" format that gives as much information as possible so that even "dumb" clients can convert and display or use the information. Examples currently have been bandied about here, including both CSX and the example I tossed up. Both of those two contain very similiar data, but I'd say mine has things grouped together better which can help going forward to other d20 products.</p><p>b) Any custom tracking information on how the character was built in a particular app. The XML datastore can handle multiple products easily, and it is not necessary at this point to have a common data structure except at the root entry point.</p><p>c) The ability to support custom data, i.e. those new feats, equipment, etc. At very least a common data format can be specified to contain at least an id, name, description. You can go further to describe come other common attributes. Custom elements can be embedded as needed for proprietary scripts, etc. that are needed by a particular application.</p><p></p><p>Having all a, b, c in one XML data format that represents a character will allow characters to be imported/exported between various applications without a lot of need for converting or transforming custom protocols. The character and its data would be spelled out in a detail manner in the first section (a) that any client can use. </p><p></p><p>Individual clients may embed custom save information in section (b) which can be safely ignored [but never modified or removed] by other clients. It matters very little that non-CSX clients may not need that information, but its there in case the character gets imported back into a CSX client. A hypothetical example: A character created in CSX gets exported and sent to the GM. The player uses another tool to create a beautifully formatted output via an XSL transform he wrote so that he can bring his character to the game. Perhaps another player downloads the character to his PDA and pulls it up on a character view app. The GM uses the character in DMGenie, or RPM or other similiar application, and modifies the character during the adventure. The character could then be sent back to the player after the adventure and the player cold load it back up into CSX. The XML data format for the save would have all the character's data, plus any custom content needed for that character, plus any proprietary data needed for CSX, DMGenie, or whatever. When the format is being used in CSX, of course it'd only access the character data, the custom data, and the proprietary CSX data, leaving the DMGenie, etc. data alone and untouched.</p><p></p><p>Lastly any custom information can be stored in section (c) and used by other clients [of course, clients are responsible to make sure that they don't export proprietary content to an inherintely unsafe format].</p><p></p><p>All that being said, I really don't consider the CSX format ideal anyways for at least one reason; the use of non-unique names as an "id". Even E-Tools got this right by assigning all "objects" a unique id in the form of a GUID. Using unique identifiers, such as a GUID, is the only way that two clients of different types, and even two clients of the same type, are going to know whether two "objects" are the same or not.</p></blockquote><p></p>
[QUOTE="Hollywood, post: 1230614, member: 7408"] The point is you shouldn't have to necessarily write a transform [of which no process is relatively painless, no matter what you claim :/] to transform CSX, or any other supporting product, "character save" into exportable XML. If the XML datastore is properly designed, it would be able to support multiple products without affecting any other products. The following are needed: a) Basic character data in an "exploded" format that gives as much information as possible so that even "dumb" clients can convert and display or use the information. Examples currently have been bandied about here, including both CSX and the example I tossed up. Both of those two contain very similiar data, but I'd say mine has things grouped together better which can help going forward to other d20 products. b) Any custom tracking information on how the character was built in a particular app. The XML datastore can handle multiple products easily, and it is not necessary at this point to have a common data structure except at the root entry point. c) The ability to support custom data, i.e. those new feats, equipment, etc. At very least a common data format can be specified to contain at least an id, name, description. You can go further to describe come other common attributes. Custom elements can be embedded as needed for proprietary scripts, etc. that are needed by a particular application. Having all a, b, c in one XML data format that represents a character will allow characters to be imported/exported between various applications without a lot of need for converting or transforming custom protocols. The character and its data would be spelled out in a detail manner in the first section (a) that any client can use. Individual clients may embed custom save information in section (b) which can be safely ignored [but never modified or removed] by other clients. It matters very little that non-CSX clients may not need that information, but its there in case the character gets imported back into a CSX client. A hypothetical example: A character created in CSX gets exported and sent to the GM. The player uses another tool to create a beautifully formatted output via an XSL transform he wrote so that he can bring his character to the game. Perhaps another player downloads the character to his PDA and pulls it up on a character view app. The GM uses the character in DMGenie, or RPM or other similiar application, and modifies the character during the adventure. The character could then be sent back to the player after the adventure and the player cold load it back up into CSX. The XML data format for the save would have all the character's data, plus any custom content needed for that character, plus any proprietary data needed for CSX, DMGenie, or whatever. When the format is being used in CSX, of course it'd only access the character data, the custom data, and the proprietary CSX data, leaving the DMGenie, etc. data alone and untouched. Lastly any custom information can be stored in section (c) and used by other clients [of course, clients are responsible to make sure that they don't export proprietary content to an inherintely unsafe format]. All that being said, I really don't consider the CSX format ideal anyways for at least one reason; the use of non-unique names as an "id". Even E-Tools got this right by assigning all "objects" a unique id in the form of a GUID. Using unique identifiers, such as a GUID, is the only way that two clients of different types, and even two clients of the same type, are going to know whether two "objects" are the same or not. [/QUOTE]
Insert quotes…
Verification
Post reply
Community
General Tabletop Discussion
*Geek Talk & Media
Suite Interoperability
Top