Почему я не должен позволять менять поле зрения, если технология это позволяет?

28

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

Я могу понять, если инди-разработчик не позволяет это из-за бюджетных ограничений, потому что для этого им нужно добавить поддержку движка. Тем не менее, ряд разработчиков используют высококлассные сторонние движки, такие как Frostbite, Unity, Unreal или Cryengine, но не предлагают опцию для изменения поля зрения.

Почему я не должен позволять менять поле зрения, если технология это позволяет?

Nzall
источник
6
Странно, но я нахожу, что изменение поля зрения глубоко неприятно; несмотря на то, что я сбросил его до значения по умолчанию, я никогда не верил, что это снова выглядело правильно
Ричард Тингл
5
У вас есть ссылки на источники для этого «довольно большого количества игроков», и желательно более одного?
Патрик Хьюз
2
Согласно theguardian.com/lifeandstyle/2011/dec/19/… , 10-50% людей во всем мире страдают от этой болезни в некотором отношении.
Nzall
Я полностью заболел выше 90.
Almo

Ответы:

39

4A Games, разработчики Metro: Last Light подвергались большой критике за то, что в их игре не было ползунка FoV. Менеджер сообщества Морис Тан защищал свое решение на форумах Steam следующим образом :

Основная причина сохранения фиксированного поля зрения - потому что у нас есть 3D-элементы, такие как боеприпасы для часов и оружия, которые должны оставаться видимыми.

Кроме того, все режиссерские сцены и кинематика от первого лица, а также каждая анимация с участием рук Артёма - анимация холостого оружия, перезагрузки, восхождение по лестнице, рукопашные атаки и т. Д. - создавались в одинаковом фиксированном поле зрения.

Изменение поля зрения повредило бы все сцены и анимацию - вы могли бы видеть в объятиях Артема, или они, казалось бы, парили в воздухе перед вами. Или хуже.

Мы рассматривали возможность предложить три предустановки FOV, но для этого все равно потребовалась бы значительная работа, чтобы заново выполнить каждую анимацию, настроить HUD и UI и другие, казалось бы, небольшие, но невероятно трудоемкие задачи.

Даже с более широким, но все еще фиксированным полем зрения, руки Артема выглядели слишком далеко. Мы знаем - мы пытались.

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

Основная причина отсутствия ползунка FoV заключалась в том, что они использовали не погружающийся в воду способ с высоким погружением, поскольку вся важная для игрока информация отображалась на трехмерных элементах в их поле зрения. Когда ваш GUI является частью вашей визуализации сцены, изменение FOV изменяет ваш GUI.

То, что Тан не упомянул в вышеприведенном посте, но, вероятно, также было частью их решения, это то, что FOV важен для планирования уровня. Metro: Last Light - игра, ориентированная на ужасы, с множеством прыжков и других шоковых моментов. Есть много ситуаций, когда игрок отвлекается на что-то интересное, поэтому он смотрит в одну сторону, а затем неожиданно атакует со стороны. Этот шоковый эффект может сработать только тогда, когда дизайнеры уровней знают FOV игрока и поэтому знают, что они могут и не могут видеть при взгляде из определенной точки в определенную другую точку.

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

Philipp
источник
Имейте в виду, что производительность также является огромной проблемой. Metro Last Light (я играл в нее) страдал от проблем с производительностью даже на ПК (но разработчики обычно не говорят об этом сообществу, потому что это не подходит).
concept3d
2
Я видел это часто упоминается, я не покупаю это. В такой игре, как Metro: Last Light, вам нужен диапазон, в котором FOV «действителен», но все в диапазоне от 75 до 110 должно быть в порядке. Это просто, сделать все важное видимым <75, анимации и модели должным образом видны 75 << 110 и все «скрыто»> 110. У людей разные экраны, и неспособность адаптироваться к этому нелепа, особенно когда люди получают движение больной с неправильной проекцией. Это особенность доступности, и минимальные усилия делают это непростительным. Я думаю, что для этого разработчика это была запоздалая мысль.
rioki
@ concept3d: Это не подходит по очень веским причинам. Если я не могу запустить игру при 120 градусах, тогда ... так? Кто-то еще мог. ПК не являются консолями, аргумент «если бы вы использовали эту опцию, было бы сложнее запустить», является недопустимым.
Фоши
@Phoshi это именно то, что я говорил. Но это может быть серьезной причиной, по которой они установили FOV в ПК Metro Last Light, а не просто геймплейной причиной.
concept3d
12

Отсутствие ползунка FOV в вашей игре по бюджетным или техническим причинам не является аргументом. FOV - это всего лишь один параметр при создании матрицы проекции вида. После того, как у вас будет правильная матрица, все остальные вычисления будут выполняться сами собой. Другими словами, изменение FOV означает, что необходимо изменить только одну строку кода (обычно в классе камеры) и что необходимо добавить параметр в меню. Изменение не распространяется на другие системы, они только «видят» матрицу 4x4 и не заботятся о том, что означает значение внутри нее.

public static Matrix CreatePerspectiveFieldOfView (
         float fieldOfView,
         float aspectRatio,
         float nearPlaneDistance,
         float farPlaneDistance
)

Создание матрицы с полем зрения в XNA

Однако есть веские причины не иметь сменного ползунка FOV. Установка более высокого FOV означает, что вы можете видеть больше мира на экране, это повлияет на производительность. Другая причина в том, что в соревновательной игре у игрока с более высоким значением FOV будет преимущество, так как этот игрок может видеть вокруг себя больше. Наконец, это может иметь эстетический выбор. Узкое поле зрения даст игроку ощущение, отличное от широкого поля зрения. Особенно в шутерах с узкими коридорами узкое поле зрения может добавить к опыту. Хорошим примером этого являются игры Call of Duty, в которых при снижении поля зрения FOV становится меньше.

(Обратите внимание, что лично я не верю, что какая-либо из приведенных выше причин должна очень сильно ухудшить FOV, я просто хочу проиллюстрировать, что это никоим образом не является технической проблемой.

Рой Т.
источник
10
Not having a FOV slider in your game due to budget or technical reasons is a non argumentХотя я согласен со всем, что вы сказали, это не относится к консолям, FOV может сильно повлиять на производительность, особенно на старом оборудовании, таком как PS3 / X360, FOV напрямую влияет на выбор усеченного конуса и, следовательно, оказывает значительное влияние на некоторые платформы.
concept3d
11
Кроме того, изменение FOV может выявить ошибки, и исправление этих проблем определенно является бюджетным.
Яри ​​Комппа
10
Разрешение настраиваемого поля зрения потенциально намного больше, чем просто одна строка кода. Дж. Кайл Питтман из Gearbox написал хорошую статью о проблемах, возникающих при добавлении настраиваемого поля зрения в Borderlands 2, вы должны прочитать его: gearboxsoftware.com/community/articles/1061/…
nwellcome
3
@nwellcome Кажется, что все проблемы, о которых он упоминал в статье, связаны с реализацией ползунка FOV в качестве запоздалой мысли, после того, как все, что зависит от FOV, уже было реализовано.
API-Beast
4
Not having a FOV slider in your game due to budget or technical reasons is a non argument, это неправда. Игра, возможно, не была разработана для другого поля зрения с самого начала и имеет системы, основанные на этом. Тот факт, что скелет проекта Barebones может поддерживать изменение стоимости, не означает, что проект с миллионным объемом может.
TankorSmash
2

Одна вещь, которую никто не упомянул, это тестирование.

Каждый аспект контроля, который вы предоставляете игроку, - это еще одна переменная, которую вы должны проверить. Чтобы получить приблизительное полное покрытие, вам фактически необходимо пройти по каждому потенциальному ПО, если у вас возникают графические проблемы только на одном уровне при определенных обстоятельствах, когда вы используете самый широкий ПО или самый узкий, или «когда вы сохранили игру в самом узком и открытом виде. сохранить в самом широком ".

Эта дополнительная стоимость / задержка может не стоить дополнительной стоимости расширения FoV. Тот факт, что двигатель поддерживает его, не означает, что он будет «просто работать» (хотя это делает его более вероятным). И только то, что все расчеты должны работать, не означает, что пользовательский опыт будет положительным.

deworde
источник
Это в тысячу раз больше! Каждый добавляемый вами тумблер удваивает нагрузку QA или «вдвое сокращает команду QA». Если у вас есть шкала жидкости, вы можете в лучшем случае проверить только крайности. Функции должны быть проверены, а функции объединены, поэтому вы хотите избежать комбинаторного взрыва, чтобы иметь возможность создать надежную, увлекательную игру с ограниченным бюджетом и в срок.
Uliwitness
0

С точки зрения пользователя главная причина заключается в том, что в мультиплеере более широкое поле зрения дает несправедливое преимущество.

JamesRyan
источник
5
Конечно, преимущество не является несправедливым, если у конкурентов также есть ползунок FOV.
отмечает Томас
1
Может показаться, что это так, но это не так, потому что для того, чтобы быть конкурентоспособными, люди были бы вынуждены работать в экстремальных условиях, а затем должны выбирать между приятным или конкурентным опытом.
JamesRyan
1
@MarcksThomas Я играл в Q3 с кем-то, кто использовал 120 FOV (или, может быть, даже выше). Я болею выше 90. Чувствовать себя нечестно
Almo
2
Мне всегда нравится максимально увеличивать FOV, но мой графический процессор - это просто мусор, и к тому же у меня есть только монитор ноутбука, который не такой большой. Я бы сказал, что иногда с аппаратным обеспечением есть «несправедливое» преимущество, плавный игровой процесс важнее, чем FOV, а большой экран также дает вам огромное преимущество. В этом есть множество факторов, а не только FOV. Кроме того, мне сначала не нравился высокий FOV, но я действительно привык к этому.
Лизоль
Я согласен с этим и приведу конкретный случай: автомобиль FOV в BF4. Неправильный патч добавил то, что составляет всестороннюю возможность FOV для водителей транспортных средств. Побочным эффектом является то, что почти невозможно подкрасться к автомобилям, чтобы бомбить их. Утверждение, что это не влияет на справедливость, неверно предполагает, что игровая механика не усугубляет то, что в противном случае не было бы несправедливым, будучи серьезной проблемой. Нет ничего плохого в том, чтобы допускать изменения FOV, но игнорирование того, что могут возникнуть проблемы , является плохим игровым дизайном.
0

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

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

Тем не менее, это предполагает, что я даю вам полный контроль. Может быть, есть возможность разрешить пользователю изменять конус вида, скажем, 70-110 или что-то в этом роде, но я не знаю, не проверяя это сам.

Пупс
источник
Также не полезно, что некоторые люди не знают о полном эффекте этого изменения. Они думают: «О, я могу видеть больше, давайте сделаем это большим», тогда они выйдут из игры, потому что это заставит их заболеть, обвинить вас, или 3D-игры или что-то еще. Экраны настроек огромны с большим количеством опций, и я редко помню все настройки, которые я сознательно изменил.
Uliwitness
0

Остальные привели множество веских причин - эстетика (вырезанные сцены, желаемый внешний вид игры), многопользовательская балансировка, падение производительности с более хитрым FOV, но я хочу добавить некоторые идеи в технический аспект:

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

Falco
источник