=> yujiri.xyz | Miscellany
I'm pretty good at games. If me and a random person pick up a new game at the same time, I'll probably be better than them after the same amount of practice. And you might say that's just because I've played so many more games in my life, so I can more easily recognize patterns I've seen in previous ones, but that's exactly the point: I have learned, from playing many games, wisdom for being good at games in general. I want to try to share it. It's all subconscious and hard for me to bring up to the level of consciousness, but here are some I have. I'll expand this article if I think of more.
I can't find it anymore, but I once read an article claiming to offer strategy advice for Cuphead, for which charm you should equip. The article said something like "if you struggle with X, use the charm that helps with X, if you tend to die a lot, use the one that gives you +1 HP". And this is the purest distillation I've seen of having no sense of gaming strategy. The only way to lose in Cuphead is to die, so if you're struggling, you must be dying a lot, so this advice is saying that if you're struggling the answer is always to use the HP charm, and that's bullshit, because other charms can save you HP. For example, if you equipped a charm that increases your damage instead, you could clear the level faster and not have to dodge attacks for as long, so you wouldn't need as much HP.
Cuphead doesn't have a charm that directly increases your damage, but it does have a charm that lets your dash move go through enemy attacks without being hurt. Whenever this charm causes you to avoid damage you otherwise wouldn't have, it's effectively giving you +1 HP, so if the average number of times that happens per attempt is >1, it's better at keeping you alive than the charm that gives +1 HP.
The takeaway here is that every bonus can be converted to the currency of any other. A damage boost can be worth a certain amount of HP. An HP boost can be worth a certain amount of damage. A speed boost can be worth a certain amount of either. You can't just think about what kind of bonus you need, you have to think about how much each bonus would help when converted to that currency.
Every game element - card, unit, character - has situations where it's worse and situations where it's better. Think about the nature of the thing, and realize what those situations are.
A common dimension of scaling is with itself. Some things get worse the more of them you have (diminishing returns). Some things get better the more of them you have.
It's not always obvious. For example, if increasing your strength stat by 1 makes you deal 1 more damage with each attack, each point of strength is worth the same amount, right? No. That's diminishing returns, because you should be thinking about it multiplicatively. If you're dealing 1 damage with each attack, +1 damage doubles your damage, but if you're dealing 10 damage, +1 damage only increases it by 10%. On the other hand, if increasing your armor by 1 makes you take 1 less damage from each attack, armor has increasing returns, because if you're taking 10 damage per attack, subtracting 1 reduces it by 10%, but if you're taking 2 damage per attack, subtracting 1 reduces it by half.
Similarly, in games where you command many units at once, ranged ones scale better than melee ones, because there's a limit to how many melee units can fit adjacent to an enemy, so they can't all attack at once. Ranged units aren't practically limited by this because they can attack from behind each other. For example, in Age of Empires 2, 4 scout cavalry can beat 5 archers, but 16 scout cavalry lose to 20 archers.
I want to tell another story about bad advice given by someone who doesn't understand this stuff. Hollow Knight is an action platformer where you can heal, but it requires you to stand still for a second, so you have to find downtime in an enemy's attack pattern to be able to heal. It also has a charm system like Cuphead, where you can choose different bonuses to equip. Carefree Melody is a charm that basically has a ~20% chance to block each hit you take. Now: in what situation is Carefree Melody good or bad?
The Hollow Knight fan wiki claimed that it's good in battles where there aren't many opportunities to heal. This betrays the same kind of foolish thinking as the Cuphead article I mentioned: "we need some kind of defense, so if we can't heal, we should use the charm that blocks damage!"
What's the right way to think about Carefree Melody? You can start by thinking of it as giving you 20% more hp, but then notice that it also gives you 20% of that 20%. If you start with 25 hp, Carefree Melody will on average block 5 hits by the time you would've died, leaving you with 5 hp. But that means you'll take 5 more hits before you die, and Carefree Melody can be expected to block one of those. So it actually gives you about 6 more hp if you start with 25. It pays dividends on the dividends. This pattern is called a geometric sum:
=> https://en.wikipedia.org/wiki/Geometric_series
Healing, like Carefree Melody, can be thought of as giving you a certain proportion more health: if, on average, you manage to heal once every 5 times you take damage, and you start with 25 health, you should expect to end up healing 5 times by the time you would've died, leaving you with 5 health, and then you can expect to heal once more before you run out of those. It's just like Carefree Melody.
The final piece of this puzzle is to think of Carefree Melody as adding to your healing rate. If, on average, you manage to heal once every 5 times you take damage and you have Carefree Melody equipped, think of it as blocking 2 of every 5 hits. And with some quick math you will find that this gives you an expected 41 hp, which is about 33% more than you'd have without Carefree Melody. Here's some Python code that calculates your effective hp given your base hp, your healing rate, and Carefree Melody's block rate:
def effective_hp(base_hp, carefree_melody, healing): total = base_hp remainder = base_hp while remainder >= 1: remainder *= (carefree_melody + healing) total += remainder return total print('no healing, no carefree melody:', effective_hp(25, 0, 0)) print('no healing, carefree melody blocking 20%:', effective_hp(25, 0.2, 0)) print('healing 20%, no carefree melody:', effective_hp(25, 0, 0.2)) print('healing 20%, carefree melody blocking 20%:', effective_hp(25, 0.2, 0.2)) print('healing 40%, no carefree melody:', effective_hp(25, 0, 0.4)) print('healing 40%, carefree melody blocking 20%:', effective_hp(25, 0.2, 0.4)) print('healing 70%, no carefree melody:', effective_hp(25, 0, 0.7)) print('healing 70%, carefree melody blocking 20%:', effective_hp(25, 0.2, 0.7)) print('healing 79%, no carefree melody:', effective_hp(25, 0, 0.79)) print('healing 79%, carefree melody blocking 20%:', effective_hp(25, 0.2, 0.79))
As you can see from the test cases, what matters is the sum of your healing rate and carefree melody's block rate. And having that sum be 0.4 is more than twice as good as having it be 0.2. As the sum approaches 1, your effective hp approaches infinity.
This type of scaling is called hyperbolic:
=> https://en.wikipedia.org/wiki/Hyperbolic_growth
So, in fact, Carefree Melody is at its best in battles where there are already many safe opportunities to heal.
Lanchester's square law is a principle about warfare that applies to most games where multiple units can fight against multiple units, with all of them attacking at once. It says that incrasing your number of units by a factor X is worth as much as increasing the firepower or durability of each one by a factor of X squared. For example, if you have 100 units that each have 10 hp and deal 2 damage per turn, they should be about an even match for 200 enemy units that each have 5 hp and deal 1 damage per turn.
Intuitively you might think (and I used to think) that doubling your number of units is doubling them in one way, which should be as good as doubling them in one other way (hp or damage). But doubling your number of units is not doubling them in one way, it's two: you deal damage twice as fast and have twice as much total hp.
In practice, it's often not quite that good because of granularity. Assuming that units remain fully effective when at low hp, smaller numbers of tougher units allows your army to retain more of its effectiveness than its hp would suggest. For example, if you have only 1 unit that deals 1 damage vs 2 units that deal 1 damage, when both of you have taken out half of each other's total hp, they start doing half as much damage while you're still doing full damage. So your unit only needs to have 3x as much hp for it to be a draw, not 4x. But as numbers of units scale up, granularity becomes less of a factor and Lanchester's square law more accurate.
In many real-time strategy games, you can invest in upgrading all your units, but these upgrades tend to not be as good as intuition would suggest when compared with spending the same resources on just adding more units, because of Lanchester's square law.
when you're playing a puzzle game, you shouldn't just be trying to find the sequence of moves that leads to solving this particular level. You should be trying to find generally applicable observations about the puzzle mechanics that will let you solve future levels without so much trial and error. Remember, wisdom is about generalization.
When you lose in a PvP game and you don't understand what you could've done better, try playing the opponent's strategy. The next person who beats you will show you what you should've done.
Reviewing games you lost is a great way to see what mistakes you're making. But it can also be a chore, since it can take a lot of time not actually playing the game you enjoy.
It can help to know what to look for. Many strategy games have a positive feedback loop (a dynamic where, the more behind you get, the easier it is to fall even further behind), including Chess and Starcraft (since the more pieces/units you lose, the harder it is to protect the ones you have left). In games with this dynamic, I recommend only watching the replay until the first point where it seems like you're behind, because once you're behind, you shouldn't be able to come back against a feedback loop. You might have made more mistakes after that point, but they're not what you should focus on improving. Focus on finding out how you got behind in the first place.
text/gemini; lang=en
This content has been proxied by September (ba2dc).