538’s Riddler Express this week


The Riddler Express presented there (and quoted below) is a reasonably common puzzle I’ve seen before:

From Trevor Ferril, some cafeteria multiplication:

Two intelligent, honest students are sitting together at lunch one day when their math teacher hands them each a card. “Your cards each have an integer on them,” the teacher tells them. “The product of the two numbers is either 12, 15 or 18. The first to correctly guess the number on the other’s card wins.”

The first student looks at her card and says, “I don’t know what your number is.”

The second student looks at her card and says, “I don’t know what your number is, either.”

The first student then says, “Now I know your number.”

What number is on the loser’s card?

The solution is pretty straightforward; as far as I know the best way is to just solve this by trying out the possible combinations.

The first student can’t have any card that would mean the second student must have a specific card.  Therefore, the first student can’t have 18, 15, 12, 9, 5, or 4–and the second student now knows this also.

The second student also can’t have any of those cards, for the same reason, but the first student only learns this as the second student makes her statement.  Of course, this also means neither student can have 1. The possible cards remaining are only 2, 3, and 6, so one student has the 6 card and the other has either the 2 or 3.

In this problem, the first student has either the 2 or 3 and the second student (the loser) has the 6.

It can’t be the other way because if the second student had either 2 or 3 she would have known the first student’s number after the first student’s statement.


This is of course similar to (but simpler than) the more-famous “Blue Eyes” logic problem. You can see Randall Munroe’s solution here.


Inspired by Overwatch again, but also relevant to other games: it’s not usually good when the best way to deal with a specific hero (unit, card, etc.) is to just use that hero yourself.

The whole reason to have multiple different heroes is to allow for different playstyles.  Some people like just clicking on enemy heroes, so they play McCree or Widow.  Some people would rather be disruptive to the enemy team, so they can play D.Va or Winston, etc. This is all fine, but one of the central ideas in Overwatch is that you can switch heroes mid-game to counter an enemy team. So it’s pretty clear the intention is some system of soft counters–you might pick up Winston specifically to shut down an enemy Genji or Widow, for instance.

The problem with this system comes when the easiest or most effective way to deal with a specific hero is … to pick that hero yourself. The two main culprits in this are Reinhardt and Ana, though Blizzard has taken some steps to mitigate both of these “self-counters”.

With Reinhardt, the problem is twofold.  There’s the obvious difficulty in dealing with his shield; the easy and low-coordination solution is to pick your own Rein and then break the enemy shield by poking it down quickly. This isn’t necessarily a problem, though, because you can also dive the Reinhardt–he’s not a particularly good hero when you make his shield mostly useless by jumping into the backline with Winston and Genji or something.

The other problem is actually more serious, and it’s Reinhardt’s ultimate. Sure, you could suggest spreading out so an earthshatter doesn’t hit more than 2 or 3 people, but even a 2- or 3-hero earthshatter is often enough to win teamfights, and it takes a lot of coordination to spread out appropriately. The easy way to deal with earthshatter is to block it, but the only hero that can reliably do so is Rein himself, since the other barriers are too slow to create and too fixed-in-place.

Amusingly, one solution to this is to make earthshatter penetrate shields, though that probably makes it too strong in general. Alternatively perhaps you just leave it as it is and just admit that playing against a Rein without your own Rein takes lots of coordination.  The addition of Orisa does at least add another barrier with 100% uptime, even if the barrier is mostly immobile.

You used to have a similar situation with Ana ult, where the only reliable response to a nano boost was to either use your own nano boost or to use sleep dart on the boosted hero. Other ultimates charged too slowly (especially near Ana’s release) to ensure they’d be available as a response, and no other heroes had basic abilities with disabling effects that would last long enough to neutralize a nano boost. With the removal of the speed boost that used to be applied during a nano boost you can actually either try to avoid the boosted hero (if it’s a tank) or still attempt to kill it (if it’s a dps hero).

Ana still does have a self-counter situation with her grenade, though. Double healing is strong enough that it’s nearly impossible to kill a tank with Ana’s grenade buff … unless you counter it by removing the healing altogether with an Ana grenade. Ana still works out okay in the end, but she’s been a staple of nearly every competitive team for months largely because her grenade really is that good, and it’s even better when the other team doesn’t have their own grenade.

Lucio also has a bit of this going on, since the only way to keep up with a teamwide speed boost (especially if it gets Amped) is your own Lucio. Lucio being an aura hero makes it hard to see how much of a problem the self-counter aspect of Lucio is, though, since auras have to be overtuned to get players to use them (Riot learned this lesson with League; it’s the reason that aura items no longer exist: every single one of them was too strong, and making them appropriately costed meant they felt awful so they would never get used), so Lucio is just too powerful in general … at least for now.

One more aspect of Brady v Manning

Obviously this is about Peyton Manning and Tom Brady, and the argument about which player is the better quarterback.  I’m not going to reach a conclusion here, but there are two things that are important to consider that as far as I can tell almost everyone ignores.

The first is articulated by Benjamin Morris of FiveThirtyEight in his article here, which is that Peyton Manning was tremendously successful with multiple head coaches and even with two different franchises, whereas Tom Brady has been successful only with Bill Belichick and the Patriots. This isn’t a slight against Brady per se, but it does leave some room for doubt.  Belichick did have Matt Cassel play quarterback for an 11-5 season after all, and had success this year with Brady suspended.  Meanwhile the Colts went 2-14 the season Manning missed with neck surgery.

The second is pretty old hat if you follow baseball and read FanGraphs like I do, but as far as I can tell the media and other internet discussions don’t bring this up as often in football, and with the Super Bowl next week and this article from The Ringer being published yesterday this is a good time to bring it up: players’ value to their team is really their “market value” (if we assume the market is perfect, which it isn’t, but…) minus their actual salary.  Over the course of his career, Manning was paid a lot more money than Brady (see for instance this Forbes article). Therefore, Brady’s teams have had a lot more money to spare to build a team around Brady than Manning’s teams have had to build around Manning.  Even before accounting for Bill Belichick’s team-building ability (which as far as we know is the best in the NFL) this gives Brady better teammates around him, which then improves Brady’s statistics.

Of course, Brady has still had much more team success than Manning has, and their stats are very similar. I certainly wouldn’t be confident in saying that Manning’s career is greater than Brady’s.  I just wouldn’t be confident in saying the reverse, either.

Healing in competitive games

In short: don’t include ally-targeted healing skills in competitive games, in particular in team-based games like Overwatch, League of Legends, and such.

The main game-design problem with healing skills is that it’s hard to make the healing worthwhile but not too powerful to be problematic. If healing skills are too strong, you reach a point where everyone can pick a healer and then no one ever dies because the healing outpaces the incoming damage.

To deal with this, you basically have two options for designing heal skills: either you make healing strong but with a long cooldown, or you make healing weak but available often.

Weak healing skills then end up being mainly anti-poke healing.  During a teamfight, weak healing is not very useful–as I said above, it has to be outdone fairly significantly by the enemy damage.  So you could use weak healing as a form of player regeneration to force actual engagements as opposed to just endlessly poking down the enemy team, at the cost of having to actually select the healer instead of a better teamfight character. If that’s the design goal then weak healing is okay, but I prefer just giving characters other forms of regeneration (passive hp-over-time, or Overwatch’s health packs, etc.) instead. That means poke damage doesn’t become useless (it often feels futile or even outright counterproductive to deal poke damage to the enemy team in Overwatch, since you might just be charging their support ults).

Strong healing in theory can work, but I think there’s just a better mechanic to use: shields (temporary HP). Both shields and strong burst healing function largely similarly: they can be used to reduce poke damage (at the cost of opening a window where the shield/heal is on cooldown that the other team can in theory exploit), or to prevent burst damage from killing an ally.  There are two main differences, and I think both of them point to shields being the better mechanic.

First, shields allow for more interesting play from both teams.  Obviously, shields allow for the team playing against the shield to attempt to ignore it entirely. This is a lot more interesting than the “oh our first 200 damage just doesn’t count” that burst healing often turns into.  On the other team, shields can be much more powerful than heals can: you don’t have the immortality problem, since shields can’t undo damage.  This allows the team using the shield to enable aggressive positioning and maneuvers (like a Reinhardt or Riven charging in to the enemy team) that wouldn’t … or at least shouldn’t … be possible to do otherwise.

Shields also lead to a bit less snowbally gameplay, since after you win a fight you can’t just use the shields to heal up.  In a game like League where things like turrets and neutral objectives deal damage to you, this means that how much you win a fight by is a big deal, since you might not be able to kill Baron if you don’t have enough health left, since you can’t heal it up.  In general this is a desirable thing for team-based games.

League, of course, does a pretty good job of using shields instead of ally heals (and the two most notable ally-healers, Taric and Soraka, are both partially relics of old champion design besides).  I don’t like how healing in Overwatch functions all that much. In my limited time playing Heroes of the Storm, healing was a giant mess there too, it was much too strong compared to player damage.  Perhaps Blizz has fixed that since then.


This is inspired by talking to my sister, because she stresses over decision-making and I’ve always been much more easy-going.  There are a couple different parts of decision-making that I’m going to write about in this post.

If, after doing whatever research you deem appropriate, you’re choosing between several alternatives that seem roughly equally good–a common example would be choosing where to attend college, if you’re going to college–I think the right thing to do is just make a decision.  If your choices seem similar, then they probably are similar, especially if you properly did your research.  Make a decision and things will be fine, is my experience.

Related to this is how you should evaluate decision-making.  An important thing is that in evaluating decision-making you must not use any results from the decision when evaluating it.  When you’re making a choice, you have limited information.  Sometimes, the information you have might lead to a bad result, but that does not necessarily mean your choice was poor.  Sports provide lots of easy examples of this.  Clayton Kershaw is the best pitcher in baseball and choosing to start Kershaw in game 1 of a playoff series is clearly the correct decision.  Sometimes you get game 1 of the 2014 NLDS, where Kershaw got hammered.  Given what you knew at the time–that Kershaw is the best starting pitcher in baseball–starting him was still clearly the correct decision.

From a sports follower’s perspective, the way that sports writers use results-based “analysis” of various decisions is immensely frustrating.  How well Sam Bradford actually plays this season should not change your evaluation of the Vikings’ trade for Bradford at all.  You judge the trade based on what you knew at the time it was made, so you weigh how well you expect Bradford to play and the cost (including cap hit) of his salary against the expected net value of the draft picks the Vikings gave up.

The right way to use the results of a decision to inform future decisions is to use them to figure out if your decision-making process is flawed.  Sometimes the best information you have still leads to bad results, and you will do better in the future if you accept this. Improve the information, if you can.

Marriage Laws

I’m not planning on talking about politics much on this blog, but the relationship between the United States government (including state laws) and marriage is very odd, in a way I haven’t seen discussed very often.

The First Amendment restricts the United States government, as well as all the states, from either supporting or discriminating against any religion. Therefore, according to the Constitution, any legal establishment of “marriage” must be secular.  Legally, laws talking about marriage and religions talking about marriage are talking about two entirely separate things; Christian marriage, or Muslim marriage, or any other religious marriage cannot be addressed by any law in the United States.

Any arguments against legalizing gay marriage, or polygamy, or any other marriage practices, that is based on religion, thus, is completely irrelevant to the laws of the United States.

The U.S. can, of course, still create a legal concept of marriage, which in recent times has come under legal challenges. But it’s important to note that that any discussion of religion is probably misplaced when talking about the legality of marriage in the United States; the U.S. is not allowed to “protect” any form of religious marriage.