Page 1 of 1

Show the player's base damage, please

PostPosted: Saturday, 3rd March 2018, 18:20
by kuniqs
If it's possible to estimate PC's base damage while creating ghosts or Mara's illusion, it's also possible to show the player the same stat while viewing a weapon he's carrying.

Re: Show the player's base damage, please

PostPosted: Saturday, 3rd March 2018, 22:13
by duvessa
That's not how it works, player and monster damage have completely different code paths.

That said, calculating the player's mean damage isn't very difficult.

Re: Show the player's base damage, please

PostPosted: Monday, 5th March 2018, 21:46
by tasonir
I'd be happy with this, or alternatively show the damage when you hit a monster. There are some pros and cons to each approach, but I think it's been discussed before, if not several times. If people want to get into it, go for it, but I feel like most people already have a firm opinion on the topic.

Re: Show the player's base damage, please

PostPosted: Tuesday, 6th March 2018, 03:29
by svendre
I'd like to see it as an option, off by default. Since a person can run wizmode, fsim, or even dive directly into the code to calculate things like this, it isn't hidden data, just more difficult to obtain if a person so wishes. I gather that the reason for not displaying too many statistics is so that this doesn't become too much the focus of the game experience. I think that is appropriate for new players. A default-off option would however allow for more experienced players who want to see this kind of information more easily. The newer players likely won't change this option until they get more experience with the game (and at least begin tinkering with their options.)

Re: Show the player's base damage, please

PostPosted: Tuesday, 6th March 2018, 06:14
by VeryAngryFelid
As a Ds with powered by pain mutation I tried to learn if might status affects ranged weapon. In game help, learndb, wiki, number of exclamation marks... nothing helps.

Re: Show the player's base damage, please

PostPosted: Tuesday, 6th March 2018, 07:31
by Siegurt
Part of the problem is that there's no reasonable way to show a single number that accurately encompasses a reasonable representation of how much damage you actually do.

You can show a 'sort of' accurate number, but it's a question of if we should show something that's "occasionally misleading" or nothing. We can also leave out a bunch of things and have a technically accurate number, that isn't helpful because you have to leave the player to guess how the rest of the mechanics effect it.

As some examples we could show:
  • Your average or max damage without accuracy, speed or monster AC included, however that doesn't provide useful information, as the player is forced to guess how speed and monster AC will influence things. This doesn't provide the player with enough information to accurately make a determination as to what weapon is better.
  • We could show "average damage at a your current speed discounting accuracy and monster AC" this is slightly more misleading as how much monster AC and EV effects that number is complex and can even invert any single number comparison from creature to creature.
  • FSIM gives actually accurate numbers (It includes damage, brand, accuracy, speed and monster AC), but only against a given target, there's no way to present that as an overall *player* statistic (since it varies from creature to creature). You could display it per-monster, but that's very awkward; You can put it in xv, but that's complex, interface wise, and not useful in game to compare two weapons to decide which one is better to kill something with, because you don't want to waste turns swapping a bunch of weapons to preflight them against a monster. To be *actually* useful and accurate in-game, you need to select the monster, then select which weapon you'd like to see what your average damage against that monster is, which is a whole lot of extra keypresses to be optimal in every single fight, assuming you have multiple weapons that are all reasonably close in power level.

This presumes your objective is to get a sense of "which weapon is the most powerful" or perhaps "how much has my training helped my weapon damage" . However, there's just not a known good way to display this in a way that's not misleading, gives the player sufficient information to make correct decisions in game, and isn't horribly awkward.

If we were to settle for 'close enough to right most of the time' we could probably display something easily, but there's a fair sized amount of resistance to displaying information that can actually literally be counter to optimal behavior, even if it's only occasionally.

Re: Show the player's base damage, please

PostPosted: Tuesday, 6th March 2018, 07:36
by Patashu
Also, any such calculation would have difficulty integrating the value of things like venom, draining and antimagic.

Re: Show the player's base damage, please

PostPosted: Tuesday, 6th March 2018, 07:43
by crawlnoob
I dont see what the problem is with showing an accurate "base" value, and leaving it to the player to understand that this is further modified by things like speed, accuracy, and AC. Only the greenest of players are not going to realize this (assuming you properly convey that the number is naked damage); I would go so far as to wager that the majority of 1st time players to Crawl already understand the general concept from other games.

While no player is going to walk away knowing exactly how effective they are against enemy X (this is a good thing imo), what this will answer is the nearly universal question of "is this weapon better than this other weapon" for the general situation, which necessarily involves an average over ALL the monsters a player will meet. In this respect, the oft-argued threads using wizmode to calculate effective damage against a centaur vs a stone giant vs a gold dragon etc are almost pointless, as vanishingly few players are going to switch weapons for every individual monster, let alone be in possession of a suite of equivalently powerful weapons for this purpose. You really do need to look at the full spectrum, crawl is a game of averages ultimately.

So a simple naked avg dam/strike and avg dam/turncount or whatever the hell it is that is applicable here, would more than cover the bases. Here I would include both because calculating the effect of weapon speed is easy for the computer but difficult (and necessary) for the player. Showing just the damage per strike is guaranteed to lead to tedius calculations.

Re: Show the player's base damage, please

PostPosted: Tuesday, 6th March 2018, 08:11
by Sprucery
Just show the damage done, please. A simple "You hit the yak! (10)" would suffice. Make it an rcfile option if someone does not want more visual clutter on the screen.

I really don't understand why we have the exclamation marks. Why not the actual number?

Re: Show the player's base damage, please

PostPosted: Tuesday, 6th March 2018, 10:29
by Shtopit
There is room for both: a "current damage" number on the weapon page, and "damage inflicted" numerical visualization in the game window.

In the weapon page, I think it would be OK to simply show mean damage, without considering monster attributes, because those are monster attributes, not attributes of the player (so assuming a HP sack with 0 AC or GDR).

You can have mean damage for the base weapon + enchantment, mean damage for brand + enchantment, mean speed for base weapon + brand, and mean accuracy for base weapon + enchantment.

I'm making data up for an example:

  Code:
+5 longsword of freezing

Right now, you can swing it for a mean 15 damage + 5 cold damage, once every 9 auts, with an accuracy of 12.


Then you can choose whether there should be a short list of currently active factors, like being in water, wearing armour, starving, inaccuracy, might, haste, etc.

Re: Show the player's base damage, please

PostPosted: Wednesday, 7th March 2018, 13:58
by Alphaeus
I agree with Shtopit. Optional makes sense, but sometimes damage calcs would be helpful. For example, I was playing a character the other day that had a +3 demon blade of freezing and the sword of power. I had enough skills to put both to decent use, but was curious which was better, particularly when I had the Sword of Power at +23 or so enchantment. Usually you can say "oh, a +3 demon blade of freezing will do more damage than a +5 scimitar of flaming" but when you're going against a slower and worse base weapon with a massive enchantment but no brand...things get tricky.

Secondly, damage dealt would actually be super helpful, because sometimes it would allow you to check out which attacks are doing better against a certain target, and perhaps switch tactics.

Re: Show the player's base damage, please

PostPosted: Thursday, 8th March 2018, 10:33
by kuniqs
I don't want to show the damage dealt to a monster, I want an approximation of the maximum base damage dealt with a weapon, without enchantment or brand, including Fighting, Str and weapon skill, as a useful heuristic to compare weapons.

Re: Show the player's base damage, please

PostPosted: Thursday, 8th March 2018, 10:55
by Shtopit
Why without enchantment or brand? I would find it very hard to choose between a +4 dire flail of freezing vs a +0 dire flail of electrocution.

And maximum base damage may also not be that useful as an info for comparison, if the probability of achieving it differs between different weapons.

Re: Show the player's base damage, please

PostPosted: Thursday, 8th March 2018, 13:31
by kuniqs
The bonus damage from brand/enchantment is constant, whereas base damage is fluid and rather hard to calculate on the fly, so why not automatise it?

Re: Show the player's base damage, please

PostPosted: Thursday, 8th March 2018, 16:02
by Shtopit
Is it constant? I thought that brand damage was influenced by the damage inflicted by the weapon, at least in certain types.

I am for showing damage in the weapon description, as you are, but with certain differences: showing the average rather than the maximum base damage (because it would give a better estimate of the weapon's utility), showing the average brand damage (because it's a lot of different brands, each one calculated in its own way), and including enchantment level in the estimates, because there's no reason to have the player do more math on his own, especially since comparing a +5 longsword with a +0 scimitar isn't easy, at least for me.

BTW, does any dev know how damage calculations work? The Wiki is still at 0.14.

Re: Show the player's base damage, please

PostPosted: Thursday, 8th March 2018, 16:21
by Siegurt
Shtopit wrote:BTW, does any dev know how damage calculations work? The Wiki is still at 0.14.

If you mean this page:
http://crawl.chaosforge.org/Weapon_damage

After giving it a once over the only thing that I notice has changed is that now there's no more strength weighting and "stat" is now simply "strength"

Other than that the damage formula hasn't had any major changes in a while.

~~

What I think might be nice was if next to base damage was the bonus to base damage contributed by stats and skills so if it said "Long sword: 9 Base damage (+5 from training and strength)" for example.

Re: Show the player's base damage, please

PostPosted: Friday, 9th March 2018, 15:22
by Pereza0
Rather than displaying base damage, Crawl could do something like Brogue and say "on average you will kill it in X hits". This calculation should take into account monster EV and AC as well. Only displayed in the monster description.


Displaying base damage or inflicted damage is not terribly useful in crawl because how inconsistent it is. How good a weapon is is wildly dependent on what you are using it on, there is no single number which will be able to convey this. If the brand takes to much effort just throw in "plus your X brand" in the description without getting into specifics.

No point in saying something "at best you will kill it in X hits" like in Brogue


I personally think that displaying numbers on damage is not such a great idea. It does increase visual clutter, it increases information clutter and honestly the exclamations feel more fun and visceral..


TLDR - Display something like "on average you will kill it in X hits" in the monster description. Probably not the easiest stuff to code, but I feel the most informative, least misleading and the option that creates least clutter.



Displaying average turns it takes to kill something along with the average hits could be another interesting way of conveying it

Re: Show the player's base damage, please

PostPosted: Saturday, 10th March 2018, 18:32
by Tumalu
Why not display it the same way monster attack damage is? It's calculated differently, but in the end, your strike can do up to X damage reduced by enemy AC, with Y aut attack speed, with up to Z additional damage from [brand] (Or, "up to X% additional damage from [brand], on those ones.). This number would be displayed in the weapon description, likely with an "at your skill level" clause to make clear this number will change.

I think this would be useful as it's hard to tell just how much that +str randart or skill training actually increased your damage, especially when comparing high/low base damage weapons of different enchantment.

AC exists, sure. As long as the player knows monsters have an AC score, that's no different from monster's displayed damage being reduced by -your- AC. A weak, fast attack is going to be further reduced by AC, slow strong attacks less so. Not rocket science. Technically, you can calculate a whole DPS formula that displays accurate numbers with AC influence included for quickblades vs. executioners axes, but that would be wildly overdoing it.

I wouldn't agree with displaying the exact damage done per successful hit.

Re: Show the player's base damage, please

PostPosted: Saturday, 10th March 2018, 18:55
by Shard1697
Tumalu wrote:I wouldn't agree with displaying the exact damage done per successful hit.
But why though

Re: Show the player's base damage, please

PostPosted: Tuesday, 13th March 2018, 05:57
by duvessa
Tumaiu wrote:Why not display it the same way monster attack damage is? It's calculated differently, but in the end, your strike can do up to X damage reduced by enemy AC, with Y aut attack speed, with up to Z additional damage from [brand] (Or, "up to X% additional damage from [brand], on those ones.). This number would be displayed in the weapon description, likely with an "at your skill level" clause to make clear this number will change.
The problem with just showing the player's max damage, and making no other changes, is that player damage does not have an intuitive distribution. In practical situations (positive weapon skill, >10 str) the mean and median are a lot lower than half the maximum. It is also possible for one weapon to have a higher maximum damage than another but a lower mean. An increase in fighting skill that offers +3 max damage does not increase mean damage as much as +2 enchantment, even though the enchantment increases the max by less.

Re: Show the player's base damage, please

PostPosted: Tuesday, 27th March 2018, 04:14
by damerell
Siegurt wrote:[*]FSIM gives actually accurate numbers (It includes damage, brand, accuracy, speed and monster AC),


They're not quite accurate because it doesn't account for overkill. This is a hard problem to fix but it can make large slow weapons look artificially good against flimsy monsters.

Re: Show the player's base damage, please

PostPosted: Tuesday, 3rd April 2018, 02:17
by Midn8
Then choose a bulkier monster for your tier to slug against.