Не будь то аим-бот, не будь то помощь консольщикам, в современных играх с возможностью помахать мечом/кулаками/иным орудием массового уничтожения, плотно закрепилось одно прекрасное геймдизайнерское решение - тартетинг.
Что самое интересное - выражен он бывает в разных формах, может быть как в MMORPG, а может быть едва заметным. Я посмел выделить три из них и в этой статье разберу логику их работы и их практическое применение.
Протагонист is watching you
Самой очевидной формой проявления таргетинга является...
тартетинг. С UI прицелом и жесткой привязкой по нажатию на кнопку.
Быть может в пример взять Devil May Cry? Чистокровный hack'n'slash с подобным таргетингом, но проку от него маловато, ибо используется все равно лишь для орудия дальнего боя, а размахивая двухметровым мечом, сложно не попасть по врагу.
В пример люблю приводить Souls серию с ювелирно-точной боевкой, где дряхлая нежить в лице главного героя, по началу с тяжестью дубину поднимает, не то что уж ей размахивать.
За ювелирную точность отвечает UI - элемент, что в некоторых случая уменьшается или увеличивается в зависимости от дальности до врага и с десяток строк кода.
Логика такова : по нажатию target-клавиши, в направлении вектора взора, вылетает на определенное расстояние сферокаст, ибо стрельба сферой поможет охватить более широкий диапазон. Попадая во врага или рядом с ним,начинает входить в симбиоз прицел, преследуя его в результате преобразования координат мировых в экранные. Сам же герой поворачивается и держится лицом к врагу, объект "игрок" на уровне движка вечно смотрит на врага через функции поворота типа look rotation или в направлении Вектора = позиция цели минус позиция игрока.
В случае же, если враг в цели уже есть, при нажатии кнопки можно пульнуть еще сферу, но куда удобнее отсканить врагов рядом быстро увеличивающейся сферой вокруг, добавив их в список. Следующей целью может быть самый ближайший враг, либо следующий в списке, но никак не тот, что является целью сейчас.
Маленький помощник
А знаете игры, где камера не охватывает все поле боя, с врагами биться надо по одному, но все же их несколько? Так получилось, что в подобных играх частенько бывают зрелищные комбинации, а элементы UI зрелищность изрядно поубавят.
И так, для того чтобы даже самому казуальному казуалу выдать комбо, камера намагничевается, но не сильно. Я бы привел в пример свою любимую Risen, но немного народу о ней знает, поэтому возьмем свежий God of War :
Вообщем то герой ударяет в направлении взора камеры, но если вы начали совершать насильственные действия в отношении врага, камера начинает работать с большой погрешностью. Отведя её например на 40 градусов от цели, герой продолжит бить в сторону врага, хотя должен начать бить на 40 градусов в сторону. Всё же, если повернутся резко и тем более на другого врага, герой отлипнет и начнет ударять куда вы хотите.
Работа такого механизма может быть обременена кучей ненужных математических операций, но самая простая из них - сравнивать вектор направления камеры и вектор направления персонажа, который активно лупит по врагу. В случае, если разница больше 45 градусов например, персонаж поворачивается в нужную сторону и бьет... воздух.
Магнитный герой!
Увеличим масштабы. Допустим действующее лицо искусный мастер-убийца, прекрасно владеющий всяким оружием и потеющим в капюшоне и многослойном наряде, а еще в игре с ним тупой ИИ. Угадали?
Меняем на плащ, ночной город и кулаки. Супергерой раскидывающий 5-7 негодяев одновременно. Или вот другой бледный искусный убийца с модифицированной ДНК, что воюет с монстрами, у которых понятие чести отсутствует, поэтому нападают они тоже кучей.
Ну и наконец игра, которой это нужнее всего - стреляющий белой жидкостью подросток, что раскидывает нарушителей порядка во все стороны и насмехается над ними. Нет, это не типичный подросток в пубертатном периоде с богатой фантазией, это человек паук!
Если протагонист способен одолеть два десятка врагов, что его окружают, он должен сделать это красиво (с помощью своей паучьей чуйки (извините)), а значит больше работы геймдизайнеру.
Принцип работы один и тот же, фишка в ловком перемещении меж врагов, где главный герой успевает и люлей отвесить негодяю.
Так как камера пытается охватить всех врагов вблизи, зависимость от неё минимальная (но все же есть), работает все на вводе и определении, если ли в направлении кто враждебный.
Например сзади никого нет, Геральт может сделать лишь небольшой перекат, а если мы прожимаем движении в направлении врага и нажимаем атаку, Геральт ловко подскочит и ударит. Думаю эта система является совершенством для подобного рода геймлея, сочетая в себе минимум телодвижений со стороны игрока, максимальную зрелищность и оптимизированную техническую составляющую.
Соседние статьи с канала :
Как сломали Fallout New Vegas
Основы инверсной кинематики
Как создаются моды