I think that it's pretty evident to everyone that Brogue's sense of balance is unlike anything else out there. There's something wild and cavalier about it, without it ever quite being loose. The parts of the game maintain an illusion of separation while being, in actuality, strictly interconnected. It's hard to reason about a system like this, and it can be even harder to talk about it. I'd like to kick off some discussion about how Brogue is balanced, and how we (as a community) can most efficiently influence its design.
With the development of clever tools to compare the power of various enchantment strategies, Brogue has evidently entered a new phase of more scientific design. This is a good thing. It should become possible to encode intuitions about the relationships between various items and monsters as tests that can be verified automatically as items and monsters change.
But the limitations need to be clear. Algebraic balance takes you only as far as the equation being balanced. It is useful to balance, as was recently done, the enchantment of armor against enchantment of weapons, but we cannot take it for granted that the two should be equal. The ideal scheme of balance is qualitative rather than quantitative; knowing what happens when a rogue takes on a horror mano a mano lets us identify what happens in one particular situation. What it does not do is help us reason about the interaction of situations. Nor does it lead us to balance items, as must be done, in their own right. It is supplemental.
Case Study: A Trial by Fire
It used to be that a rogue who hoped to clear the dungeon had to carry a Staff of Firebolt. Fire burned longer than it does now (and perhaps it should again). Traps of Paralysis spewed their gas from the trigger cell, so a burning enemy could be reliably halted in its tracks. There were no Incendiary Darts, and Incineration was (as it still is) bulky and unpredictable. Fire was (as it still is) the primary means of modifying and manipulating the dungeon. So fire was made to burn a shorter time; lightning was made to do as much damage as firebolt; and incendiary darts were added so that every rogue could play with fire, even without the staff. And when traps of paralysis changed, the balance silently, invisibly, shifted back the other way. Staves of Firebolt are no longer the preference of most players.
Would it help to weaken lightning? Maybe, but I doubt it. It isn't worth enchanting lightning unless it does perform, at high levels, as it now does. If lightning is to be made less perfect, it must be balanced in its own right. It became the center of a viable build when it was made more powerful; it is not informative to see it as being balanced against firebolt. In UnBrogue, Andrew makes lightning bounce (eventually, back at its caster) if it does not pass through two bodies. Right for mainline or no, it's a great way to balance lightning against itself. Terrain that blocks magic, or even only lightning, would work wonders. (Why not gold plated floors that ground lightning? Crystaline forests that block bolts of all kinds? An enemy which, for whatever reason, you do not want to strike with lightning?)
Would it help to strengthen Firebolt? Maybe, but I doubt it. The problem isn't one of numerical equivalence. Seeking numerical equivalence often just buries the imbalance deeper, makes it harder to root out, and worse -- keeps it from generating fascinating consequences. Numerical equivalence lets designers become complacent.
Make it ALL Overpowered
The rule in Brogue, which players tend to notice just before they start winning, is that everything is too powerful. It's just not too powerful quite all the time. There are always situations that you can't get out of. And perhaps you have an overpowered build, or overpowered allies, but there is -- or should be -- something in the dungeon that is even more sickeningly overpowered. It's easy to see that powerful melee is weak against powerful ranged attacks; it is somehow less easy to see that powerful melee against powerful melee becomes a 1hp game, which is purely tactical. Random chance largely vanishes and roguelikes start to look a little bit like Chess. Take a look at Darren Grey's corpus for some good examples of how that happens.
So if everything is overpowered, including the enemies, the state space crystalizes. Right moves become very right; wrong moves become very wrong indeed.
The more common tack, prevalent in most "difficult" games, strategy or otherwise, is to balance every option against every other option directly. It feels bland, but it works. It fails to exploit incomplete knowledge, and it constrains the bushiness of the decision tree. A player who doesn't know what's coming, whether because of randomness or discovery or both, must plan for all contingencies. No single contingency may be very difficult, but each one demands its own body of preparation and its own collection of resources; maybe I'm ready for a revenant, but not for a horror; maybe I'm ready for dar, but not for wraiths.
Elements, whether earth-wind-fire-ice-water or rock-paper-scissors, can paper over stale dynamics. Brogue indulges in a few; there's fire immunity, magic reflection, and melee immunity. It does not, however, have a system of elements, and it's when they form a system that they become boring. Why are they boring? Because whether I play rock, paper, or scissors, there's a win, a tie, and a lose out in the environment. Nothing I do can change that! Strategic decisions are meaningful if they change the shape of the (rest of the) decision tree. Elemental decisions, as a rule, do not.
The Player as Computer
When you can change the decision tree in meaningful ways, the new, trimmed tree can be trimmed by the rest of your kit. You optimize your play and limit the shape of the game's future according to what you want to spend your time doing. This makes strategic computer games absolutely fascinating. The role of interpreter and program is flipped on its head; the game elements are a declarative program in a language not unlike PROLOG, and the player functions as an interpreter for that language, seeking an optimal solution. A game is "interesting" in a roguelike sense if after applying the whole set of trivial optimizations (simple symbolic substitutions) the decision tree is still bushy enough to demand real work to solve; in terms of a player's experience, this means that answers are never pat, although experience lets you skip steps in your thinking so you can focus on bigger, harder problems.
(When you put a set of game elements together for the player to manipulate, and the player has an objective, there ends up being an optimization problem for the player to solve, and the solution to that problem is itself a sequence of commands -- a program, if you will -- that the player must execute. So the things that the designer puts in the game end up functioning as commands that force the player to take certain actions!)
Numerical equivalence simplifies the designer's work by taking two branches of the tree, recognizing that one has a greater chance of success than the other, and changing probabilities so that the weight of the branches is the same. But that also simplifies the work of optimization, which is the fun of play.
Look also at what happens when a strictly overpowered strategy appears: a quick search for the viability of that strategy in any given run becomes the entire optimization game, because establishing that overpowered strategy becomes the only way to win. But a strictly overpowered strategy is not numerically unbalanced; it's linear rather than bushy. The whole game is, and should be, numerically unbalanced in the player's favor. That merely means that strictly optimal play would lead to a good chance of victory, and the function of the player is to pursue optimal play. Our systems of reward anticipation force us to behave that way.
Optimal Play Must Be Fun Play
So we want high-stakes situations that crystalize into definite, but hard to discern, right and wrong answers. We do not want these to be trivial or meaningless distinctions, like those in elemental systems, but we do want them to depend on contingencies and tactical arrangements. We also want them to make sense and carry with them a certain mnemonic content. The mantra that "optimal play must be fun play" is perhaps more useful inverted: Fun play should lead to optimal play.
That means that, for instance, running around blasting things with fireballs, which is fun at first, should then lead to dynamics and consequences that are meaningful variations on the theme. Brogue has a leg up in this regard. Whatever tricks and tools work in the early game for a particular kit, will still be necessary in the late game, but new tricks and tools will have to be rolled in. If the tricks stay exactly the same (as they do with high Regen or Quietus), the game becomes boring. It's more fun if you have to change up your tactics as you go. To make sure you have to, situations need to involve more moving parts, some of which demand different equipment for simplistic elemental reasons (salamanders, revenants, golems), and others of which demand novel tactics because of how they force the game state to crystalize into a 1hp high-stakes system (horrors and dragons especially).
The alternative, of course, is to keep the player doing exactly the same thing but to exploit our in-built narrative credulity to make it feel new. The dopamine cycle so popular in RPGs, MMORPGs, and casual games, does this. Even though the actual relationship between the player and a monster changes as the player becomes more powerful, in such a way that the monster is substantially a totally different threat, past experience with the monster -- situations that established a tactile experience with it and the sensation of its posing a significant threat -- create an illusion of learning, and learning (when it actually works) is fun.
It never even stops working! If you can afford to keep supplying new content, players will grind away forever.
Everything in its place
Instead of the illusion, it's entirely possible to create the reality of nearly perpetual learning and invention. By keeping the tree of game states as bushy and unkempt as possible, without admitting any trivial solutions, you create a game where there are always new paths to find. It's too hard to cut from whole cloth, but you can build it up from scraps. In Brogue, the most profitable way to do it is to look at every item, terrain type, and monster, and ask about it:
Is this as interesting as it can be as often as possible? If not, what else needs to change to make it so, or what totally new behavior can make it interlock with more of the rest of the game? In the situations where it is useful, what else can change to make it a harder decision to use it?
These questions can be asked, and their answers can be applied, forever and without limit, without ever being afraid of making the game too complicated or obtuse. This is already how Brogue has gotten where it is, and it's important (I think) for the entire community to start arguing about the design of the game from a perspective like this one. Algebraic balance is the first, exciting new building block in a long time. There's a whole lot of theory left to build.