Adjust the number of balls


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

Crypt Cleanser

Posts: 689

Joined: Saturday, 12th December 2015, 23:54

Post Tuesday, 16th June 2020, 03:39

Adjust the number of balls

Conjure ball lightning tries to create min(5, 2 + pow / 100 + random2(pow / 50 + 1)) ball lightnings. As duvessa noted in the 0.20 spell guide, this formula produces very distinct breakpoints in the number of balls, and therefore in the spell's damage. This is undesirable and doesn't make a lot of sense. The balls also get stronger with spellpower but that formula (hd = 5 + div_rand_round(pow, 20)) does not introduce breakpoints.

Here's the current formula's behavior:
Below 50 power, you always get 2 ball lightnings.
Between 50 and 99 power, you get either 2 or 3 ball lightnings on a coinflip chance (mean 2.5).
Between 100 and 149 power, you get either 3, 4, or 5 ball lightnings, each outcome equally likely (mean 4).
Between 150 and 199 power, you still get either 3, 4, or 5 ball lightnings, but you get 5 half the time and 3 or 4 1/4th of the time each (mean 4.25).
At 200 power, you always get at least 4 ball lightnings and get 5 80% of the time (mean 4.8).

So anyway, the proposal is to replace the current formula with something that scales more sensibly with power and does not have breakpoints. There are some decisions to be made here; should the minimum ball count increase with power as it does in the current formula? Should the max ball count remain 5? Should the spell's balance be further adjusted at the same time? Here are a couple prospective formulas for consideration.

min(5, 2 + div_rand_round(pow, 100) + random2(div_rand_round(pow, 50) + 1) is the simplest change. It takes the current formula but randomly rounds power. It's also a strict buff to the spell, producing more balls on average at every value of power that isn't 0 or a breakpoint. You could of course increase the divisors or couple this to other changes if you didn't want to buff the spell. For example, min(5, 2 + div_rand_round(pow, 150) + random2(div_rand_round(pow, 75) + 1) would produce a mean of 8/3 balls at 50 power, 3 balls at 75 power and a mean of 4 at 150 power with a guaranteed minimum of 3. There's some nonlinearity past 150 power because of the maximum, so it's still kind of ugly but workable.

Min(5, 2 + random2(div_rand_round(pow, 40) + 1) keeps the same maximum ball count but doesn't increase minimum ball count with power. Mean is 2.5 at 40 pow, 3 at 80 pow, 3.5 at 120 pow, 3.8 at 160 pow, and 4 at 200 pow. This kind of formula buffs the spell at low power levels and makes it worse at high ones, which imo is not desirable. You could reduce the divisor to make the spell stronger at higher power values... but that would make low power cbl even better.

1 + random2(div_rand_round(pow, 25) + 1) would give a mean value of 2 at 50 power, 3 at 100 power, 4 at 150 power, and 5 at 200 power. The spell would produce fewer balls below 75 power and between 100-162 power in exchange for producing more between 76-99 power and above 162 power, and having higher variance. The max ball count possible would increase to 8, which means you wouldn't get the full damage at high power if you weren't in somewhat open space. You could reduce the variance by using random2avg if desired. I kind of like this style of formula but it might be a little too crazy.

You could also use a fixed formula for number of ball lightnings produced while scaling the ball lightning damage more strongly with hd.

Feel free to discuss your preferred number of ball lightnings itt.

For this message the author Hellmonk has received thanks: 5
byrel, duvessa, Flugkiller, petercordia, PseudoLoneWolf

Ziggurat Zagger

Posts: 8786

Joined: Sunday, 5th May 2013, 08:25

Post Tuesday, 16th June 2020, 04:55

Re: Adjust the number of balls

I think that if the damage per ball scales with spell power, the number of balls should not. Make it always 1d3+1 balls or something and lower the constant in the damage formula. If both depend on spell power then it's harder to calculate the expected damage of the spell.

Zot Zealot

Posts: 1004

Joined: Thursday, 16th August 2018, 21:19

Post Tuesday, 16th June 2020, 13:46

Re: Adjust the number of balls

I can't see any reason to prefer min(5, 2 + pow / 100 + random2(pow / 50 + 1)) over min(5, 2 + div_rand_round(pow, 100) + random2(div_rand_round(pow, 50) + 1)

I think I like 1 + random2(div_rand_round(pow, 25) + 1) most. It's nice when some spells scale quadratically with spellpower.
User avatar

Zot Zealot

Posts: 982

Joined: Monday, 29th September 2014, 09:04

Post Tuesday, 16th June 2020, 14:49

Re: Adjust the number of balls

I think it's alright for the spell to have obvious power spikes due to changes in the number of balls summoned. As long as the probabilities of getting more balls increases smoothly with your spell power rather than with breakpoint steps like now.

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 68 guests

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