Есть ли причина добавлять опции, чтобы не использовать передовые технологии в игровом движке?

22

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

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

Я понимаю, что производительность является основным фактором, но есть ли другая причина, по которой эти настройки всегда доступны для изменения?

Java Man Tea Man
источник
69
Разве производительность не является достаточной причиной? Если аппаратное обеспечение игрока не может поддерживать все эти функции при воспроизводимой частоте кадров, это само по себе звучит как убедительная причина, позволяющая им отключить некоторые из них.
DMGregory
3
Если ваше оборудование не может справиться с некоторыми эффектами, то, как вы говорите, они совсем не являются положительными ... Благодаря гибкости в отношении того, что может и не может сделать ваш движок, больше людей смогут играть в ваши игры / использовать ваш движок. Понижение графики, но сохранение основного игрового процесса, безусловно, удобно для некоторых людей.
rlam12
3
В Quake была опция, позволяющая практически полностью отключить текстуры и графику до минимума, чтобы максимально быстро отображались только основные элементы игрового процесса, предлагая самый плавный игровой процесс за счет визуальных эффектов. Там была очень веская причина для этого.
user1306322
9
В некоторых играх видимость покачивания и размытость изображения могут буквально вызвать тошноту. Очевидно, что многие люди считают, что они хороши, поскольку они, кажется, включены почти в каждой игре, но я бы вернул вашу игру с плохим обзором, если бы вы не дали возможность их отключить.
Патрик М
2
@PatrickM Возможности для игроков, которые испытывают симуляционную болезнь, звучат так, будто это был бы еще один хороший ответ сам по себе. :)
DMGregory

Ответы:

49

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

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

Наконец, это просто, чтобы предоставить пользователям выбор того, что они предпочитают. Некоторым людям может не понравиться то, как выглядит сглаживание или как отключение v-sync может вызвать разрыв экрана. Или для более практического примера рассмотрим Pillars of Eternity, в котором есть возможность включить или отключить лигатуры шрифтов. Это, вероятно , не так дорого с точки зрения производительности во время выполнения, но некоторым пользователям может быть труднее читать текст с ними. Или (как указывает @SeanMiddleditch) можно отключить функцию, потому что она глючит на отдельной машине. Или можно отключить функцию, чтобы получить конкурентное преимущество (например, отключив шумовые визуальные эффекты, которые отвлекают от механики).


источник
12
Еще одна причина, по которой пользователи могут захотеть отключить вычислительно дорогостоящие эффекты, заключается в том, чтобы сохранить время автономной работы или уменьшить нагрев и шум вентилятора.
Артелиус
14
В качестве сноски важно помнить, какие настройки можно отключить при разработке критического игрового баланса / функций. На некоторое время вражеские дымовые гранаты в BF4 могут быть аннулированы, если отключить графическую опцию. К сожалению.
Джон
26
Другая причина заключается в том, чтобы разрешить обходные пути для ошибок. Например, конкретное оборудование пользователя может привести к сбою или неправильному отображению сцены из-за того, что в игре реализован определенный эффект пост-обработки, или более высокое использование памяти может привести к сбоям на некоторых машинах, а не просто к потере производительности. У меня был один случай, когда графический процессор легко перегревался и имел возможность понижать настройки, пока я не получил новый, что помогло избежать сбоев / перезагрузок драйвера графического процессора.
Шон Миддледич
1
Ведьмак 3 - отличный пример с HairWorks. Помимо производительности, есть много людей, которые хотели бы включить его для всего, кроме Геральта (персонажа игрока). Говорят, что благодаря HairWorks животные выглядят великолепно, но в то же время волосы Геральта выглядят ужасно. Мне все равно, но я понимаю, почему они так чувствуют.
Nolonar
2
Я отключаю множество «пуховых» эффектов, чтобы сосредоточиться на самой игре. Часто предметы спрятаны на земле в траве и кустарниках. Эти травы исчезают или становятся более статичными / более тонкими при более низких настройках графики, что позволяет мне видеть предметы на земле. Эффекты заклинаний также затрудняют нацеливание на маленьких летающих существ, поэтому, имея более низкие эффекты заклинаний, облако частиц уменьшается и рассеивается быстрее. Еще одна причина - снижение количества крови, дает мне немного времени для буфера, если мои 5-летние вальсы без предупреждения.
CorsiKa
11

Как уже отмечал Джош Петри, самая важная проблема - это производительность. Мало того, что вы не можете знать, насколько мощным является оборудование для конечных пользователей, когда вы создаете движок, вы даже не знаете, как люди будут его использовать. Может быть, разработчики игр хотят создать игру, которая выводит на экран так много полигонов, что даже самое лучшее оборудование не может отобразить его в реальном времени без отключения эффектов? Но обработка этого автоматически также не может быть хорошей идеей: может быть, разработчики захотят решить, какие эффекты для каких объектов отключить.

Но помимо производительности, это также может иметь эстетическое значение.

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

Philipp
источник
3
Но если игра была разработана, чтобы выглядеть пиксельной ... почему бы вы дали пользователю возможность изменить это вообще? Есть ли у Minecraft способ включить линейную фильтрацию?
Никол Болас
6
@NicolBolas Вопрос задавался вопросом: «есть ли причина добавлять значения переключателей для них в игровой движок для разработчика ». Это интерпретируется как вопрос о перспективах разработчика.
Филипп
1
На мой взгляд , вопрос кажется явно ориентирован на пользователя перед «тумблер значений», не актуально в-OpenGL / D3D / и т.д. параметр настройки. То есть «для разработчика» относится к разработчикам, добавляющим пользовательскую опцию, а не к разработчикам, использующим API.
Никол Болас
5

Конечно, производительность. Некоторые эффекты, такие как Crepuscular Rays, Depth of Field и Bloom, очень обременительны для fps, особенно в старых GPU. Также хорошим способом получения дополнительных кадров в секунду является уменьшение или отключение отражений и теней. Также, повторяя точку зрения Артелиуса, визуальные эффекты также влияют на время автономной работы.

Кроме того:

  • Некоторые эффекты могут быть затруднительными. Не все машины сделаны равными, и некоторые графические процессоры могут неправильно обрабатывать ваш код ... возможность отключить эффекты полезна для игроков, страдающих от таких случаев, и хороша для разработчиков для простоты отладки.
  • Некоторые эффекты могут помешать игровому процессу. В частности, эффекты, скрывающие детали, такие как Depth of Field, Motion Blur и в меньшей степени расширяют анизотропную фильтрацию и сглаживание.
  • Некоторые эффекты могут раздражать / отвлекать. Это происходит со мной в «Глубине резкости», когда фокус меняется, он буквально привлекает к нему внимание.
  • Некоторые эффекты должны быть рассмотрены для специальных возможностей. Это случай View Bobbing и Motion Blur, это может сделать некоторых людей больными, без шуток.
  • Некоторые эффекты должны быть рассмотрены для родительского контроля. Отключение эффектов частиц крови и тому подобное - по крайней мере, это помогает в родительских обзорах игр.

Модд Майнкрафт действительно хорошая площадка для этого. Minecraft рендерит целые куски, поэтому количество полигонов больше, чем кажется. Добавьте к этому сложности, связанные с размещением фрагментов на сборщике мусора и лишенным языка указателей, такого как Java [1], и вы можете ожидать некоторые проблемы с производительностью, в частности, на старом оборудовании, как всегда. Некоторые люди требовали лучшей графики, в то время как другие хотели лучшей производительности. Итак, появились такие моды, как GLSL Shaders Mod и Optifine , добавив дополнительные графические опции - хотя и для разных целей - они совместимы [2], если у вас есть возможность их использовать, вы можете поэкспериментировать с эффектами производительности визуальный эффект.

[1]: Microsoft создала C ++ порт Minecraft для Windows 10 - на основе карманного издания - он работает намного лучше, чем старые версии Java. Это не значит, что Java не может работать, это не только признак C ++, но и Microsoft.

[2]: Фактически, эти моды объединены для Minecraft 1.8.9 - Optifine поглощенные GLSL шейдеры Мод .


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

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

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

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


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

[3]: Вы просто не знаете, что такое боль в Minecraft, когда вы не слышите даже шипения. Они становятся случайными в глубине души.

Чем больше вы знаете ★

Theraot
источник
2
+1 для примечания вариантов доступности! У меня сам по себе хороший слух, но когда я начинал играть в видеоигры, я плохо говорил по-английски. Написание текста в дополнение к звукам может очень помочь, когда вы не знаете, что происходит.
AndrejaKo
5

Что-то еще не упомянутое другими:

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

Только один пример, некоторые графические опции просто не работают правильно с данным механизмом рендеринга при запуске игры для Windows в Wine (слой совместимости Windows для Linux).

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

В другой игре вам пришлось отключить эффекты «тумана» для любой установки, использующей карты nVidia (даже на родной Windows), потому что они всегда делали туман на 100% непрозрачным.


То , что это уже упоминалось в других ответов / комментариев, но на самом деле причина не делать определенные параметры (например , листва плотности, Gras) дополнительно:

Видимость противников в соревновательных играх.

Если игроки могут получить конкурентное преимущество, установив «очень плохой» внешний вид вашей игры, вы ухудшаете игровой процесс двумя способами:

  • конкурирующие игроки увидят только «плохо выглядящую» игру;
  • развлекательные игроки будут иметь (потенциально значительный) недостаток, не связанный с навыком, просто из-за того, что они предпочитают красивую игру.

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

DevSolar
источник
4

Ясность взгляда в соревновательных играх

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

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

Петерис
источник
2
Напоминает мне о ржавчине: выключите траву, и больше некуда будет прятаться!
Гигала
3
Этот ответ дает очень вескую причину не делать такие настройки необязательными. Я не должен был выбирать между «красивым» и «конкурентоспособным». Конкурентоспособность не должна регулироваться, и уж точно не тем же слайдером, который определяет внешний вид.
DevSolar
@DevSolar не делает его необязательным, но не делает его невозможным (например, взлом стены)
Джоэл Босвелд,
@JoelBosveld: Избегание взлома и т. Д. Не имеет ничего общего с вопросом ОП. Создание дополнительной листвы делает ...
DevSolar
-1

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

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

Я не играл, но то, что я видел из GTA5, - это еще одно довольно хакерское решение, которое я бы отключил, если бы попробовал GTA5. (см. https://www.youtube.com/watch?v=VjIhl8hbO18 ).

NiklasJ
источник