tmewett / BrogueCE

Brogue: Community Edition - a community-lead fork of the much-loved minimalist roguelike game
https://sites.google.com/site/broguegame/
GNU Affero General Public License v3.0
1.03k stars 109 forks source link

Armor system overhaul #263

Open tmewett opened 3 years ago

tmewett commented 3 years ago

Currently armor is mostly a linear progression, with the only caveat to upgrading armor being increased stealth radius. Also, it is usually recommended to enchant weapons over armor when doing a melee build.

Two ways to make this more interesting that we discussed:

SanatMishra commented 3 years ago

Some thoughts I've had since the meeting:

tmewett commented 3 years ago

(3) - that is one of the ideas above: scale mail gains more armor points per enchant

(1) - the idea is that the expected damage for each weapon vs each creature will be largely the same as it is now. Whereas now weaker weapons will struggle to hit a well-armored creature, but hit fully when they do, with this change they will hit more often but less per-hit. The result is you're less likely to say miss 3 in a row and do 0 dmg but the weapon DPS is similar long-term

SanatMishra commented 3 years ago

I see your point with scale mail.

What I'm saying in the first bullet is that stronger weapons lose less of their damage than weaker weapons on the same absorption. If a monster has an average of 5 absorption, flail average damage goes down from 11.5 to 6.5 (43%), but broadsword average damage goes down from 18 to 13 (28%), or even less if it's enchanted.

tmewett commented 3 years ago

Oh, I was thinking about absorption being proportional to incoming damage. % damage resistance, essentially

HomebrewHomunculus commented 3 years ago

Apologies for the long post that follows - just trying to get a feel of what problems and solutions are on the table here, seeing as damage reduction sounds like quite a sweeping change in mechanics. Please feel free to rein me in if this goes too far off topic, or if this isn't the correct forum for this level of discussion!


Currently armor is mostly a linear progression, with the only caveat to upgrading armor being increased stealth radius.


Also, it is usually recommended to enchant weapons over armor when doing a melee build.

Allows more melee hybrid builds, because in some cases you will be able to deal small amounts of damage with an underpowered weapon, where now you would struggle to hit anything

I like this this line of thinking - attacking the specific pain points that come up during play could be a fruitful direction to take the discussion in. So, to clarify things, one important question:

What is the design problem that the present discussion attempts to solve?

Is it that:

  1. Armor is uninteresting and lacks strategical variety
  2. Unenchanted weapons are too weak, and therefore enchanting weapons before armor is a strategic no-brainer. (Or, equivalently: the benefits of enchanting weapons are too strong relative to other options.)
  3. Unenchanted weapons will tend to miss almost all the time, which slows down gameplay (the expected number of attacks-to-kill grows out of control).

(Obviously, I'm not aware of what was discussed in the meeting mentioned above, but from this thread it sounds like all of the above are included in the mix. Hopefully I'm not misinterpreting too much, as it seems I may be going off incomplete information here.)

I think 2 & 3 are related problems, but 1 is largely a separate one. Any solution to the armor problem should be considered independently of the weapon problem, at least initially. That is my intuition because the weapon problems are likely to find a shared solution having to do with the combat algorithm or enchantment system. In contrast, armor variety/strategy seems like something that can be solved purely within equipment design, without necessarily any changes to combat algorithms, since monsters don't use equipment but do use the same combat algorithm as the player.

There are many possible options, so I'm just going to throw out a bunch. Since I'm new here, please forgive me if these have been discussed before - I'm mostly going off from reading the wiki and a small part of the source code.

Problem 3, where monster survivability grows effectively without bounds when the attacker has low accuracy, is something that D&D tries to handle with "automatic hits" - the "natural 20 always hits" rule, which was included far before doubling of damage from critical hits. It acts as a backstop for low accuracies, guaranteeing a 5% rate to hit when monster defense is very high. Of course, Brogue doesn't use such a linear accuracy, but rather a curve which guarantees that the chance to hit never goes to 0%, in practice.

The curved to-hit progression of Brogue means that enchanting a weapon gives compounding returns. If I'm reading the formula right (from the wiki), your chance to hit a troll (defense 70) is:

((0.987^70)*(1.065^(net enchantment))

where "net enchantment" is (weapon's enchantment level + any strength bonus/penalty). Thus, increasing your weapon's enchantment level (ignoring strength bonuses for the moment) from +0 -> +5 -> +10 takes your chance to hit from 40% -> 55% -> 75%. The odds to hit improve first by 15% for the first five levels and then by 20% more for the next five - the opposite of diminshing returns. The only diminishing returns you will see is when your weapon is so highly enchanted that it already has at 100% chance to hit your intended target. (For example, ogres have defense 60, so at 12.50 net enchanment you have a 100% hit rate, so there's no gain from further enchantments. For trolls, this cap is at 14.75 net enchantment.)

This scaling is further compounded by the fact that enchanting equipment decreases its Strength requirement. You get an accuracy boost not just from the +1 on the weapon, but from the increased Strength bonus (or reduced Strength penalty). So, it's actually +1.25 net enchantment gained per scroll of enchanting (assuming you meet the Strength requirement).

accuracy = 1.065^(net enchant) = 1.065^((nominal enchant)^0.9))

which, for +0 -> +5 -> +10 weapons, would be 100% -> 131% -> 165%. Using our troll example again, the odds of hitting are 40% -> 52% -> 66%. Or a gain of 12% and 14%, as opposed to our earlier gains of 15% and 20%.

tmewett commented 3 years ago

Thanks for the great comment.

You're right that we are trying to solve two issues here - they are split into two lists in the original, but grouped under armor as we initially expected armor would be the way to solve them. The way I see it, we're focusing on (1) and (3) in your points.

Point (2) is far less of a problem imo, hence I never thought much about your suggestion of adjusting the enchantment curve of weapons. Lowering defense and boosting HP seems very similar to the % damage reduction idea, except is a larger change, seeing as HP affects all types of damage but armor DR would affect melee combat only. Making weapons scale less strongly i suppose would even out the differences between high- and low-enchanted weapons, which would devalue enchanting them - however if the game mechanics don't support this well (the current hypothesis) then i don't see this being a big win.

The fixed minimum hit chance given by a d20 crit is an interesting solution for (3), but I fear 5% is still too low to make a substantial difference here. But maybe not.

I don't really have much more analysis on this right now - I'm more interested in experimentation, with DR or otherwise, to at least see something real. And sorry that I didn't reply to all your points, I think they're all decent possibilities; you've definitely got the right idea of the problem.

tmewett commented 3 years ago

The most glaring problem I see is how hit effects (acid, weakening, knockback) should work. Absorption is a pretty big nerf if they work as normal.

RojjaCebolla commented 3 years ago

Reprisal and absorption are funny ones to scale alongside armor value. Armor prevents hits. Reprisal and absorption trigger on hits.

Reprisal triggering when they miss is much more likely to be worthy to enchant. And that works thematically!

Absorption just isn't good, as far as i know. Maybe larger numbers, or a side effect, could do it.

Reflection is more valuable when your stealth is bad - it should probably be on a heavy armor. (unless we are decoupling armor weight from stealth?) It's not scale/chain wearers who are getting sniped by spells from across a level-wide chasm.

Aside from these bikeshedding nits, i do think the armor rework sounds interesting and good. A nice counterpart for attack patterns.