Today I started concerning myself with an issue that has raised quite a lot of discussion, anger, disappointment and a mix of other reactions: point-based character generation and the effects of the background stories on final attributes. There is a ticket for the issue and there were many discussions and concerns both on the official ADOM forums and the Steam forums (and maybe other places). So it's time to improve this.
My current line of thinking regarding improvements to point-based character generation are the following:
- Background stories should only serve to modify the pool of points available to you (thus they are generated but do not affect your attribute scores directly).
- Point-based character generation should not become a random game itself, e.g. the bonus points from the background story pool probably should be fixed depending on your gender/race/class combination. Otherwise point-based character generation would become a kind of parody in itself.
As the effects of background stories are random (even for a specific story segment in some cases) and there is a huge variety of stories (which partially also depend on race or class) I wrote some code to analyze the effects of backgrounds on your character and determine the following data:
- What is the possible range of attribute modifiers due to background stories?
- What is the effect on bonus build points that should be provided for point-based character generation? (my idea here is to derive the bonus points based on attribute costs and average attribute modifier due to the background stories of given gender-race-class-combinations)
- What is the effect on permissible attribute minimum and maximum scores? (as during character generation the modifiers from background also modify those limits; but: if you do not pass your minimum/maximum due to race/class there are no effects - so it's not quite straightforward)
Due to the mentioned random effect my analysis code simply runs through all combinations of gender, race and class and then rolls a certain number x of random characters, totalling the effects on attribute scores due to background stories (for the simulation all attributes start at the human average of 10). The current standard costs of attribute points (5 for strength, 4 for learning, 3 for willpower, 4 for dexterity, 4 for toughness, 2 for charisma, 1 for appearance, 4 for mana and 3 for perception) were assumed.
Based on the above assumptions my analysis yielded the following results:
Bonus points for point-based character generation
If background stories do not provide attribute modifiers during point-based character generation, the following effects on the number of replacement bonus points were observed:
- The global average number of bonus points for attribute generation (not attribute points!) is 10.
- Bonus points for point-based attribute generation run between 0 (zero) and 28, depending on your gender-race-class-combination.
- It's the barbarians which are very unbalanced regarding background stories - for most races they would get the 28 bonus points.
- Mist elves are worst of as far as background stories go - on the average they would receive 0 (zero) bonus points.
This is a rather interesting text as I ran many more rolls than most players probably ever will have in their lifetime (10.000). As background stories are strongly random, more rolls tend to expose the more extreme cases.
Thus here we go with the global attribute scores (across all gender-race-class-combinations) after 10.000 rolls for each combination (the results show minimum, maximum and average):
With but 1000 rolls the ranges look like this (in my random sample):
(interestingly the average number of build points in this run was 12 - thanks, RNG ;-) )
With but 100 rolls for each combination you get the following ranges (in my random sample):
And finally with but 10 rolls for each combination we are here:
(surprisingly female ratling barbarians managed to score a whopping 37 bonus points in this simulation)
It is obvious that point-based character generation never will (or even should try to) replace the extreme effects of good or bad luck with randomly rolled background stories. So whoever complains that he got better attributes with random attribute generation than with point-based generation will be out of luck.
So what could be done to improve point-based character generation? I see many options:
- Adjust attribute minimums and maximums by the results from above simulation to allow for a much wider range of attribute scores. I definitely lean towards this. I probably would take the modifiers from a run of 100 or 1000 simulations in order to flatten out the extreme results (randomness should remain good for the occasional wow effect).
- Hand out the global average of bonus points (10) and be done. That's not much more to play with but it would represent average reality.
- Hand out double the global average of bonus points (20). This would allow for more variance and is a strikingly simple approach.
- Hand out the average amount of bonus points determined for each race-class-combination. This would reflect the realities of the current game (on average).
- Hand out double that amount (a combination of realistic approximation and heroic gaming).
- Do something totally different.
Now it's time for your input - let's hear your thoughts in the light of this analysis :-) !