Detailed description for Fighting skill


Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

Dungeon Master

Posts: 3618

Joined: Thursday, 23rd December 2010, 12:43

Post Thursday, 12th September 2013, 12:47

Re: Detailed description for Fighting skill

I think this discussion is running out of steam. Please take into consideration that players of all levels do use the Fighting skill, so it seems to work in some way. We are not talking about a fundamentally broken feature.

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Thursday, 12th September 2013, 14:40

Re: Detailed description for Fighting skill

galehar wrote:The subject is about the fighting skill and how the multiplicative nature of the HP bonus is not obvious. I still think the best fix is to improve the skill description.


As OP I can't agree. I knew about multiplicative nature of the HP bonus though it is not obvious indeed. It wasn't obvious that training 4 levels of fighting grants 2hp like it isn't obvious that training about 10 levels of Dodging does not do anything for a character in crystal plate armour.

Lair Larrikin

Posts: 27

Joined: Wednesday, 28th August 2013, 18:35

Post Thursday, 12th September 2013, 16:43

Re: Detailed description for Fighting skill

Why not have fighting give you a 2% boost to max HP per skill level. It could say this in the description. Then everyone would know exactly what it does and the formula is easy enough that you wouldn't need an excel sheet to get to the bottom of it. The description could also say "and at your current skill level adds x to your max HP."

Blades Runner

Posts: 546

Joined: Saturday, 7th May 2011, 02:43

Post Thursday, 12th September 2013, 23:10

Re: Detailed description for Fighting skill

^ You don't need an excel sheet as-is, as I pointed out in my post. The equation is linear, with a ~2.2% gain every level. Fighting=8? 17.6% more HP. Fighting=13? 28.6% more HP. I'm doing these calculations in my head, which I am not even that good at. at fighting=27 you get 59.78% HP boost; using the 2.2 figure you would have calculated this as 59.4% boost. Surely that's accurate enough.

Personally I will maintain that :

a) Training some Fighting is always worthwhile, for every single character, no exceptions. A flat percentage increase in HP equates to dying less, even when 15% of your HP only amounts to 4.
b) You should think about -when- you will train Fighting, based on your base HP and XL and your -actual level of need to be less squishy-.
c) There's no need to give any numbers; all we need to say is it's percentage-based. Naturally this has the implication that gains in HP from fighting will be proportional to the base (pre-Fighting) HP; Troll Berserkers get a large number of extra HP out of it, Felid Wizards get very few.

Lair Larrikin

Posts: 27

Joined: Wednesday, 28th August 2013, 18:35

Post Friday, 13th September 2013, 01:23

Re: Detailed description for Fighting skill

((XP level × Fighting) / 8) x Species Modifier has to be the most complicated way of saying 2.2% per skill level ever. No wonder people have such a hard time judging the effect, even after looking at the wiki. I understand that flooding players with numbers can lead to confusion, but obfuscating the effects of even the most basic mechanics can lead to confusion as well.

Crawl is a game with hundreds of knobs you can turn while building your character, but it is implied that you should intuitively know which knobs are correct, or even significant for your build, when this is not always the case. Without some way of comparing two decisions, there is no way to know which choice is a better one.

Blades Runner

Posts: 546

Joined: Saturday, 7th May 2011, 02:43

Post Friday, 13th September 2013, 01:57

Re: Detailed description for Fighting skill

That way is known as Wizard Mode, and it is vastly underused.

If you think you need to know these equations (hint: you don't), then you'd better be prepared to deal with complex integer arithmetic. DCSS calculates everything important using integers -- "2.2" isn't a thing.
Last edited by savageorange on Friday, 13th September 2013, 03:14, edited 1 time in total.

Mines Malingerer

Posts: 50

Joined: Tuesday, 27th August 2013, 17:08

Post Friday, 13th September 2013, 02:56

Re: Detailed description for Fighting skill

Out of curiousity, what would be the effect of adding a value to HP in addition to the percent? Something as simple as 1 more HP per level of fighting (or every other level, etc) would help to plainly show an increase when you level up, help players in the early game, and have minimal impact in the late game. Percentage increase might have to fractionally drop to put the small overall HP boost back down to the current levels, but this small calculation change seems like it would indirectly solves a lot of complaints.

Lair Larrikin

Posts: 27

Joined: Wednesday, 28th August 2013, 18:35

Post Friday, 13th September 2013, 05:46

Re: Detailed description for Fighting skill

savageorange wrote:If you think you need to know these equations (hint: you don't), then you'd better be prepared to deal with complex integer arithmetic. DCSS calculates everything important using integers -- "2.2" isn't a thing.


First you say you don't need a spreadsheet to do the math, its a linear 2.2% increase and now you say you need to perform complex integer arithmetic to compute the same function. Which one is it savageorange? You can't have your proverbial cake and eat it too. Obfuscating the numbers in game is one thing, but trying to discourage investigation of game mechanics on the forum is another.

As far as wizmode is concerned, I suppose the idea is that every time you reach a decision tree in your character build, you are supposed to save your game, fire up a game mode that is not frequently used by the crawling public, which is not documented in game on the list of commands, which has over 50 commands contained within it, recreate your character, buff the appropriate stats, and compare the perceived differences to your original character. It seems like it would be a lot simpler just to tell the player what certain things do in simple terms in the first place.

For this message the author BrewFall has received thanks:
Sandman25

Blades Runner

Posts: 546

Joined: Saturday, 7th May 2011, 02:43

Post Friday, 13th September 2013, 06:07

Re: Detailed description for Fighting skill

^ There are two kinds of people: Those who have good reading comprehension, and those who don't.

Lair Larrikin

Posts: 27

Joined: Wednesday, 28th August 2013, 18:35

Post Friday, 13th September 2013, 08:03

Re: Detailed description for Fighting skill

There are also people who, lacking good arguments, insult the person they were speaking to. I just want to say that I do enjoy crawl, and I appreciate all of the work the devteam does for it, despite slightly disagreeing with some of the design philosophy that informs the mechanics.

Blades Runner

Posts: 546

Joined: Saturday, 7th May 2011, 02:43

Post Friday, 13th September 2013, 08:18

Re: Detailed description for Fighting skill

^ That's a very self-aware statement to make :)

I don't believe you misinterpreted my original post intentionally; But I feel obligated to disapprove of distorting the facts, no matter how accidental it is.

its a linear 2.2% increase

This is your misinterpretation of my statement.

My actual statement
The equation is linear, with a ~2.2% gain every level


The linear equation it is describing:
((XP level × Fighting) / 8) x Species Modifier


Your misinterpretation of my statement:
you say you need to perform complex integer arithmetic to compute the same function


My other actual statement
If you think you need to know these equations (hint: you don't), then you'd better be prepared to deal with complex integer arithmetic.


.. and everybody who's NOT a munchkin will just say 'so, I get 2.2% more HP for each level of fighting. That's accurate enough for me'

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Friday, 13th September 2013, 13:40

Re: Detailed description for Fighting skill

savageorange wrote:My actual statement
The equation is linear, with a ~2.2% gain every level




... is wrong.

XL = 8, Fighting = 0, HP = 100. How much will HP increase after training Fighting to 1? By 1. Is it 2.2%?
The same character, but XL = 16. How much will HP increase after training Fighting to 1? By 2.
The same character, but XL = 24. How much will HP increase after training Fighting to 1? By 3.

(XP level × Fighting) / 8
cannot be called a linear function, it depends on 2 variables (not counting HP aptitude and mutations)

Vestibule Violator

Posts: 1567

Joined: Friday, 21st January 2011, 22:56

Post Friday, 13th September 2013, 13:49

Re: Detailed description for Fighting skill

-.-

Edit: okay, an actual response: There's no percentage in what you calculated. This should give you a clue that there may be something you have not taken into account.

Vestibule Violator

Posts: 1601

Joined: Sunday, 14th July 2013, 16:36

Post Friday, 13th September 2013, 14:09

Re: Detailed description for Fighting skill

The dominant factor in HP is

  Code:
<Experience Level> * (100 + 2.272727... * <fighting>)


This term grows linearly in <fighting>. It is also the origin of the 2.2% figure.

Added to this is a additional bonus from your background, and the whole thing is then scaled by your HP aptitude and also the extra scaling factors I included to make the above factor nice. And there are rounding errors involved. (the whole function is actually linear in <fighting>, aside from the rounding errors)
User avatar

Dungeon Master

Posts: 502

Joined: Wednesday, 7th March 2012, 13:25

Location: Lexington, KY, US

Post Friday, 13th September 2013, 14:28

Re: Detailed description for Fighting skill

As for where the 2.27% is coming from: ignoring rounding:

HP = (XL*11/2 + (bg_bonus - permanent loss) + (XL*fighting)/8) * (1+hp_apt/10)

Assuming the background bonus is relatively small (not true for XL 1 characters) and no permanent loss (Borgnjor's for example):

Relative increase from one level of fighting = (XL/8)/(XL*11/2) = 2/88 = 2.27% of the non-fighting HP.

  Code:
    hitp  = you.experience_level * 11 / 2;
    hitp += you.hp_max_perm; 
    // Important: we shouldn't add Heroism boosts here.
    hitp += (you.experience_level * you.skill(SK_FIGHTING, 10, true)) / 80;
 
    // Racial modifier.
    hitp *= 10 + species_hp_modifier(you.species);
    hitp /= 10;
   
    // Frail and robust mutations, divine vigour, and rugged scale mut.
    hitp *= 100 + (player_mutation_level(MUT_ROBUST) * 10)
                + (you.attribute[ATTR_DIVINE_VIGOUR] * 5)
                + (player_mutation_level(MUT_RUGGED_BROWN_SCALES) ?
                   player_mutation_level(MUT_RUGGED_BROWN_SCALES) * 2 + 1 : 0)
                - (player_mutation_level(MUT_FRAIL) * 10);
    hitp /= 100;

For this message the author neil has received thanks:
Sandman25
User avatar

Dungeon Master

Posts: 502

Joined: Wednesday, 7th March 2012, 13:25

Location: Lexington, KY, US

Post Friday, 13th September 2013, 14:37

Re: Detailed description for Fighting skill

Sandman25 wrote:XL = 8, Fighting = 0, HP = 100. How much will HP increase after training Fighting to 1? By 1. Is it 2.2%?
The same character, but XL = 16. How much will HP increase after training Fighting to 1? By 2.
The same character, but XL = 24. How much will HP increase after training Fighting to 1? By 3.


The first example cannot happen in-game. If it did, it would be a character with around +13 HP aptitude (trolls have +3), so they'd get an extra 130% to their fighting gain: 2.3 hit points before rounding.

The second example is a character with a HP apt of around +1.5. So they will get an extra 15% to their fighting gain: 2.3 hit points before rounding.

The third example has a HP apt of around -2.5. So they will get only 75% of the XL/8 fighting gain: 2.25 hit points before rounding.

Blades Runner

Posts: 546

Joined: Saturday, 7th May 2011, 02:43

Post Friday, 13th September 2013, 14:40

Re: Detailed description for Fighting skill

Sandman25 wrote:(XP level × Fighting) / 8
cannot be called a linear function, it depends on 2 variables (not counting HP aptitude and mutations)


After more testing, I agree that it is not effectively a linear function (EDIT: actually, neil explained this. I think. I'm tired and need sleep)
I haven't considered the effect of HP mutations at all.

Anyway, here are some more test results with different builds. Percentages are relative to the F0 value for the given XL.

TrBe:
XL1/F0 = 23; XL12/F0 = 102; XL27/F0 = 209
XL1/F7 = 23 (+0%); XL12/F7 = 115 (+12.7%); XL27/F7 = 239 (+14.3%)
XL1/F27 = 27 (+17%); XL12/F27 = 154 (+50.9%); XL27/F27 = 327 (+56.4%)

MfTm:
1/0 = 15; 12/0 = 76; 27/0 = 158
1/7 = 15(+0%); 12/7 = 86 (+13%); 27/7 = 181 (+14.5%)
1/27 = 18(+20%); 12/27 = 116 (+52%); 27/27 = 249(+57.5%)

LOFE:
1/0 = 14; 12/0 = 81; 27/0 = 171
1/7 = 14 (+0%); 12/7 = 92 (+13.5%); 27/7 = 196 (+14.6%)
1/27 = 17 (+20%); 12/27 = 125 (+54.3%); 27/27 = 271 (+58.4%)

So indeed it seems I'm not accounting for HP aptitude correctly, since each species seems to have a somewhat different rate of gain.
By the look of neil's post, the base hp bonus may be distorting my percentage calculations somewhat (ie. I should factor it out of the entire table and recalculate all percentages)

What neil posted looks like the definitive answer.
Last edited by savageorange on Friday, 13th September 2013, 15:09, edited 2 times in total.

Ziggurat Zagger

Posts: 3163

Joined: Friday, 6th January 2012, 18:45

Post Friday, 13th September 2013, 14:42

Re: Detailed description for Fighting skill

How about we put a link to this thread in the Fighting description and call it a day?

For this message the author BlackSheep has received thanks: 2
BrewFall, rebthor

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Friday, 13th September 2013, 14:52

Re: Detailed description for Fighting skill

I know it is not going to happen but "You get 3.25 HP for every Fighting skill level at your current XL" is even a better idea than I thought initially.
User avatar

Dungeon Master

Posts: 502

Joined: Wednesday, 7th March 2012, 13:25

Location: Lexington, KY, US

Post Friday, 13th September 2013, 14:56

Re: Detailed description for Fighting skill

savageorange: You're seeing the effect of the bonus HP from background; also, your numbers are wrong: an XL 27 TrBe with 0 fighting should have 209 HP, so the increase is +56.5%. For a TrFE it's 202 and 321, for an increase of 58.9%, pretty close to what you saw for the LOFE. For a LOBe, it's 177 and 277, so 56.5%, same as a TrBe.

For this message the author neil has received thanks:
savageorange

Barkeep

Posts: 3890

Joined: Wednesday, 14th August 2013, 23:25

Location: USA

Post Friday, 13th September 2013, 16:51

Re: Detailed description for Fighting skill

Like BlackSheep, I can't help but point out that this thread has, in a way, demonstrated why we should be careful with what information we provide when it comes to hard numbers. If it says you get +X%, players will get upset if it doesn't come out to be exactly that. The type of people who obsess over these details are the type of people who will check it, and when it doesn't EXACTLY fit (for whatever reason) their (quite possibly incorrect) calculations, they'll become angry. (And possibly report it as a bug.)

Saying "You gain XXX for Y" will again run into similar problems. This may lead people to think that getting half a level in fighting will then mean half of XXX gained, but it may not work out that way. Also would this display take into account what level the player will be at AFTER getting the level in fighting (if they are close to a level up)? And of course, plenty can change in the game before you get that level, any of which would affect it. Even if the display updates, it just another thing that the game makes you think you need to check religiously and obsess over (like the skill screen). Displaying this sort of information is likely going to end up making people more frustrated and confused, including (indeed, especially) those who really really care about finding some magical point (that may exist in theory, but not really in practice) of optimum HP gained for experience cost for their character.

If you don't think the HP gain mechanic from fighting is reasonable, then suggest changes. There have been tweaks to HP over the past few versions; I recall at some point we got a small starting HP bonus that made the first few floors a bit easier, and also (more importantly) less prone to bad luck deaths. ("The dart hits you! OUCH! That really hurt!!") Maybe a small tweak to how fighting affects Felids at a low level—they get special cased for a slightly larger up-front HP gain, which evens out later to the same thing? Probably not necessary, but that's a change that could reasonably be implemented and, even if it is a bit of an edge case, I could see an argument for it. That change would MUCH better address the actual problem that the OP experienced, by the way. Much more so than cluttering up displays with numeric data.

If we agree that the HP gain mechanic generally works fairly well, then it is fine to ask that the players who are playing the game also trust that it works reasonably well. (Just as we ask them to trust that the monster generator is not going to spawn a quicksilver dragon on D3. We try to design the game well, and we ask players to trust that it is, though by no means perfect, designed reasonably well.) In which case all they need to know is how the mechanic works in general: It gives an increase that scales up with X Lvl and is proportional to Max HP.

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Friday, 13th September 2013, 18:10

Re: Detailed description for Fighting skill

We could have "You gain approximately XXX for Y". Still a good help for players who want to decide if they need the boost.

Dungeon Master

Posts: 3160

Joined: Sunday, 5th August 2012, 14:52

Post Friday, 13th September 2013, 20:34

Re: Detailed description for Fighting skill

The "more details pls" folks are still overthinking this. Want more hp? Train fighting. Didn't get as much hp as you wanted? Tough, there's no other way to gain hp. Regret putting points into fighting? Put less in next time. You're probably only about 15 minutes away from your next character anyway.

I understand that you want to have complete information about everything that has or could happen, but the difference in outcomes between the "optimized" version where you look through every number and calculate every advantage and squeeze the most statistical benefit out of every point of experience and the version where you just do your best and sometimes check LearnDB or ask the forums if you're confused is zero, when rounded to five decimal places.

As many others have said many other times, having all the numbers accessible will increase your odds of surviving significantly less than stopping worrying about the numbers completely and just focusing on tactical play and smart use of consumables/abilities, and as a side benefit the latter will result in quicker games and fewer spreadsheets.

And if you like spreadsheets more than playing Crawl, that's fine. The numbers are all out there, either in LearnDB, or in the code, or from friendly forum dwellers.

Lair Larrikin

Posts: 27

Joined: Wednesday, 28th August 2013, 18:35

Post Friday, 13th September 2013, 22:17

Re: Detailed description for Fighting skill

I understand that you want to have complete information about everything that has or could happen, but the difference in outcomes between the "optimized" version where you look through every number and calculate every advantage and squeeze the most statistical benefit out of every point of experience and the version where you just do your best and sometimes check LearnDB or ask the forums if you're confused is zero, when rounded to five decimal places.


I'm not sure if this person you are describing exists, at least within this discussion. I think that the actual math just came up so that people could prove that it is indeed very complicated to calculate, and we don't want players to feel compelled to do it, which I think is a noble goal. What I personally got out of this discussion is that fighting gives you approximately a 2% increase to your max hp per skill level, and that is good enough for me. It provides me a clear (though not 100% precise) idea of the effect that training fighting will have on my character.

For this message the author BrewFall has received thanks: 2
Hurkyl, Sandman25

Vestibule Violator

Posts: 1601

Joined: Sunday, 14th July 2013, 16:36

Post Saturday, 14th September 2013, 04:15

Re: Detailed description for Fighting skill

and into wrote:If you don't think the HP gain mechanic from fighting is reasonable, then suggest changes.

As I had said previously, I was happy with the mechanic, just not the visibility. My actual experience was
  • I'll try training Fighting.
  • Hrm, that barely did anything. Fighting sucks.
  • Maybe I missed something; lemme look up the formula.
  • Okay, if training fighting from 0 to 10 would, say, bump me from 45 to 50 HP, that sounds decent.
  • Oh hey, on a lvl 10 SpEn, that makes the difference between 44 and 52 HP. That's pretty nice!

Lair Larrikin

Posts: 27

Joined: Wednesday, 28th August 2013, 18:35

Post Saturday, 14th September 2013, 04:39

Re: Detailed description for Fighting skill

I think I've actually thought of a solution for this whole issue. Just update the wiki to say that fighting increases your max HP by about 2.2% per skill level. This should allow people who want to know the rough effect of the skill to find this information without having to jump through the obviously formidable hoops otherwise required, while keeping the game free of the much maligned gameplay formulas. If nothing else I think it is a fair compromise.

Edit: never mind, it is already there, though somewhat buried under other less applicable information.

Vestibule Violator

Posts: 1601

Joined: Sunday, 14th July 2013, 16:36

Post Saturday, 14th September 2013, 14:03

Re: Detailed description for Fighting skill

BrewFall wrote:I think I've actually thought of a solution for this whole issue. Just update the wiki to say that fighting increases your max HP by about 2.2% per skill level. This should allow people who want to know the rough effect of the skill to find this information without having to jump through the obviously formidable hoops otherwise required, while keeping the game free of the much maligned gameplay formulas. If nothing else I think it is a fair compromise.

Edit: never mind, it is already there, though somewhat buried under other less applicable information.

Updating the wiki only helps people who go browse the wiki. :cry:

But on that note, while it's a good idea to make this figure somewhat more prominent than the formula, it still isn't the best thing to do: little effort for little reward makes for an uninformative 0/0 sort of thing. IMO, you have to scale the numbers up before you can eyeball any useful information from it.

Saying 5 points of fighting ~ 11% or 10 points of fighting ~ 22% is probably better.
Previous

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 199 guests

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.