Format: The (hopeful) end result of this thread. A definition of the structure of a Sheet that meets as many of the goals below as possible.
Sheet: A document that defines some aspect of a SR4 character, in the correct Format. A sheet is "full" when it contains an entire SR4 character.
Character: The character, or piece of a character that appears in a Sheet.
- Human readable
- Anyone opening up a Sheet should be able to read the Character without too much effort.
- The Sheet can be used as a character sheet (or as an addition to one) as-is (although not necessarily a very friendly one)
- Formulas and calculations are not required, but support for specifying how you managed to rack up that huge number should exist
- Note that this does not specify human writable. It is perfectly acceptable for the Format to be too complex for a person to write correctly by hand (or at least, too complex to be feasible to do so on a regular basis). We shouldn't preclude human modification, but we don't need to account for it either.
- Anyone opening up a Sheet should be able to read the Character without too much effort.
- Machine writable
- The Format should be simple enough that it is not difficult to program an application to create a Sheet.
- Applications won't have to implement writing Sheets (I can already picture an app that takes a Sheet and plugs it into your choice of 5 different character sheets for printing), but if they do, it must be in the correct Format.
- The Format should be simple enough that it is not difficult to program an application to create a Sheet.
- Machine readable
- The Format needs to be rigid enough that it's possible to read a Sheet into an application and then populate data based on that Sheet.
- Applications won't have to support importing Sheets, but if they do, they need to be able to read all the statistics they want and ignore anything extra. (i.e I can load a full Sheet into an equipment application, and it'll ignore all the non-equipment).
- The Format needs to be rigid enough that it's possible to read a Sheet into an application and then populate data based on that Sheet.
- Segmented
- The Format should be sub-divided in such a way that it is perfectly acceptable to only output a piece of it. (Just an equipment section, or just a custom weapon section, for instance)
- I don't know if we should try for having any single piece of a Sheet be valid on it's own, or if we want to specify certain "breakpoints" where a Sheet can start.
- The Format should be sub-divided in such a way that it is perfectly acceptable to only output a piece of it. (Just an equipment section, or just a custom weapon section, for instance)
- Extensible
- The Format should support adding additional information to any defined part of the format.
- It should also support the ability to add new segments without breaking backwards compatibility with existing apps.
- There should be a specific section for Application-specific information, separate from the ability to just add more data wherever the programmer feels like adding it.
- The Format should support adding additional information to any defined part of the format.
So, any thoughts?