Что делает прицел в консольном шутере от первого лица приятным?

11

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

Итак, каковы некоторые входные парадигмы, которые заставляют современный FPS работать на консоли хорошо?

тетрада
источник
Я хочу , чтобы ответить на этот вопрос так плохо; но я под NDA !!!!! Загрузите MW2 на 360, разделите экран, переместите только правую палку над целью, наблюдайте, что происходит. Затем переместите только свою левую палку и полосу из стороны в сторону, понаблюдайте, что происходит.
AA Grapsas
2
Это нехорошо: p (я твердолобый от клавиатуры / мыши)
Gagege

Ответы:

19

Я пошел к сессии GDC в этом году , представленном ребята в Sucker Punch, обсуждая , как они справлялись помощь цели и движению за Дурной. Я понимаю, что Halo использует очень похожую систему для прицеливания помощи, и вот основы:

  • Когда вы нажимаете кнопку, чтобы выстрелить, выстрел должен всегда идти прямо туда, куда указывает прицельная сетка. В противном случае игроки заметят искусственный «щелчок» и почувствуют, что не контролируют ситуацию. Но аналоговый джойстик современной консоли НЕ является достаточно точным, чтобы на него можно было положиться, независимо от его умения. Таким образом, вы должны сделать помощь до момента нажатия огня.
  • В игре есть идея вероятных целей, с помощью которых вы можете настроить прицел, и можете соответствующим образом взвесить их в зависимости от вашей пригодности цели, а также от направления движения вашей аналоговой палки. Затем, когда вы подтолкнете палку к действительной цели, она отрегулирует воспринимаемый игрой ввод, чтобы указать на вероятную цель. Жизненно важно, чтобы эти настройки никогда не изменяли входные данные, которые физически возможны на контроллере.
  • При прохождении непосредственно над целью это замедляет скорость прицела, давая вам больше времени для точного нажатия на выстрел. Кроме того, он отслеживает ваши недавние движения и нажатия кнопок, и если прицельная метка КОГДА-ЛИБО прошла над целью, и это было в течение определенного времени, она регистрирует попадание в цель, как вы могли теоретически нажать кнопку в этой точке, и контроллер пропустил это.
  • Наконец, если нет действительной цели вокруг, контроль визирного полностью вручную, что позволяет игрок полного контроля.

Есть две вещи, которые делают прицел «чувствовать себя хорошо»: вам нужно чувствовать, что вы все контролируете, и вам нужно чувствовать, что игра не обманывает вас. Регулировка восприятия игры направления ввода и синхронизации кнопок в пределах допусков является отличным способом сделать это, поскольку НИКОГДА не приводит к невозможной ситуации, когда автоматическое нацеливание работает лучше, чем теоретически совершенный контроллер. Если вы попытаетесь решить эту проблему по окончании обработки ввода, вы в конечном итоге окажетесь в некоторых отрывочных ситуациях, когда игрок чувствует, что потерял контроль.

Бен Зейглер
источник
Отличный ответ - все дело в ощущении, что вы не обманываете, и в то же время дает вам преимущество сомнений в вашей цели.
Иан
9

Здесь есть хорошие ответы. Я должен был сам разобраться в проекте, над которым я работаю, но пришел к тем же выводам, что и ребята из Sucker Punch (и я подумал, что придумал что-то новое. Baww :().

Я считаю полезным рассматривать вашу панораму 360x180 градусов от первого лица как «поле ускорения». Все действительные цели создают гравитационные лунки, которые изгибают входные данные игрока (только тонкие) так, что макросъемка (поворачиваясь лицом к целям) кажется, что это «смазанный» путь. Тем не менее, это не влияет на перекрестие все время - только когда дельта хода игрока указана с уклоном колодца (как это было). Это действительно ключевой момент - вы даете эту дополнительную скорость поворота только тогда, когда игрок грубо поворачивается к цели. Это единственный вывод, который вы можете сделать из ввода игрока.

Гораздо больше, и вы получаете слишком много заметного "эффекта ouija". Вам нужна полная противоположность ouija: когда доска ouija движется неосознанно благодаря пользователю, без его сознательного знания, вы хотите, чтобы перекрестие игроков двигалось разумным образом, не осознавая, что это НЕ просто их ввод. Это действительно волшебная уловка.

Используйте точечное произведение дельты поворота / тангажа игрока против дельты тангажа / рыскания от перекрестия к каждой цели. Зафиксируйте значение от 0 до максимальной скорости (чтобы вы игнорировали вход, отталкиваясь от цели), затем используйте функцию расстояния в качестве модификатора спада.

Я обнаружил, что увеличение этого бонуса "макроперемещения", когда угловая дельта перекрестия против цели велика (то есть когда враг находится позади вас), действительно помогает решить проблему классического контроллера консоли, заключающуюся в том, что он не может поворачиваться лицом к лицу достаточно быстро. С точки зрения «выбора цели», если на вас нападают сзади, и перед вами нет целей, эта панорама перед вами - «мертвое пространство», и вы также можете дать игроку возможность летать через нее. на большой скорости с их курсором. И если есть цели впереди, ну, они, вероятно, выше в сознании игрока и из-за ослабления / липкой цели не слишком подвержены влиянию слабой макро-силы.

Вам не нужно сильно ослаблять чувствительность, когда игрок пытается отвернуться от объекта (это приведет к ощущению попытки «вырваться» из орбиты цели). Демпфирование используется в большей степени для точного прицеливания, а также для предотвращения превышения цели игроками при переходе от макро-к микро-точности - это самая ужасная вещь: игроки (особенно новички) имеют тенденцию использовать только крайние значения отклонения палки, поэтому сделать много ловли для них.

Липкая цель - компенсатор относительного движения. Следите за разницей между углом к ​​цели (от камеры, а не от источника), этим кадром и последним кадром. Посмотрите, как близко вы стремитесь к цели. Чтобы избежать эффекта ouija при отсутствии пользовательского ввода, проверьте отклонение обеих палочек: посмотрите, двигались ли вы физически (активация левой рукоятки) ИЛИ, если есть активное прицеливание «с» направлением цели. Добавьте шаг дельты рыскания / тангажа * близость цели * Макс (длина хода, цель / длина) для элементарной липкой цели.

Там, где возникает проблема путаницы целей (то есть цель попадает на ваш взгляд, когда вы нацеливались на что-то позади, «крадя» свой фокус), просто отслеживайте свои цели и «нагревайте» одну, пока она активно направлены на Затем умножьте демпфирующие и липкие компоненты на этот тепловой параметр, чтобы не нагретые цели игнорировались. Если игрок ХОЧЕТ помощь по этой другой цели, он будет вручную стремиться к ней, и очень быстро, она станет наиболее заметно нагретой целью, в то время как предыдущая будет забыта.

Мы также создаем «призрачные» цели для прицеливания, чтобы помочь вам отворачиваться от неинтересных вещей (например, лицом к стене - не нужно торчать, глядя на близко расположенную пустую поверхность, если она бесполезно интерактивна), но это, вероятно, больше, чем я могу говорить о - вы можете применить этот материал ко всему, на что игроку будет интересно указывать, будь то взрывные бочки, интерактивные объекты (биошок использует демпфирование при наведении на интерактивные объекты с близкого расстояния ... но не прицеливается на них, Я не думаю). Как только вы поймете, что это все лишь для того, чтобы дополнить основную концепцию прицеливания, вы поймете, что речь идет не только о прицельных выстрелах, но и об общем удобстве использования, которое вписывается в любой механизм, зависящий от прицеливания. И в FPS, действительно,

Важная вещь со всем этим - тюнинг. Требуется много времени, чтобы просто разобраться и справиться с помехами цели, и проблемы с целями, находящимися на таком близком расстоянии, что их «зоны цели» затопляют панораму игрока, замедляя 60 градусов вращения до ползания.

О, мужик, мне пора спать. Извините, если некоторые из математики не очистить. Уже поздно, но я был взволнован, читая этот пост.

HilariousCow
источник
Не продавай себя коротко! Вы придумали то же самое, что и кучка других умных людей. Великие умы думают одинаково. :)
Zolomon
3

Для ввода чувствовать себя хорошо на консолях вы будете хотеть иметь некоторую обработку с ней сделали.

Сначала мы преобразовали линейный вход, который поступает от аналоговых джойстиков, в кривую, которая дает нам большую чувствительность вокруг центра джойстика и меньшую чувствительность на границах. Это можно сделать с помощью небольших инструментов, которые помогут вам создать и визуализировать эти кривые и выложить код. (Http://www.arachnoid.com/polysolve/)

В качестве второго шага мы внедрили какое-то ускорение. Он срабатывает через короткий промежуток времени, когда ввод с флешки составляет не менее 97%, и со временем увеличивает вращение камеры. Мы обрабатываются Х и оси Y независимо друг от друга. Это позволяет как-то искусственно увеличить диапазон ввода флешки. Первые 97% могут быть использованы для относительно точных настроек, но из-за ускорения у вас также могут быть быстрые движения.

Если у вас разные поля зрения камеры (например, при наведении / увеличении), то должен быть фактор, который регулирует скорость вращения кулачка с помощью поля зрения, используемого в данный момент.

Другие хитрости, которые облегчают жизнь игрокам, - это «автоцентрирование». Это выравнивает шаг камеры медленно назад к горизонту, когда входной сигнал не будет дан. Это помогает сохранять ориентацию.

Другое дело, чтобы заботиться о на консолях есть мертвая зона. Когда контроллер получает старше аналоговые палочки начинают рыхлую точность и имеют тенденцию давать «ложный» вход. Чтобы предотвратить это, вы должны игнорировать первые несколько процентов (до 20%) ввода с флешки.

Мы также сделали некоторые эксперименты с трением на основе с целью помощи, как упоминалось ранее (вход разгона при движении в сторону противника на экране, медленный вход вниз при удалении), но у нас было ощущение, что это очень заметно для игрока. Также недостатком является то, что у вас больше нет плавного движения кулачка, когда есть ряд врагов. Мы выбрали эффект «магнитной пули», когда пули сами по себе стремятся к врагу в определенном диапазоне. Однако и здесь вы должны быть осторожны.

Plattmaker
источник
Если бы это был не сайт обмена стеками, я бы дал вам свое субъективное мнение: я субъективно ненавижу заметное ускорение. Когда я перемещаю палку в центр, курсор внезапно останавливается, и мне приходится снова ускоряться. По ощущению рывков мне. Я чувствую себя лучше и лучше играю в игры с небольшим ускорением, чем лично с большим ускорением. Вся причина изобретения ручки управления состоит в том, чтобы устранить необходимость в ускорении. Но это обмен сайт стека, так что я не буду говорить вам об этом.
jyoungdev
Основной проблемой в упомянутом вами эксперименте будет «замедление ввода при удалении». Это было бы ужасно при попытке переключения между целями. Вы, вероятно, в конечном итоге задержите перекрестие на пустых участках прямо РЯДОМ, но не на цели, от которой игрок фактически отталкивает палку. Как уже упоминалось в ответе HilariousCow Вам необходимо быть осторожным , чтобы помочь и не мешает. ( «только дает эту дополнительную скорость поворота , когда игрок поворачивается примерно к цели»).
beetlefeet
0

Для консольных игр вам придется работать с аналоговым флешкой. В то время как аналоговые джойстики кажутся интуитивно понятными для 3D-игр, это ужасно в напряженные моменты, когда вам нужно целиться. Лучшее решение состоит в том, чтобы палка стала точной в эти моменты.

Вот простое решение: По мере того как перекрестие перемещается ближе к противнику, чувствительность снижается. Это позволит игроку быть более точным с его выстрелами.

Вы также можете реализовать «липкую цель». Это становится очень удовлетворительным, если есть несколько врагов, и игрок должен убить того, кто находится прямо перед ними.

MrValdez
источник
0

Мне лично нравится парадигма "блокировки на" для консольных стрелков. Т.е. удерживать кнопку, чтобы зафиксировать на враг примерно перед вами (нажмите несколько раз, чтобы цикл через несколько врагов), а затем ваша цель просто автоматически следует за ними. Первый FPS, чтобы использовать его, что я могу думать (я уверен, что там были и другие до него) была Metroid Prime на GC. Делает вялую неточность аналоговой палки не имеет значения. ... не уверен, как бы это перевести на мультиплеер, хотя.

В то время как мы на Metroid Prime, мне также понравилась техника, которую они использовали для битов на платформе, когда при прыжке изображение автоматически наклонялось немного вниз. Это был тонкий, но это сделало управление чувствовать себя гораздо более естественно.

Alconja
источник