Difference between revisions of "PCGen Support for Savage Worlds"
Line 22: | Line 22: | ||
= Approach = | = Approach = | ||
− | The gameMode files and data files will be developed in parallel in support of the core rule set as described in '''Savage World: Explorer's Edition'''. The final steps in this project will be to develop LST files for at least one Savage World game setting, | + | The gameMode files and data files will be developed in parallel in support of the core rule set as described in '''Savage World: Explorer's Edition'''. The final steps in this project will be to develop LST files for at least one Savage World game setting. I currently own a copy of "The Savage World of Solomon Kane" and "Necessary Evil" and have downloaded the free "Wizards and Warriors" pdf from Pinnacles website, so it is likely that once the core rules are demonstrably working, I will start working on these three game settings. |
= Challenges = | = Challenges = | ||
Line 31: | Line 31: | ||
* What GUI modifications are required? | * What GUI modifications are required? | ||
== Specific Challenges == | == Specific Challenges == | ||
− | + | * Traits include both "Attributes" and "Skills": | |
** Traits are identified by a dice type, not by numerical value. (e.g. d4, d6, d8, etc.) PCGen is currently capable of doing this, though how this propagates through the rest of the program has yet to be seen. | ** Traits are identified by a dice type, not by numerical value. (e.g. d4, d6, d8, etc.) PCGen is currently capable of doing this, though how this propagates through the rest of the program has yet to be seen. | ||
− | ** Attributes, or stats, include the following: Strength, Vigor, Agility, Smarts and Spirit. | + | ** Attributes, or stats, include the following: Strength, Vigor, Agility, Smarts and Spirit. Derived attributes include Parry, Charisma and Toughness. |
** Skills will be implemented with a combination of the "skill" object to track the RANK and the "ability" object to handle advancement. | ** Skills will be implemented with a combination of the "skill" object to track the RANK and the "ability" object to handle advancement. | ||
− | *** The cost of a Skill Rank increase depends upon the value of the attribute (stat) to which that skill is tied. (e.g. Increasing the rank of the "Fighting" skill from d6 to d8 costs 1 point if the "Agility" attribute is d8 or greater but costs two points if it is d6 or less.) This is being implemented as a pair of "Trait Advances" (TA) with a PREVAR looking at the skill "RANK" and the relevant attribute. One TA will cost one point, the other will cost two. | + | *** The cost of a Skill Rank increase depends upon the value of the attribute (stat) to which that skill is tied. (e.g. Increasing the rank of the "Fighting" skill from d6 to d8 costs 1 point if the "Agility" attribute is d8 or greater but costs two points if it is d6 or less.) |
+ | *** This is being implemented as a pair of "Trait Advances" (TA) with a PREVAR looking at the skill "RANK" and the relevant attribute. One TA will cost one point, the other will cost two. | ||
* Hinderances and Edges (equivalent to feats/abilities) should be able to be implemented via PCGen's ability object. | * Hinderances and Edges (equivalent to feats/abilities) should be able to be implemented via PCGen's ability object. | ||
− | * | + | * Savage Worlds is a classless system, at least the core is, so I will be creating a "Generic Class" that will form the foundation of all characters. |
* Characters advance by level, gaining points for stats, skills, and edges, but few other calculations are based upon the character's level. | * Characters advance by level, gaining points for stats, skills, and edges, but few other calculations are based upon the character's level. | ||
− | * Every | + | * Every five levels a character advances in 'rank', a text-based 'Level' designation, beginning with 'Novice' and moving up to 'Legendary'. |
− | ** Example: <code>TEMPLATE:Novice|PREVAREQ:lvlRank,1 <tab> TEMPLATE:Seasoned|PREVAREQ:lvlRank,2 <tab> TEMPLATE:Veteran|PREVAREQ|lvlRank,3 <tab> TEMPLATE:Heroic|PREVAREQ:lvlRank,4 <tab> TEMPLATE:Legendary|PREVAREQ|lvlRank,5</code> | + | ** Each rank increase advances an attribute/stat of the players choice. This can be implemented with a simple variable for tracking purposes, but I'll have to find a way to get a textual representation. |
− | * Output Sheets | + | **This can be implemented as an additional derived attribute, i.e. CharacterRank, that is set equivalent to "CL/5+1" and using an "ability" that grants templates for each "Rank" at the appropriate levels. |
+ | *** Example: <code>TEMPLATE:Novice|PREVAREQ:lvlRank,1 <tab> TEMPLATE:Seasoned|PREVAREQ:lvlRank,2 <tab> TEMPLATE:Veteran|PREVAREQ|lvlRank,3 <tab> TEMPLATE:Heroic|PREVAREQ:lvlRank,4 <tab> TEMPLATE:Legendary|PREVAREQ|lvlRank,5</code> | ||
+ | * Output Sheets: | ||
+ | ** Development/Test Sheet | ||
+ | ** Character Sheet | ||
= Status = | = Status = | ||
Line 57: | Line 62: | ||
| load.lst || Complete || Untested | | load.lst || Complete || Untested | ||
|- | |- | ||
− | | miscinfo.lst || In | + | | miscinfo.lst || In Work || Still working out what MUST be included to make a valid gamemode |
|- | |- | ||
| paperInfo.lst || Complete || No Change Required | | paperInfo.lst || Complete || No Change Required | ||
Line 65: | Line 70: | ||
| sizeAdjustment.lst || In Work || Not sure how size works in Savage World | | sizeAdjustment.lst || In Work || Not sure how size works in Savage World | ||
|- | |- | ||
− | | statsandchecks.lst || In | + | | statsandchecks.lst || In Work || Lots more to do here to implement underpinnings of Traits/Hinderance/Edge system |
|} | |} | ||
Line 74: | Line 79: | ||
! align="left" | LST File !! align="left" | Status !! align="left" | Comment | ! align="left" | LST File !! align="left" | Status !! align="left" | Comment | ||
|- | |- | ||
− | | ability.lst || In | + | | ability.lst || In Work || Preliminary Hindrances, Traits (skill) and most Edges in place |
|- | |- | ||
− | | abilitycategory.lst || In | + | | abilitycategory.lst || In Work || Preliminary categories done |
|- | |- | ||
− | | class.lst || In | + | | class.lst || In Work || Lots to do, and figure out, here |
|- | |- | ||
| companionmods.lst || N/A || At least for now | | companionmods.lst || N/A || At least for now | ||
Line 96: | Line 101: | ||
| languages.lst || On Hold || Will implement after I get the core gamemode and character development working | | languages.lst || On Hold || Will implement after I get the core gamemode and character development working | ||
|- | |- | ||
− | | races.lst || In | + | | races.lst || In Work || Only one race will be developed for now. Other will be added after character development is working |
|- | |- | ||
− | | skills.lst || In | + | | skills.lst || In Work || Preliminary skills in place |
|- | |- | ||
| spells.lst || On Hold || Not sure if this file will be required or if "spells" will be implemented with the "ability" object | | spells.lst || On Hold || Not sure if this file will be required or if "spells" will be implemented with the "ability" object | ||
Line 106: | Line 111: | ||
| weaponprofs.lst || On Hold || Will implement after I get the core gamemode and character development working | | weaponprofs.lst || On Hold || Will implement after I get the core gamemode and character development working | ||
|- | |- | ||
− | | savage_worlds.pcc || In | + | | savage_worlds.pcc || In Work || Preliminary PCC completed but will update as necessary |
|} | |} | ||
Revision as of 13:55, 4 May 2009
Introduction
Hi Folks! Maredudd here!
This project is a personal project I am taking on as an unofficial effort, yet with intent, to explore PCGen's flexibility when it comes to non-d20 gaming systems. The game system I have selected to work with is Pinnacle Entertainment Group's Savage Worlds Game. I think it will be a great vehicle for proving PCGen's flexibility for supporting non-d20 systems, and PCGen has recently recieved permissions for Pinnacle Ent. Group's Savage Worlds product line.
Team
Data Monkey | Maredudd |
---|---|
OS Monkey | Vacant |
Schedule
There is currently no time frame in which this project is scheduled to be completed. In addition, PCGen's 5.16 and 6.0 developmental cycles are focusing on adding support for 4E/Pathfinder and the conversion to CDOM respectively. You can, on the other-hand, watch this space to see what kind of progress we are making. Please note though that no data sets will be provided for distribution until permission from Pinnacle has been granted.
Approach
The gameMode files and data files will be developed in parallel in support of the core rule set as described in Savage World: Explorer's Edition. The final steps in this project will be to develop LST files for at least one Savage World game setting. I currently own a copy of "The Savage World of Solomon Kane" and "Necessary Evil" and have downloaded the free "Wizards and Warriors" pdf from Pinnacles website, so it is likely that once the core rules are demonstrably working, I will start working on these three game settings.
Challenges
A few challenges exist that will need to be tackled. (Others will be added as identified.)
General Questions
- Is the character generation and maintenance effort required for Savage Worlds complex enough to warant adapting PCGen to the system?
- What new LST Tag/OS Token support is required?
- What GUI modifications are required?
Specific Challenges
- Traits include both "Attributes" and "Skills":
- Traits are identified by a dice type, not by numerical value. (e.g. d4, d6, d8, etc.) PCGen is currently capable of doing this, though how this propagates through the rest of the program has yet to be seen.
- Attributes, or stats, include the following: Strength, Vigor, Agility, Smarts and Spirit. Derived attributes include Parry, Charisma and Toughness.
- Skills will be implemented with a combination of the "skill" object to track the RANK and the "ability" object to handle advancement.
- The cost of a Skill Rank increase depends upon the value of the attribute (stat) to which that skill is tied. (e.g. Increasing the rank of the "Fighting" skill from d6 to d8 costs 1 point if the "Agility" attribute is d8 or greater but costs two points if it is d6 or less.)
- This is being implemented as a pair of "Trait Advances" (TA) with a PREVAR looking at the skill "RANK" and the relevant attribute. One TA will cost one point, the other will cost two.
- Hinderances and Edges (equivalent to feats/abilities) should be able to be implemented via PCGen's ability object.
- Savage Worlds is a classless system, at least the core is, so I will be creating a "Generic Class" that will form the foundation of all characters.
- Characters advance by level, gaining points for stats, skills, and edges, but few other calculations are based upon the character's level.
- Every five levels a character advances in 'rank', a text-based 'Level' designation, beginning with 'Novice' and moving up to 'Legendary'.
- Each rank increase advances an attribute/stat of the players choice. This can be implemented with a simple variable for tracking purposes, but I'll have to find a way to get a textual representation.
- This can be implemented as an additional derived attribute, i.e. CharacterRank, that is set equivalent to "CL/5+1" and using an "ability" that grants templates for each "Rank" at the appropriate levels.
- Example:
TEMPLATE:Novice|PREVAREQ:lvlRank,1 <tab> TEMPLATE:Seasoned|PREVAREQ:lvlRank,2 <tab> TEMPLATE:Veteran|PREVAREQ|lvlRank,3 <tab> TEMPLATE:Heroic|PREVAREQ:lvlRank,4 <tab> TEMPLATE:Legendary|PREVAREQ|lvlRank,5
- Example:
- Output Sheets:
- Development/Test Sheet
- Character Sheet
Status
I have the gameMode files started but not tested yet and am starting on the Skills and Abilities LST files.
LST File | Status | Comment |
---|---|---|
equipmentslots.lst | Not sure what will go here as Savage Worlds doesn't use equipment slots as an element of the rules | |
level.lst | Complete | Untested |
load.lst | Complete | Untested |
miscinfo.lst | In Work | Still working out what MUST be included to make a valid gamemode |
paperInfo.lst | Complete | No Change Required |
pointbuymethod.lst | Complete | Untested |
sizeAdjustment.lst | In Work | Not sure how size works in Savage World |
statsandchecks.lst | In Work | Lots more to do here to implement underpinnings of Traits/Hinderance/Edge system |
LST File | Status | Comment |
---|---|---|
ability.lst | In Work | Preliminary Hindrances, Traits (skill) and most Edges in place |
abilitycategory.lst | In Work | Preliminary categories done |
class.lst | In Work | Lots to do, and figure out, here |
companionmods.lst | N/A | At least for now |
deities.lst | N/A | At least for now |
domains.lst | N/A | At least for now |
equipment.lst | On Hold | Will implement after I get the core gamemode and character development working |
equipmods.lst | On Hold | Will implement after I get the core gamemode and character development working |
feats.lst | N/A | All class features are being developed using the "ability" object |
kits.lst | On Hold | Will implement after I get the core gamemode and character development working |
languages.lst | On Hold | Will implement after I get the core gamemode and character development working |
races.lst | In Work | Only one race will be developed for now. Other will be added after character development is working |
skills.lst | In Work | Preliminary skills in place |
spells.lst | On Hold | Not sure if this file will be required or if "spells" will be implemented with the "ability" object |
templates.lst | On Hold | Will implement after I get the core gamemode and character development working |
weaponprofs.lst | On Hold | Will implement after I get the core gamemode and character development working |
savage_worlds.pcc | In Work | Preliminary PCC completed but will update as necessary |
Roadmap
This is the collection of trackers opened in support of this effort.
Development Specs
Link | Title | Status |
---|---|---|
TBD |
Feature Requests
Link | Title | Status |
---|---|---|
1328300 | Variables that can hold text | Open |