Wednesday, February 22, 2012

Framework Update 1

I thought I'd post a few screen shots of my work on the new framework so you get an idea of what I'm doing. Rather than 6 (or 7 or 8) setting library tokens, I've collapsed this down to two for the new framework: Lib:Rules and Lib:Setting.

Lib:Rules contains all the macro code while Lib:Setting contains all the data. In theory, you can swap setting tokens with ease. You just point the Rules token to it for data.

The heart of the Setting token is a set of lists containing all the stuff needed by the rules. This is where you'll add the names for things like Arcane Backgrounds, Skills, Derived Stats, Edges, and Hindrances. If you don't need a particular skill, like Guts, you simply remove it from the list and the code will ignore it from that point forward.

The screenshot below shows the results of the Manage Setting macro.

Another goal of this framework is to allow for internationalization. I do this through the Languages and Labels tab. In it you can pick a language and then edit the text to suit the needs of your games. I did this mostly for the German Savages that use my framework but I hope others will make use of it as well.

To change the language you simply select it from the dropdown. To edit the text you click on the label name which brings up a dialog to let you edit the translated text. Note you can also use this to alter the displayed English text as well. All text on the screen goes through this lookup regardless of language.

I can see already I'm going to need to code a utility to import labels from one Lib:Rules token to another.

After you have the lists defined, you can start configuring the setting under the Configuration tab.

  • Races, Monstrous Abilities, Edges and Hindrances all work the same by adding, replacing, or modifying traits and stats defined on the lists page. 
  • Derived Stats are those called out in the Savage Worlds rule set for things like Toughness, Charisma, and Parry. 
  • Other Stats include things that are modified by Edges, Hindrances, and Races but fall outside other stats (like Soak roll modifiers). 
  • Arcane Backgrounds have their own set of screens to configure power point usage, powers, skill name, initial power points, and initial powers. 

To configure these items, I've created Wizards to ease data entry. Below is a simple example from Derived Stats. Items with a formula ignore the default. Formulas must follow a specific format. In the case below, Parry and Toughness get the Die Num (i.e. 4 for a four sided die) of a trait and perform some math on it.

That's all for now. I'll post more as time allows.