What I meant was that generally the Race structure is set up by the GM at the start of the campaign, and then doesn't change much for the run of the game. The players don't usually choose much other than the Race. Yes, there are some limitations for what we can offer in order to remain flexible enough to support all of the different variations of Savage Worlds. The other game systems do not have to deal with this. They don't have Setting files that completely re-write the rules every other day.
Now, Shaintar is an edge case. If I recall correctly (I've not played it), it makes some really serious changes to the core rules that would take a cloned system to support. I looked at trying to do a file for that at one point. But what you describe for the different variations on humans would almost require separate Race records. I don't think I'd want to try to cram them all into a single record.
That being said, we do offer a couple of mechanisms to handle this kind of thing, Factions and Groups. They're tailor-made for just that kind of thing. Only catch is that they usually get used early and there's just the two. But I've seen some really creative use with multiple sets. You could use one for sub-race and populate it accordingly by Race.
You mention the way other game systems in HeroLab are configured. Out of curiosity, which system are you seeing a player-level Race tab in? Pathfinder uses a single drop-down list for Race, if memory serves. Ours is at least always visible, not hidden on a background tab.
Ok.. so I again want to stress that while I will be using some of the Shaintar edges, weapons and stuff, I will not be using the base setting material as I already have a pre-existing world. My example for that was purely as an example.
I will agree that on the simple cases, Factions and Groups are a possible use for the sub race, but as you mentioned, they are the only two and other things sometimes take up those slots. For my example in my personal campaign, the Faction is a deity list and this is important for me to limit powers.
As for the other game systems, I have not tried Pathfinder since purchasing HL 3-4 years ago(used it for a one shot Pathfinder Society scenario(beginners box, not the full game). I will go check it out shortly though. The example I refer to which as a very detailed race tab would be D&D 4E.
Side Note: I just loaded PF and someone PLEASE tell me how to change and get rid of the default aweful blue background.. the light tan one on Pathfinder is FAR, FAR, FAR better. But I digress!
So, even in Pathfinder, Race while not on a separate tab, it has multiple sub features. Open up the editor and check the race subtab. It has a massive number of properties. A perfect example of the type of thing which would be nice to have available.
Choose Half-Orc.. there is a dropdown for +2 Ability to one Ability Score.
Choose Gnome... there is a dropdown for "Obsessive"(whatever that is), but in this case there is no value
Choose Human.. there is a dropdown for +2 Ability to one Ability Score.
Now check out D&D 4E's race:
When you choose a race, there is a dropdown for +2 to Ability AND that choice of which ability is PER RACE. So Dwarves get Str or Wis, Elves get Int or Wis, etc
If you choose DragonBorn(one of the creatures I am trying to add to my SW campaign BTW), you get:
the choice to +2 ability for either Str or Con AND choice of Dragonborn racial power(I am not offering this choice FTR), either Fear or DragonBreath(this is the one I am using). If you choose Fear, you are done. But if you choose Dragonbreath, you then have ANOTHER choice(dropdown) for type which is Str, Con, or Dex. There is also ANOTHER choice for Breath Weapon type which defaults to fire, but has the choice of fire, elec, acid, cold, etc.
Drow have a drop down for Darkfire(choice of 3 possible ability scores).
Now, I don't know how much overlap there is in the backed fields which store this. I suspect that the choice of DragonBreath ability score is the same backed field used by the Drow Darkfire field with different possible lists loaded at runtime for which are valid abilities to pick to link them.
This is why I am a bit confused as I would think that all of those things are done 100% within the xml coding with no hard coded stuff in the Herolab runtime to control what is and is not available. If that were the case, Herolab would be much less useful in adding new game systems dynamically. But, heck, I don't know the entire system inside and out. The point really being that those are examples of the types of customization I would like eventually built into the default SW buildout for those who need a bit of extra customization either because one setting needs it OR because their home campaign needs it.
Take a look at the editor for the D&D 4E Dragonborn(copy Race). There is a field named Ability Bonus Choices. Click edit. There is then a edit box with a generic thing named "fRPlusAb" which has some type of linkage to all 6 abilities and then the user could click edit and add/remove/change the checkboxes for their race as needed in this case.
Then on the Race Features tab(our analogy would be Racial Properties), if you copy the Dragon Breath one, you will see some fields for "List of Text Items" and "Initial Item"(I assume there is a script somewhere which makes this the default choice).
Here is my thought, I would wonder if perhaps since Savage Worlds was added really early on in HL's life cycle, we perhaps are living within a box which no longer needs to be as small as it currently is. Perhaps there were limitations at the time the initial data files were built which no longer exists and other game data files utilized those new features while the SW datafiles stayed static.
This reminds me of the this old story:
A little girl was watching her mother prepare the ham for Thanksgiving dinner. She noticed that her mother cut off a portion of the end of the ham before putting it in the pan.
“Why do you cut that part off, Mama?” the little girl asked.
“Well, that’s a good question. This is the way my mother taught me to do it, I guess. She always did it this way. Ask her,” her mother replied.
So the little girl went to the grandmother. “Grandma,” she said. “Why do you cut off the end of the ham before you bake it?”
“Well, dear,” she said. “That is the way I saw my mother do it time after time. Ask your great-grandmother.”
So the little girl dutifully goes to ask her great-grandmother. With a little laugh her great-grandmother replies, “Oh, that’s easy. It wouldn’t fit in my pan.”
Sometimes we do things out of habit or tradition, not stopping to think if it makes sense. Most of us pick up many habits from our parents, some good and some bad. Every now and then it might be a good idea to look at the way we do things to see if it really makes sense. And if the answer is no, then we need to give ourselves permission to make changes. We need to teach our children to avoid doing something “just because it is what everybody is doing,” but to question if it is the right thing to do.
Now, I don't know for sure what is an is not possible, but it seems to me that having to have LW make code changes for each game system to support such things would be a very bad way for them to code the application which is why I think that this is NOT a limitation of the software, but of the way the data files were developed and then maintained over time. Ie, are we limited because of the HL code or are we limiting because we don't know how?
Hopefully, you don't fine my response confrontational, or accusatory, or just plain rude as that's not the way I meant it, I am really trying to understand why(other than the potentially large amount of time required which I understand) we could not benefit from some of the other games more complex configuration abilities.