В любой игре за простой вещью скрывается разветвлённая
система алгоритмов, и TF2 не исключение. Например медиган Медика. С точки зрения
игрока всё выглядит довольно просто: наведи прицел на товарища по команде, нажми
кнопку, и пациент лечится. Через несколько минут игрок-медик понимает, что
должен видеть того, кого он лечит и находиться рядом с ним. Спустя ещё какое-то
время некоторые игроки-медики замечают, что скорость лечения бывает разной.
Поэтому я думаю, что было бы интересно объяснить почему так происходит.
На самом деле скорость лечения зависит от количества времени, прошедшего после
ранения пациента. Если прошло более десяти секунд, то скорость увеличивается.
Всего скорость лечения увеличивается три раза в течение пятнадцати секунд после
ранения пациента. Так, если прошло менее десяти секунд, то пациент будет
получать 24 очка лечения в секунду. Если прошло 12,5 секунд, то пациент получит
48 очков лечения в секунду. И если прошло свыше 15-ти секунд, то пациент получит
максимальное количество очков лечения в секунду - 72.
Всё вышесказанное являлось решением проблемы, которую мы выявили во время
тестирования игры. Ранее медиган давал пациенту 24 очка лечения в секунду, и мы
заметили, что сначала игроки бегали с поля боя, и, полечившись у Медика,
возвращались обратно. Через некоторое время игроки перестали ходить к Медику,
т.к. поняли, что смерть в бою - это лучше, чем медленное лечение. Поэтому мы
решили поощрять игроков, ушедших с поля боя к Медику. А так как мы не хотели
влиять на скорость лечения во время битвы, то сделали увеличение скорости в
зависимости от времени ранения пациента. Таким образом мы теперь можем
контролировать две разные скорости лечения независимо друг от друга. Тоесть во
время битвы пациент получает базовое лечение, и ускоренное, если немного постоит
в стороне.