The Medigun Healing Ramp

Robin Walker from Valve today talks about the Healing in Team Fortress 2 and what the exact impact is of variability in the rate at which players heal their targets.

n any game there’s often a bunch of hidden complexity behind some of the simplest looking features, and TF2 is no exception. One example is that of the Medic’s medigun. From a player perspective, it appears simple enough: point it at a team mate, press the button, and it’ll heal them. After playing with a bit, most players notice that they have to stay near their target and maintain line-of-sight to their target. After playing with it a lot, some players notice that there’s some variability in the rate at which they heal their targets. I thought it might be interesting for Medics to explain what’s going on here, and why.

The rate of healing actually ramps up based on the amount of time since the heal target was last injured. If it’s been greater than 10 seconds since the target was hurt, the heal rate is increased. The amount of increase ramps linearly up to 3 times the base heal rate at 15 seconds since the target was hurt. So if you’re healing a target who’s been hurt less than 10 seconds ago, you’ll only be getting the base heal rate of 24 health a second. If the target was hurt 12.5 seconds ago, you’ll be healing at 48 health a second. If the target hasn’t been hurt for over 15 seconds, you’ll be getting the maximum heal rate of 72 health a second.

Like many additions of hidden complexity, this was a solution to a problem we observed in playtesting. Early on, the medigun only had a single base healing rate of 24 health per second. One behavior we saw players exhibit was that of retreating away from the front line to get healed by a Medic, before returning to combat. Over time, we saw players stop doing this, when they realized that the time it took to be healed back there wasn’t worth it. They could have kept fighting at the front line, died, and respawned in much the same amount of time. We wanted to encourage that retreat-for-healing behavior, so we needed to reduce the time it took. We didn’t want to affect the healing rate ‘in combat’ though, so we added this ramp. By using the time since the target was last hurt as a measure of how much combat the target is in, we could essentially tune two different healing speeds independently. The base amount is the rate of healing ‘in combat’, and the fully ramped amount is the healing rate for resting ‘out of combat’.

Source: Team Fortress blog