Ограничение времени во "Вторжении" или как решить проблему "искусственного затягивания боев"

Две противоборствующие стороны бьются не на жизнь а на смерть. Но что такое? У атаки заканчивается ресурс пехоты, восполнить его негде, умирают последние игроки, которые могут хоть что-то сделать. Начинается обратный отсчет. Защитники в поисках последних выживших атакующих покидаю точку, до конца боя 10, 9, 8… Отсчет остановился? Враги начали захват точки, до которой они всей армией дойти не могли? И снова пал последний атакующий на точке захвата, всем в лобби уже давно хочется, но выйти никто не может, ведь не прошла очередная минута с последнего штурма точки, а выйти добровольно, зная что бой проигран атака не может - дезертирство “повесят”. Другой пример: кастомный бой, в который завалилась толпа корешей чтобы покачать своего “нулевого” друга. Его вместе с прокачанными ребятами посадили в атаку, дали ему танк, остальные ушли в защиту чтобы пойти на мясо. И на данном этапе игры с этим ничего поделать нельзя.
НО!
Достаточно добавить параметр времени - и игра во вторжениях кардинально изменится. Атакующим больше не придется отчаиваться и сидеть в спектраторе до конца последней минуты. Они смогут брать свои отряды и продолжать атаковать до последней секунды боя. Также прокачанные чувачки не смогут “бесконечно долго” качать своего друга, просто потому что у защитников нет ресурса отрядов как такового. Теперь “фармилам” придется решать, что им выгоднее, играть много боев со сливами и однообразным фармом, или атаковать точки, чтобы победить, но постоянно мешать однообразному фарму сдвигом “игровых зон”. Время не решит проблем баланса оружия, но этот таймер поможет точнее оценивать длину боя и сделает последние минуты - непредсказуемыми.
Краткое описание механики (разработчики сами могут поменять эти цифры, у них же есть статистика текущей длинны боев на каждой карте, но для простоты понимания эти цифры нужно ввести): Карта - ЛесПромХоз Майский - Вторжение. Атакующим дается 15 минут со старта на взятие первой точки. Если за это время атака не оказалась на точке - бой окончен, победа защиты. Если по истечению времени на точке есть хоть 1 солдат атаки - дается дополнительное время, равное 2ум временам ПОЛНОГО захвата точки (условно точка захватывается 40 секунд, значит овертайм будет 80 секунд [это параметр разный на разных картах и разных точках]). Если по истечению овертайма атака не выбила врагов с точки и не захватила ее - победа атаки. В случае продвижения атакующих им дается прибавка к основному времени. Тут могут быть варианты:

  1. Самый простой в реализации - давать определенное количество времени (5 минут например) при каждом захвате точки. Также этот вариант наиболее простой для оценки игроком трат времени (0 точек -15 минут боя, 1 - 20 минут и т.д до 35 минут). Но при этом вариант не удобный как для слабых атакующих (им пяти минут может не хватить для какого либо продвижения, так и для сильных - будет слишком много времени и снова затягивание боя [привет фарм очков]).
  2. Вариант эквивалентный предыдущему, но время будет даваться в количестве времен захвата следующей точки. Пример: первая точка берется полностью за 40 секунд, 2 за 60, 3 за 30, 4 и 5 по 45 каждая. И пусть на атаку следующей точки к основному времени добавляется (3+1)t, где t-время атаки этой точки. Таким образом при полном захвате всех 5 точек максимальное время без учета овертаймов будет равно 1560 + 460 + 430 + 42*45 = 1620 секунд (или ровно 27 минут). Этот вариант усложнен как с точки зрения реализации, так и с точки зрения понимания игроками, но ИМХО, является куда более справедливым, нежели первый, и затягивает бои меньше. Явный минус - при малом остатке основного времени будет максимальная прибавка времени может составить 4 минуты (в данном примере [если быть более точным 4 времени самого долгого захвата точки], чего может не хватить, если точки расположены далеко. Поэтому рождается третий вариант - самый сложный, но при этом самый справедливый.
  3. Прибавка к основному времени рассчитывается из нескольких параметров – оставшееся время, расстояние между точками и (возможно) коэффициента укреплённости точки [под этим коэффициентом я подразумеваю удобство обороны данной точки(наличие окон со стороны атакующих, открытость/закрытость местности, наличие соседних домов). Данный коэффициент крайне индивидуален для каждой точки, возможно с ним нет смысла париться, но в примерах он будет учтен]. Прибавку к основному времени можно рассчитать по формуле: (n+1)t+mk1+fk2,где
    n – коэффициент времени, зависит от оставшегося время в момент захвата точки

t – время полного захвата следующей точки, секунды

m – расстояние между точками, метры

k1 k2 – некоторые постоянные коэффициенты, секунды/метры и секунды, соответственно

f – некоторый коэффициент укрепленности следующей точки
Расчёт для «n»: если оставшееся время меньше 5 минут (т.е. команда взяла точку в последние минуты или овертайм), то n=5, если остаток времени лежит между 5 и 15 секундами n=3, и если остаток текущего времени больше 15 минут n=1.
Рассмотрим 2 примера:
а) успешный захват точки 3, захват 4 точки будет длиться 30 секунд, остаток времени – 7,5 минут, расстояние между точками – 200 метров. Пусть k1=0.1 секунд/метр, k2=60 секунд, f=1.5, т.к. в данном здании – 6 окон со стороны атаки, 3 из которых на втором этаже, перед точкой – 25 метров пустыря, слева и справа от точки – два двухэтажных дома, тогда прибавка после штурма точки 3 составит (3+1)30+0.1200+101.5=120+20+15=155 секунд, тогда общее время на штурм точки 4 составит 605 секунд (10 минут и 5 секунд). Согласитесь, прибавка чуть больше 2.5 минут не такая уж и большая, не смотря на хорошую укрепленность и большое расстояние. Хотя этот вопрос решается общей настройкой коэффициентов.
б) а) успешный захват точки 4, захват 5 точки будет длиться 60 секунд, остаток времени – 3 минуты, расстояние между точками – 50 метров. Пусть k1=0.1 секунд/метр, k2=60 секунд, f=0,5, т.к. в данном здании нет окон со стороны атаки, перед точкой много зданий, слева –река с низиной и сарай, справа от точки одноэтажный дом с большими окнами, тогда прибавка после штурма точки 4 составит (5+1)60+0.150+10
0.5=600+5+5=610 секунд, тогда общее время на штурм точки 5 составит 790 секунд (13 минут и 10 секунд). Данные цифры были взяты ИСКЛЮЧИТЕЛЬНО из головы автора данного поста для улучшения понимания механики для простого обывателя (и надеюсь, разработчика). Из примеров видно, что имеет смысл уменьшение влияния коэффициентов зависимости от остаточного времени и увеличение влияния дополнительных коэффициентов.

Надеюсь, те кто делают эту прекрасную игру прочтут этот пост.

Всем, кто прочитал данный пост до конца – спасибо. Жду конструктивной критики в комментарии под этот пост.

Всем добра).

3 лайка

Полагаю, победа защиты. А так хорошая идея, в ТФ2 работала, как часы.

2 лайка

т.е. можно бесконечно играть, пока все не захотят просто не вставать на захват ?)

В целом идея хорошая, но вместо прибавлении времени в ситуации:
“По истечению времени на точке есть хоть 1 солдат атаки - дается дополнительное время, равное 2ум временам ПОЛНОГО захвата точки”
Проще сделать как в том же overwatch:
Истекло время > если на точке атакующие даётся время на захват > убивают атакующего - идёт таймер (2 минуты допустим … не нужно затягивать) > если атакующие доходят до точки - опять дают время на захват и обновляют таймер при их смерти

Да, абсолютно согласен. Конечно победа защиты. Спасибо

Нет, конечно нет. Поясняю - есть овертайм, который включается только если истекло основное время и на точке есть хоть один солдат. Овертайм тоже не бесконечный. Как только овертайм кончается - кончается и матч

А … понял, извиняюсь

1 лайк

Я возможно не корректно выразил свою мысль, но в целом я так и предложил. Единственное отличие - отсутствие последующих овертаймов, иначе мы не решаем проблему поставленную. Овертаймов за матч может быть не больше пяти, но при штурме одной токи не больше одного. Не уложились во времени или вас целиком выбили с точки - извольте проиграть.

ничего страшного, это показатель того, что я не указал все свои мысли или выложил их не корректно.

Если это предложение не исключает отключение тикетов на возрождение, то фигня. Потому как предусматривает все бонусы только в 1 сторону, а именно защиты. Если человек не дождался 30 сек до победы, то это его вина, потому что как и жизни - выпилившийся за 1 день до 8 (у них) или 9 мая (у нас) вряд ли считает себя победителем.

однозначно исключает. Я может быть не сильно на этом внимание акцентрировал, но вроде писал, что этих очков быть не должно.

1 лайк

Ну да, я в явном виде не сказал, но здесь я подразумевал, что очков возрождения не будет у обеих команд. Некорректно выразился, извините)