Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Variants

Reply
 
Thread Tools Display Modes
Old May 22, 2007, 22:51   #1
Bandobras
Knight
 
Join Date: Apr 2007
Posts: 726
Bandobras is on a distinguished road
[Un] Race and class balancing

As you all know, UnAngband has a multitude of races and classes. They are not very well game-tested, so their stats are not well-balanced. I'd like to discuss some issues.

In particular, after recent changes, Warriors in CVS have lower hitpoints than Artisans. Also, sums listed in comments for some races are no longer correct and they (and possibly some classes) are probably stat-wise unbalanced, and stats are very important in Un, because you cannot just max them all. Moreover, the very negative CON and SIZ for some races/classes is removed and the effects of CON/SIZ is changed, disrupting the delicate (Un)balance of stats, e.g. probably making raising both CON and SIZ equally wise strategy for all races and classes; also probably making it wise for all races and classes to put starting stat points into CON and SIZ, while before for some combos the points would have no immediate effect whatsoever; probably making the very high CON and SIZ of some races much more valuable and increases at the start more beneficial for them, because the stats are now far away from the regions where HP gains are small, etc.

The "+ siz_bonus" line in the HP calculation seems strange, because then it is no longer the case that initial HP are equal to Hit Dice. I'm also not sure if doubling CON effect on HP with respect to SIZ is a good idea, because then CON is better than SIZ for almost all classes. This is not bad in itself, but thinking about the game seems to be much easier if the stats are roughly equivalent in usefulness averaged over all classes. Anyway, this decision requires heavy rebalancing in many places (e.g. SIZ item bonuses should be valued less than CON bonuses, CON table for HP bonus should be scaled down and SIZ table scaled up, etc.). The system before the last CVS changes was designed to mimic the old HP values --- even if it put both base HP and bonus HP under the same name as Hit Dice. The current system, after the recent CVS changes seems to result in much higher HP at high levels than before new races and SIZ were introduced.

All this said, the system really needs rebalancing (preferably after play-testing) so it's nice it's changing, even if randomly. Eventually it will stabilize at something interesting (even if different from the old Un) for sure.
Bandobras is offline   Reply With Quote
Old May 23, 2007, 09:57   #2
andrewdoull
Unangband maintainer
 
andrewdoull's Avatar
 
Join Date: Apr 2007
Location: Sydney, Australia
Age: 48
Posts: 872
andrewdoull is on a distinguished road
Quote:
Originally Posted by Bandobras View Post
As you all know, UnAngband has a multitude of races and classes. They are not very well game-tested, so their stats are not well-balanced. I'd like to discuss some issues.
You'd mean you'd like to discuss the recent changes I made in CVS

Quote:
In particular, after recent changes, Warriors in CVS have lower hitpoints than Artisans. Also, sums listed in comments for some races are no longer correct and they (and possibly some classes) are probably stat-wise unbalanced, and stats are very important in Un, because you cannot just max them all. Moreover, the very negative CON and SIZ for some races/classes is removed and the effects of CON/SIZ is changed, disrupting the delicate (Un)balance of stats,
The main reason I made these changes to start with is that it felt too hard with many race / class combinations to get a character with semi-adequate starting stats. I haven't gone to the same lengths as you did to balance them out however.

Quote:
e.g. probably making raising both CON and SIZ equally wise strategy for all races and classes; also probably making it wise for all races and classes to put starting stat points into CON and SIZ, while before for some combos the points would have no immediate effect whatsoever; probably making the very high CON and SIZ of some races much more valuable and increases at the start more beneficial for them, because the stats are now far away from the regions where HP gains are small, etc.
Please note that CON now gives extra mana and is therefore more worthwhile than SIZ for casters.

Quote:
The "+ siz_bonus" line in the HP calculation seems strange, because then it is no longer the case that initial HP are equal to Hit Dice. I'm also not sure if doubling CON effect on HP with respect to SIZ is a good idea, because then CON is better than SIZ for almost all classes.
But that's how hit dice used to work. Because you'd get maximum hit points from your first level, then an average of (max+1)/2 per level thereafter, CON was less effective than hit dice to start with, but immediately the CON bonus comes more effective than overall hit dice with each level gain.

I believe I've actually halved the effects of SIZ, rather than doubling CON. I could be wrong here.

If we apply the 'SIZ' modifies hit dice approach, than size should provide (approximately) twice as many starting hit points, than the bonus gained every level thereafter.

Note that I've also modified the SIZ table so that the bonus hit points is approximately twice the old values.

You're correct that I should change the 'displayed hit dice'.

I'm actually tempted to go even further and have SIZ provide a constant HP modifier, rather than one that is scaled by level... that may be too radical.

Quote:
This is not bad in itself, but thinking about the game seems to be much easier if the stats are roughly equivalent in usefulness averaged over all classes.
But they're not. Thieves and Warriors can increase more combat stats, because they don't have to worry about increasing any spell related stats. We've made the choice between which stats to choose to increase harder (and hopefully more interesting), but they don't have the same incentive to increase e.g. Int and Wis together, that the majority of spell casters and semi-spell casters have.

Quote:
Anyway, this decision requires heavy rebalancing in many places (e.g. SIZ item bonuses should be valued less than CON bonuses, CON table for HP bonus should be scaled down and SIZ table scaled up, etc.).
I've already scaled the SIZ bonuses up to compensate.

Quote:
The system before the last CVS changes was designed to mimic the old HP values --- even if it put both base HP and bonus HP under the same name as Hit Dice.
I believe it missed the distinction I'm making between SIZ and CON.

Quote:
The current system, after the recent CVS changes seems to result in much higher HP at high levels than before new races and SIZ were introduced.

All this said, the system really needs rebalancing (preferably after play-testing) so it's nice it's changing, even if randomly. Eventually it will stabilize at something interesting (even if different from the old Un) for sure.

Andrew
__________________
The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
In UnAngband, the level dives you.
ASCII Dreams: http://roguelikedeveloper.blogspot.com
Unangband: http://unangband.blogspot.com
andrewdoull is offline   Reply With Quote
Old May 23, 2007, 23:19   #3
Bandobras
Knight
 
Join Date: Apr 2007
Posts: 726
Bandobras is on a distinguished road
Quote:
Originally Posted by andrewdoull View Post
You'd mean you'd like to discuss the recent changes I made in CVS
You can't be fooled.

Quote:
The main reason I made these changes to start with is that it felt too hard with many race / class combinations to get a character with semi-adequate starting stats.
This is a totally valid reason. However, you like warriors --- perhaps you tried to melee with the combos with minimal HP and STR? Perhaps some combos could be augmented with some initial buff scrolls, wands, spells, throwing weapons, etc. instead of stats? Perhaps the effects of encumberance should be lowered to allow combos that do not rise STR ever? Etc. But of course, at the end, the stats have to be balanced, too, as they are not tested adequately, so obviously they cannot be balanced right now...

What I was striving to obtain were viable strategies where some of the stats are never raised and other raised only till 18/50. Ideally, at least one sensible combo for each stat or even each pair of stats. I think it makes the character development more fun, beyond the stereotypical "Mages don't need DEX, Priests don't need INT". Now you can have many kinds of Priests, depending on which stats they neglect. Of course generalists should also be a viable strategy, and I'm quite sure they already are, for all combos.

Quote:
I believe I've actually halved the effects of SIZ, rather than doubling CON. I could be wrong here.
Oh, indeed. This means my conjecture that end-game HP are now higher were wrong --- they are actually lower and not by much. But then the displayed Hit Dice (p_ptr->hitdie) is wrong (p_ptr->hitdie is only used for display, BTW!): it should be 10 + con_bonus + siz_bonus/2. I'm still worried CON is overpowered now, even more after the mana tweak. Perhaps halve the CON bonus and leave SIZ bonus intact? Or rather double SIZ bonus now that you lowered the values in script files, so that starting hit die with all initial body stats at 10 is exactly as you specified in your draft of the new races (my system had this property, though you removed the birth-screen hit die display, so it's hard to see now).

Quote:
If we apply the 'SIZ' modifies hit dice approach, than size should provide (approximately) twice as many starting hit points, than the bonus gained every level thereafter.
If I remember correctly, the fact that the starting HP are equal to hit dice, not to, on average, half this value is assured in the procedure that calculates p_ptr->player_hp. So no need to hack this. Even if it's buggy, just correct p_ptr->player_hp.

Quote:
Note that I've also modified the SIZ table so that the bonus hit points is approximately twice the old values.
Sorry, I missed that. But, ..., ugh, why halve bonus and then double the table? It seems it evens out and so has no visible game-play effect, whatsoever, even in the UI. But at least SIZ is not made weaker than CON this way, which is good. Hmm, perhaps you think HP is calculated based on p_ptr->hitdie? It is not --- only p_ptr->player_hp (which is the same for every combo) and SIZ and CON bonuses are used, see xtra1.c.

Quote:
I'm actually tempted to go even further and have SIZ provide a constant HP modifier, rather than one that is scaled by level... that may be too radical.
Go ahead. Your wild ideas are the best. However the UI cost is big --- you no longer have the single Hit Die factor that is uniformly modified by SIZ and CON and that generates HP as in every Angband variant (but SIZ and CON have not other effect on HP, which is simpler than in variants).

Quote:
But they're not. Thieves and Warriors can increase more combat stats, because they don't have to worry about increasing any spell related stats.
This is why I said "averaged over all classes" meaning that the values of each stat summed for all classes should be similar. This makes balancing races easier, at least if we want to make every race reasonably good at, say, half of all classes. (Which is of course not true, since we obviously have generalists and specialists among races, but well, whatever. ;>)

Quote:
I believe it missed the distinction I'm making between SIZ and CON.
Either you eventually make no distinction (assuming the UI bugs are ironed out), or most probably, I'm missing something.
Bandobras is offline   Reply With Quote
Old May 25, 2007, 12:36   #4
andrewdoull
Unangband maintainer
 
andrewdoull's Avatar
 
Join Date: Apr 2007
Location: Sydney, Australia
Age: 48
Posts: 872
andrewdoull is on a distinguished road
Quote:
Originally Posted by Bandobras View Post
This is a totally valid reason. However, you like warriors --- perhaps you tried to melee with the combos with minimal HP and STR?
I actually came to this conclusion after playing priests. It seemed pretty impossible to get Speed >= 0 and one useful starting stat (either Int or Wis). In general, I think the stat bonuses 'looked' too high, and I suspect it was because a hit die 7 class or race had a minus 6 to SIZ, as opposed to a -3. And similiarly the hit die 13 classes and races had a SIZ bonus that caused them to have too much of a speed penalty.

Quote:
What I was striving to obtain were viable strategies where some of the stats are never raised and other raised only till 18/50. Ideally, at least one sensible combo for each stat or even each pair of stats. I think it makes the character development more fun, beyond the stereotypical "Mages don't need DEX, Priests don't need INT". Now you can have many kinds of Priests, depending on which stats they neglect. Of course generalists should also be a viable strategy, and I'm quite sure they already are, for all combos.
We agree here.

Quote:
Oh, indeed. This means my conjecture that end-game HP are now higher were wrong --- they are actually lower and not by much. But then the displayed Hit Dice (p_ptr->hitdie) is wrong (p_ptr->hitdie is only used for display, BTW!): it should be 10 + con_bonus + siz_bonus/2.
Hit dice should be 10 + (2 * con_bonus) + size bonus. In fact, since its a display only attribute, we should really just make it 10 + size bonus since that will make Angband players more comfortable.

This equates to Angband, where hit points ~= (hit dice + 1)/2 + con_bonus, except at first level where hit points = hit dice + con_bonus.

Quote:
I'm still worried CON is overpowered now, even more after the mana tweak.
You're probably right, but I'm too much of a fan of the mana reserve system now (Can you say Raistlin?).

Quote:
Sorry, I missed that. But, ..., ugh, why halve bonus and then double the table? It seems it evens out and so has no visible game-play effect, whatsoever, even in the UI. But at least SIZ is not made weaker than CON this way, which is good. Hmm, perhaps you think HP is calculated based on p_ptr->hitdie? It is not --- only p_ptr->player_hp (which is the same for every combo) and SIZ and CON bonuses are used, see xtra1.c.
I only halve the bonus for levels after level 1. So you still get the full bonus at first level based on size.

Quote:
Go ahead. Your wild ideas are the best. However the UI cost is big --- you no longer have the single Hit Die factor that is uniformly modified by SIZ and CON and that generates HP as in every Angband variant (but SIZ and CON have not other effect on HP, which is simpler than in variants).
Andrew
__________________
The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
In UnAngband, the level dives you.
ASCII Dreams: http://roguelikedeveloper.blogspot.com
Unangband: http://unangband.blogspot.com
andrewdoull is offline   Reply With Quote
Old June 4, 2007, 22:56   #5
Bandobras
Knight
 
Join Date: Apr 2007
Posts: 726
Bandobras is on a distinguished road
I've looked at the code again. You've added a comment to tables.c to byte adj_siz_die:

Code:
This is the total bonus at 1st level, plus every 2 levels thereafter.
I claim, this comment was true before your changes (after CL 1 only on average), but is true no longer.

In birth.c you see
Code:
p_ptr->player_hp[0]
is always 10, so, assuming the CON bonus is zero,
Code:
p_ptr->player_hp[p_ptr->lev - 1] * bonus / 10
is in this case exactly the value from the adj_siz_die table. Similarly for levels after CL 1.

After your changes, the comment would be true for the CON bonus (as it was also before the changes). However, it is no longer true for SIZ, since you exactly halved the value (and added a spurious constant factor, which breaks things even more).

If you had trouble understanding my enigmatic hacks, why not just ask (e.g. through the bug system, or commit messages), as I did when I was learning your code...
Bandobras is offline   Reply With Quote
Old June 5, 2007, 19:44   #6
andrewdoull
Unangband maintainer
 
andrewdoull's Avatar
 
Join Date: Apr 2007
Location: Sydney, Australia
Age: 48
Posts: 872
andrewdoull is on a distinguished road
Quote:
Originally Posted by Bandobras View Post
I've looked at the code again. You've added a comment to tables.c to byte adj_siz_die:

Code:
This is the total bonus at 1st level, plus every 2 levels thereafter.
I claim, this comment was true before your changes (after CL 1 only on average), but is true no longer.

In birth.c you see
Code:
p_ptr->player_hp[0]
is always 10, so, assuming the CON bonus is zero,
Code:
p_ptr->player_hp[p_ptr->lev - 1] * bonus / 10
is in this case exactly the value from the adj_siz_die table. Similarly for levels after CL 1.

After your changes, the comment would be true for the CON bonus (as it was also before the changes). However, it is no longer true for SIZ, since you exactly halved the value (and added a spurious constant factor, which breaks things even more).

If you had trouble understanding my enigmatic hacks, why not just ask (e.g. through the bug system, or commit messages), as I did when I was learning your code...
Point taken. I'll have another go at patching this later in the week, and see if you're happy/ier with the changes. I've just rolled the repository over to svn, and there's a 6 hour delay in updating some permissions via a cron job on berlios, so won't be able to fix this tonight.

Andrew
__________________
The Roflwtfzomgbbq Quylthulg summons L33t Paladins -more-
In UnAngband, the level dives you.
ASCII Dreams: http://roguelikedeveloper.blogspot.com
Unangband: http://unangband.blogspot.com
andrewdoull is offline   Reply With Quote
Old June 5, 2007, 23:29   #7
Bandobras
Knight
 
Join Date: Apr 2007
Posts: 726
Bandobras is on a distinguished road
*bows deeply*

P.S. Hehe, I've just stolen the first SVN commit in the history UnAngband. SVN rulez, and even the CVS->SVN export seems to be quite good. E.g. at http://svn.berlios.de/wsvn/unangband/?rev=1200&sc=1
you can see the whole 4-file commit changing HP stuff, this thread is about. Or try this one:
Code:
svn merge -r 1200:1199 http://svn.berlios.de/svnroot/repos/unangband/trunk/unangband; svn ci
Bandobras is offline   Reply With Quote
Old August 27, 2007, 22:47   #8
Bandobras
Knight
 
Join Date: Apr 2007
Posts: 726
Bandobras is on a distinguished road
I see you've not reverted to my original SIZ/CON mechanics, but rather moved back closer to the standard V way of handling CON and you consider SIZ just a total replacement of the hit dice. OK, are you happy with that direction? If so, I can live with that, but I can try to repair and tweak the new system, so that it does not crash, is simpler to understand and show in the UI and is better balanced (both in the way it mimics V and in our extra goals, such as encouraging players to neglect some stats). Is it OK, or do you perhaps want to tweak it yourself?

Then we can start arguing about the stats of particular races and classes. In particular, it may be that I've made Hobbits and Shadow Fairies too similar, at least in the early game. Your changes equated them even more, IIRC. But then, boosting Shadow Fairies' archery could make them too similar to Wood Elves. Perhaps change their cool flag to invisibility flag good enough to flee anything in the first 5 levels, including uniques (and later on still giving some edge)? Or something...
Bandobras is offline   Reply With Quote
Old August 27, 2007, 23:01   #9
GCD
Rookie
 
Join Date: Aug 2007
Posts: 7
GCD is on a distinguished road
I think the whole idea of size being a stat that improves with levels is kind of strange. I would suggest keeping size as a stat that's mostly dependent on the race you start with. There could be some variation within the race. Size could then be modified by equipment or by potions (that would make you temporarily bigger or smaller) but would otherwise stay unchanged throughout the game.
GCD is offline   Reply With Quote
Old August 28, 2007, 09:01   #10
Bandobras
Knight
 
Join Date: Apr 2007
Posts: 726
Bandobras is on a distinguished road
Quote:
Originally Posted by GCD View Post
I think the whole idea of size being a stat that improves with levels is kind of strange. I would suggest keeping size as a stat that's mostly dependent on the race you start with. There could be some variation within the race.
Weight is race-dependent and with some minor variations. Size is only initially race-dependent. I you talk about realism, I think if in this world a charactere can get 4 times more intelligent or strong, he may as well quadruple his muscles' weigh. Think about it as growing up, superhero powers, drinking too much magical coca-cola, or anything you like. Perhaps characters should age quicker (now they do slowly, IIRC), if growing up is a plausible explanation.

If you have game-play objections, however, I'm all ears.

P.S. I think we have a problem with Nexus swapping stats in Un (if it's not disabled already). It's basically a disaster or an exploit rendering races moot. The reason is that you cannot max stats in Un and you don't have any "maximize" mode, so Nexus swaps forever everything related to stats, unlike in V. I guess nexus could have it's effect timed, perhaps with the same timer as the long-lasting stat drains in Un.

Last edited by Bandobras; August 28, 2007 at 09:07.
Bandobras is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 10:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.