Reducing damage spikes


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

Ziggurat Zagger

Posts: 5382

Joined: Friday, 25th November 2011, 07:36

Post Wednesday, 21st May 2014, 21:27

Reducing damage spikes

Right now, most things roll 1dX, where X is their max damage. Many spells roll 3dX instead, and there are some cases (cerebov hitting you with firestorm) where it goes up to 9dX instead.

1dX is probably the worst of these, although that's debatable. This has huge damage variance, and I'd prefer to reduce the variance and make best and worst case closer to the middle: 1d40 becomes 1d20 + 10.

Generally something like ndX becomes ndX/2 + nX/4. This would happen before your AC check, GDR(if it applies), resists, etc. The same effect could be applied to player damage, but that is optional; it's a much bigger problem on enemy damage than your own.

mutliple dice example:
3d40 -> 3d20 + 30. I believe dice in crawl roll 0 to n-1 instead of 1 to n; if so, this changes from 0 to 117 damage to 30- 87 damage. Basically it just chops off the top and bottom and leaves the average right where it was.

This should reduce the number of sudden 1-2 shot deaths and make the combat feel more steady, which I believe are positive changes. There is still a large random component, but it isn't as large.

For this message the author tasonir has received thanks: 5
earLOBe, Igxfl, MIC132, MiraclePrism, rockygargoyle

Blades Runner

Posts: 578

Joined: Thursday, 12th January 2012, 21:03

Post Wednesday, 21st May 2014, 23:46

Re: Reducing damage spikes

It's worth pointing out that AC actually makes the variance even wider, despite reducing the damage.

For example:
Dam 1d30 (avg ~15) vs. AC 16 (avg ~8)

Average damage is around 7.
Max damage is near 30.

Ouch! That really hurt!

I wouldn't mind AC being split into two dice itself, maybe as a replacement for the opaque and unimpressive GDR stat.
Wins: DsWz(6), DDNe(4), HuIE(5), HuFE(4), MiBe(3)

Ziggurat Zagger

Posts: 5382

Joined: Friday, 25th November 2011, 07:36

Post Thursday, 22nd May 2014, 00:15

Re: Reducing damage spikes

AC getting two dice or 3 would be another way to tackle this problem, certainly. If that's prefered, that's fine by me. I would however argue that GDR is not unimpressive and is in fact quite helpful for the attacks that it applies to. It would be great if it applied to all attacks, but at least for melee hits it does reduce variance quite a bit.

Mines Malingerer

Posts: 36

Joined: Friday, 25th April 2014, 05:16

Post Friday, 30th May 2014, 22:19

Re: Reducing damage spikes

Maybe this is crazy, but I was thinking this might be cool as a Zin passive ability. Zin, hating randomness as he does, narrows the variance of dice rolls in combat to a degree based on piety. Could be flavorful, useful, and interesting.
I enjoy trying to win distinct Race / Class / God combinations. Wins so far: HOFi^Beogh, MiGl^Trog, GhEE^Chei, GrNe^Kiku, DDMo^Yred, OgIE^Ash, VpEn^Dith, VSWr^Zin, OpWz^Sif, SpAs^Veh, CeHu^Qaz, NaWn^Xom, DsCj^Makh, FoSk^Ru

Snake Sneak

Posts: 107

Joined: Saturday, 25th February 2012, 10:49

Post Saturday, 31st May 2014, 09:43

Re: Reducing damage spikes

I support this idea, the variance of damage is too big and makes planning hard and the relation between good tactics and survival too fuzzy. Now there are too much situations where you have a small but significant chance of death, and the optimal decision is to run away and heal, but if you make the bad decision you still have for example 75..90% chance of survival. Completely eliminating these situations is impossible (technically possible, but would allow prediction of the future from spoilers); but reducing their frequency is a good idea and would be relatively simple.

I don't think that this should be just a divine ability of some god as it is about replacing a "bad" game mechanism with a better one, not a working one with an equal alternative. (The situation is similar to weight/item destruction removal -- it isn't only for the followers of some god.) Although implementing it as a divine ability would help testing it, but I hope that it will eventually become available for everyone.
User avatar

Pandemonium Purger

Posts: 1337

Joined: Saturday, 7th July 2012, 02:28

Location: Limbo

Post Saturday, 31st May 2014, 13:25

Re: Reducing damage spikes

If you want to test a mechanic like that in the game then there's no point testing it for one special nonexistent god - you test it in the actual game, since then you not only have a broader view of its effect on the game - but also how it works in conjunction with say, Finesse or Cheidefenses. (And this you can't do if you have to worship some Ynxgiaou the Dicecrusher to even see this change.)
take it easy
  Code:
!lg * won !DD-- min=turns -log
<Sequell> 20749. Bloax, XL24 VSTm, T:13320: http://crawl.lantea.net/crawl/morgue/Bloax/morgue-Bloax-20140907-000920.txt

Did you know that I like ruining crawl every now and then? Go check it out.

Snake Sneak

Posts: 107

Joined: Saturday, 25th February 2012, 10:49

Post Saturday, 31st May 2014, 15:04

Re: Reducing damage spikes

I think reduced damage variance for everyone is better than reduced damage variance for followers of one god, but reduced damage variance for followers of one god is better than nothing, because it increases the chance of reducing damage variance for everyone somewhen later.
User avatar

Pandemonium Purger

Posts: 1298

Joined: Wednesday, 11th April 2012, 02:42

Location: Sydney, Australia

Post Saturday, 31st May 2014, 23:50

Re: Reducing damage spikes

If damage spikes are reduced, it will be harder to reason from experience about the maximum amount of damage X can do. After all, it's only the hit that kills you that matters.
User avatar

Dungeon Master

Posts: 291

Joined: Wednesday, 6th June 2012, 18:59

Post Sunday, 1st June 2014, 00:30

Re: Reducing damage spikes

Bloax wrote:Ynxgiaou the Dicecrusher
FR, but only with a name starting with a letter not already used. (Uoaigxny?)

Blades Runner

Posts: 578

Joined: Thursday, 12th January 2012, 21:03

Post Sunday, 1st June 2014, 21:19

Re: Reducing damage spikes

Patashu wrote:If damage spikes are reduced, it will be harder to reason from experience about the maximum amount of damage X can do. After all, it's only the hit that kills you that matters.


Good point. Good point. Let's replace 1dX with (X/3)+1d(X/3) or something. Same average, lower maximum, less spiky.
Wins: DsWz(6), DDNe(4), HuIE(5), HuFE(4), MiBe(3)

Ziggurat Zagger

Posts: 4055

Joined: Tuesday, 10th January 2012, 19:49

Post Sunday, 1st June 2014, 21:36

Re: Reducing damage spikes

I'm not sure why it's desirable to reduce randomness. Personally I think the variance in outcomes in crawl combat is a plus, not a minus, though I don't want to argue in support of this position right now.

For this message the author crate has received thanks:
duvessa
User avatar

Pandemonium Purger

Posts: 1298

Joined: Wednesday, 11th April 2012, 02:42

Location: Sydney, Australia

Post Sunday, 1st June 2014, 23:16

Re: Reducing damage spikes

crate wrote:I'm not sure why it's desirable to reduce randomness. Personally I think the variance in outcomes in crawl combat is a plus, not a minus, though I don't want to argue in support of this position right now.

I feel the same way. I like it spiky, but it's hard to spell out why. Maybe it's something like: If combat was less variable and more mechanical/deterministic/predictable, you could calculate/number out how safe/how long to do something for in advance and know exactly when you'll retreat.
Alternatively, if you make it less variable yet still have the same high spikes as before, you can try to do it but actually there's still a small chance (= almost certain to happen with how much Crawl you play) that you'll get extremely unlucky, so you need to play just as cautiously as before the change except it's harder to train your brain for it because max unluckiness is rarer now.

For this message the author Patashu has received thanks:
archaeo

Ziggurat Zagger

Posts: 6454

Joined: Tuesday, 30th October 2012, 19:06

Post Monday, 2nd June 2014, 01:57

Re: Reducing damage spikes

  Code:
int random2(int max)
{
    if(max <= 0)
        return 0;
    return div_rand_round(max,2);
}

voila! Less spikey game in all respects!
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of $9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

For this message the author Siegurt has received thanks:
Patashu
User avatar

Pandemonium Purger

Posts: 1298

Joined: Wednesday, 11th April 2012, 02:42

Location: Sydney, Australia

Post Monday, 2nd June 2014, 02:12

Re: Reducing damage spikes

Siegurt wrote:
  Code:
int random2(int max)
{
    if(max <= 0)
        return 0;
    return div_rand_round(max,2);
}

voila! Less spikey game in all respects!

Code it and ship it as Angel of Mediocre Carnage

For this message the author Patashu has received thanks: 4
Arrhythmia, Bloax, duvessa, rchandra
User avatar

Dungeon Master

Posts: 202

Joined: Thursday, 5th December 2013, 05:01

Post Monday, 2nd June 2014, 03:02

Re: Reducing damage spikes

crate wrote:I'm not sure why it's desirable to reduce randomness. Personally I think the variance in outcomes in crawl combat is a plus, not a minus, though I don't want to argue in support of this position right now.


Less randomness makes Crawl more of a solved game, which is not healthy for its lifespan expectations.

I suppose people could argue that arbitrary randomness is not a healthy approach to warding off the inevitability of solution.

Blades Runner

Posts: 578

Joined: Thursday, 12th January 2012, 21:03

Post Monday, 2nd June 2014, 07:31

Re: Reducing damage spikes

Brannock wrote:I suppose people could argue that arbitrary randomness is not a healthy approach to warding off the inevitability of solution.


This. Adding occasional random death to a solved game does not make it less solved, it just makes the optimal solution less likely to work.
Wins: DsWz(6), DDNe(4), HuIE(5), HuFE(4), MiBe(3)

Tomb Titivator

Posts: 879

Joined: Tuesday, 26th April 2011, 17:10

Post Monday, 2nd June 2014, 07:40

Re: Reducing damage spikes

Point about the damage PC is inflicted upon: Even though damage values in Crawl are quite random they are still predictable in a sense that if you don't walk around with rF- or something, then that Xtahua won't (most likely) one-shot your character. Knowing that instakills are very rare after the early game makes the damage induced threat to PC more predictable than simply just looking at the formula would suggest.

I think this an important point, but feel free to disagree.

Snake Sneak

Posts: 107

Joined: Saturday, 25th February 2012, 10:49

Post Monday, 2nd June 2014, 10:06

Re: Reducing damage spikes

Making damage completely deterministic is probably a bad idea, as it means that against a monster always dealing for example 10 damage, having 11 and 20 HP is equivalent (ignoring regeneration), and you always know how many hits can you survive. Keeping the current minimum and maximum damage but making them rarer also has drawbacks -- it makes learning to avoid damage spikes harder without eliminating the problem.

I think the 1d(X) => X/3 + 1d(X/3) change is the best solution, as it is simple, it significantly reduces maximum damage, doesn't leave small chances for sudden death and is continous and varied enough to avoid precalculations and discrete steps in HP value usefulness.

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 27 guests

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