deflect missiles


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

Snake Sneak

Posts: 102

Joined: Thursday, 23rd November 2017, 02:14

Post Saturday, 19th January 2019, 04:21

deflect missiles

In bcrawl I made Deflect Missiles last forever but drain 25/power mana on deflection. It seems to work well.
https://github.com/b-crawl/bcrawl/commi ... e48998d6d3

For this message the author bhauth has received thanks: 2
duvessa, kitchen_ace

Crypt Cleanser

Posts: 689

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

Post Saturday, 19th January 2019, 05:08

Re: deflect missiles

This is almost a good model, but it doesn't fix armor swapping/50% failure rate casting. Need to explicitly tie some feature of the spell to the current spell failure rate, imo.

Also, if the "penalty" is going to be an mp decrease, then the spell should fail to deflect when insufficient mp remains (and have a different status light to show that it's been cast but is currently inactive).

For this message the author Hellmonk has received thanks: 3
duvessa, tealizard, VeryAngryFelid

Ziggurat Zagger

Posts: 8786

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

Post Saturday, 19th January 2019, 05:43

Re: deflect missiles

Divide the MP cost by the success rate. So if it's at 0% fail the cost is 25/power, if it's at 40% fail (0.6 success) the cost is 25/power/0.6, if it's at 100% fail it will never have sufficient MP to deflect.

This really just isn't a Crawl spell though.

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

Vaults Vanquisher

Posts: 454

Joined: Thursday, 1st November 2018, 02:33

Post Saturday, 19th January 2019, 06:35

Re: deflect missiles

duvessa wrote:This really just isn't a Crawl spell though.


A crawl spell is just a spell that's in a game called crawl. There is too much resistance to expanding spellcasting mechanics to match the diversity of spell effects in my opinion. It's magic, so it can work pretty much any way needed to create balanced, sane gameplay.

Crawl's magic system manages to be complex and brittle at the same time. There is tons of scope for improvements both in terms of simplification and elaboration. Fork developers should act accordingly.

That said, this particular effort has a basic error at its core, conflating the role of fail rate and spellpower, as others have said.
This is where mechanical excellence and one-thousand four-hundred horsepower pays off.

For this message the author tealizard has received thanks: 2
Rast, Shard1697

Slime Squisher

Posts: 392

Joined: Sunday, 11th September 2016, 17:21

Post Saturday, 19th January 2019, 14:57

Re: deflect missiles

If it lasts forever, that means I can cast it once, then read a scroll of amnesia to free up 6 spell levels while retaining the benefit? That seems like it should be too good to be true. Also, if a player tries the spell then decides they don't like the MP drain, they're stuck with it for the rest of the game?

Ziggurat Zagger

Posts: 8786

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

Post Saturday, 19th January 2019, 18:59

Re: deflect missiles

You can cancel it by casting it a second time.

For this message the author duvessa has received thanks:
Nekoatl

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Tuesday, 22nd January 2019, 07:51

Re: deflect missiles

FR give some/most/all spells 100% success rate, but have the old fail rate formula impact spell power.

Ziggurat Zagger

Posts: 5382

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

Post Tuesday, 29th January 2019, 01:43

Re: deflect missiles

If people "cheesing" the spell online with a brilliance pot and similar tricks is really a dealbreaker, you could just add a check when deflecting a missile that checks what your failure rate for the spell is, and then fails to deflect the projectile if you would have failed to cast the spell. Although I'm not really sure how much of an issue people under investing in air/charms is really going to break the spell implementation. It could just drain all their mana instead, and if they really had no use for mana (pure melee with no mana god abilities) I say just let them get slightly more evasion out of their mana, they've given up a tremendously useful resource anyways (all other spells, and they can't be with Trog, or they couldn't cast deflect).
User avatar

Vaults Vanquisher

Posts: 454

Joined: Thursday, 1st November 2018, 02:33

Post Tuesday, 29th January 2019, 02:54

Re: deflect missiles

The way deflect missiles works now is a hold-over from a time when the devteam wanted to reform duration spells to fix the recasting problem. Dmsl/rmsl was an extremely half-baked half-solution, which was broadened in a branch that had a sort of mp reserve mechanics (not good mp reserve mechanics, like you see in hellcrawl). The failure of that branch seems to have inspired a different position, where over time duration spells would be removed or reformed so that recasting would no longer be advantageous, hence the weird ponderous version of ozo's armor and now the no-movement version, as well as numerous other removals.

If you want to make progress on this issue, a patchwork of unrelated mechanics for each spell is going to be confusing and take forever to design and implement if it's any good. You need a small set of mechanical improvements applied across a large cross section of problem spells and they should produce behavior qualitatively similar to dcss in terms of balance, skill investment, and impact of equipment with some model of play in mind (this could be the way normal ass people play or it could be an idealized highly optimal way of using duration spells). I personally doubt there's a solution significantly better than the hellcrawl one that fits the bill, but I would be extremely interested to hear of good alternatives.

In other words, the devteam's first impulse on this problem was correct, but they failed to deliver a total solution. The result is that the problem is still there for fork developers five years later. Don't make the same mistake. Bite the bullet and deliver a full solution.
This is where mechanical excellence and one-thousand four-hundred horsepower pays off.

For this message the author tealizard has received thanks: 2
duvessa, PseudoLoneWolf

Zot Zealot

Posts: 1004

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

Post Tuesday, 29th January 2019, 19:04

Re: deflect missiles

I like the hellcrawl solution too.
User avatar

Vaults Vanquisher

Posts: 454

Joined: Thursday, 1st November 2018, 02:33

Post Wednesday, 30th January 2019, 05:12

Re: deflect missiles

There is probably some room to improve on the hellcrawl approach. For example, it's possible to have a large number of duration spells active. I think the idea was to address this issue with a tighter mp game, but that never happened and it's debatable whether it would really address the issue. The issue with a large number of duration spells being active is that you get into territory where the "turns it takes to cast the spells" argument starts to become plausible (where it definitely is not for less than about four duration spells, in my opinion). This could be addressed by applying a cumulative increase in spell difficulty as you add more spells, antiwizardry for permabuffs basically. It would take some thought or at least trial and error to figure out a good way to do this quantitatively, obviously, and there's an issue of increased complexity. Alternatively, something like a minimum "failrate" that scales with the number of active permabuffs could work.
This is where mechanical excellence and one-thousand four-hundred horsepower pays off.
User avatar

Ziggurat Zagger

Posts: 4478

Joined: Wednesday, 23rd October 2013, 07:56

Post Wednesday, 30th January 2019, 07:10

Re: deflect missiles

It's also possible to limit the number of buffs that can be active at the same time. To be more brutal, this limit could also take potion-based buffs into account...
DCSS: 97:...MfCj}SpNeBaEEGrFE{HaAKTrCK}DsFESpHu{FoArNaBe}
FeEE{HOIEMiAE}GrGlHuWrGnWrNaAKBaFi{MiDeMfDe}{DrAKTrAMGhEnGnWz}
{PaBeDjFi}OgAKPaCAGnCjOgCKMfAEAtCKSpCjDEEE{HOSu
Bloat: 17: RaRoPrPh{GuStGnCa}{ArEtZoNb}KiPaAnDrBXDBQOApDaMeAGBiOCNKAsFnFlUs{RoBoNeWi
User avatar

Vaults Vanquisher

Posts: 454

Joined: Thursday, 1st November 2018, 02:33

Post Wednesday, 30th January 2019, 08:30

Re: deflect missiles

It's not a problem of stacking too many buffs as much as reproducing plausible dcss behavior. The issue is that having more spell buffs active than is practical in dcss may be a balance problem.
This is where mechanical excellence and one-thousand four-hundred horsepower pays off.

Spider Stomper

Posts: 200

Joined: Sunday, 11th May 2014, 11:26

Post Wednesday, 30th January 2019, 10:51

Re: deflect missiles

I propose Charm school's own mechanism that works differently than the existing mechanism. Charm school's spell lasts semi-permanently until it is cancelled again (Exception: Death's Door).
When an enemy is in sight, MP is consume a at a certain turn while the spell is maintained(If there is no enemy in sight, the spell is deactivated.). The amount of MP consumed is essentially the same as the level of spell, but is reduced by 50% according to the spell power. Then add half of the armor encumbrance rating. This is the final consume of MP. (Perhaps the actual application of encumbrance rating will decrease if the armour skill is high.)

For example, the player is wearing a leather armour(4 encumbrance rating). He used the Regeneration spell. It consumed 3MP here. And an enemy appeared in his sight. his spell power is low, he consumes 5MP every five turns.

I think this mechanism can solve the problem of armour swapping completely. Because The MP used to maintain the spell will be influenced by the encumbrance rating of the armour that the player currently wears. The heavier the armour, the higher the maintenance costs. It's simple. The advantage of this is that it doesn't have to be explained. The player will naturally understand this mechanism in the process of changing light armour and heavy armour.
This equation can be revised, but the key is one. Make sure encumbrance rating affects your mp consumption.
User avatar

Vaults Vanquisher

Posts: 454

Joined: Thursday, 1st November 2018, 02:33

Post Wednesday, 30th January 2019, 12:07

Re: deflect missiles

So the problem is not just the charms school (nor are all actual charms a problem). Spells that have a persistent, recastable, duration-based effect are all implicated, from deflect missiles, to death channel, to forms, to darkness, to spectral weapon, to summons. The strong form of the recasting problem is this thing where you just continually recast out of combat as durations expire so you always have the effect active at the start of combat (and you recover some mp before actually engaging). The weak form, which is imo worse, is that you can essentially always arrange engagements so that there is no tactical cost to recasting all your buff spells before you are exposed to any risk from the encounter (damage, hex effects, etc.).

The hellcrawl permabuff system does a very good job of dealing with these problems, taking into account equipment, stat, and skill investment issues, ensuring that investment in spell schools has to scale with heavier equipment decisions. In particular, there is no armor/shield swapping problem in hellcrawl. Your mp reserve cost is recomputed every turn. If it exceeds your max mp, you lose your duration spells immediately. It also does a reasonable, but not perfect, job of reproducing the balance of duration spells in dcss. It's only in the late game that players have enough skill points to do things that might push the boundaries of what you can do in recent versions of dcss. By and large, the player is weaker with hellcrawl permabuffs than the dcss spell system, but they're much better off in terms of QoL. In any case, everything that's important about dcss duration spellcasting is contained in the failrate formula, so if your idea of reform does not involve that formula, you're not doing it right.

As for the idea of draining mp over time in combat or whatever, I think it's a nonstarter. Crawl mp is designed around a different model of mp consumption. Sil has a similar mp draining mechanic, but the magic system is designed around it. Every spell is a duration spell, there are built-in controls on the number of active spells, and there's no coexisting model where you use mp to produce attacks that are functionally identical to archery. I could imagine an alternative crawl magic system that looks like Sil's, where "conjurations" don't exist. It would probably be better! But bringing mp loss over time mechanics into crawl without a major overhaul of other crawl magic effects is not going to work.
This is where mechanical excellence and one-thousand four-hundred horsepower pays off.

For this message the author tealizard has received thanks:
duvessa

Spider Stomper

Posts: 200

Joined: Sunday, 11th May 2014, 11:26

Post Wednesday, 30th January 2019, 12:36

Re: deflect missiles

Hmm... the way to modify all magic schools is a very big project. There is no telling when the work will begin and when it will be finished. Before that, if we want to improve Charm school...
Maybe, Hellcrawl's method is the most realistic option for now.

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 38 guests

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