Я занимался разработкой игрового движка и изучал и изучал такие игровые технологии, как анизотропная фильтрация, окклюзия окружающей среды, сглаживание и т. Д.
Обычно в играх вы можете включать и выключать эти настройки. Однако, если эти настройки только добавляют ничего, кроме положительных моментов, есть ли причина добавлять значения переключателей для них в игровой движок для разработчика?
Я понимаю, что производительность является основным фактором, но есть ли другая причина, по которой эти настройки всегда доступны для изменения?
graphics-programming
scalability
Java Man Tea Man
источник
источник
Ответы:
Производительность обычно является основной причиной, по которой пользователь может включать и выключать эти функции. Как правило, они дорогие, и, позволяя пользователям отключать их, разработчик расширяет набор машин, которые эффективно запускают игру, и включает в себя больше машин более низкого уровня. Это приводит к потенциально большему количеству игроков и, следовательно, к увеличению продаж (при условии, что эти игроки могут жить с пониженной визуальной точностью).
Эти расширенные функции также могут значительно повлиять на время автономной работы или мощность вентилятора, как указывал @Artelius, и поэтому пользователи могут захотеть отключить их по этим причинам.
Наконец, это просто, чтобы предоставить пользователям выбор того, что они предпочитают. Некоторым людям может не понравиться то, как выглядит сглаживание или как отключение v-sync может вызвать разрыв экрана. Или для более практического примера рассмотрим Pillars of Eternity, в котором есть возможность включить или отключить лигатуры шрифтов. Это, вероятно , не так дорого с точки зрения производительности во время выполнения, но некоторым пользователям может быть труднее читать текст с ними. Или (как указывает @SeanMiddleditch) можно отключить функцию, потому что она глючит на отдельной машине. Или можно отключить функцию, чтобы получить конкурентное преимущество (например, отключив шумовые визуальные эффекты, которые отвлекают от механики).
источник
Как уже отмечал Джош Петри, самая важная проблема - это производительность. Мало того, что вы не можете знать, насколько мощным является оборудование для конечных пользователей, когда вы создаете движок, вы даже не знаете, как люди будут его использовать. Может быть, разработчики игр хотят создать игру, которая выводит на экран так много полигонов, что даже самое лучшее оборудование не может отобразить его в реальном времени без отключения эффектов? Но обработка этого автоматически также не может быть хорошей идеей: может быть, разработчики захотят решить, какие эффекты для каких объектов отключить.
Но помимо производительности, это также может иметь эстетическое значение.
Например, переключение с анизотропной фильтрации на интерполяцию ближайшего соседа и использование текстур с низким разрешением или увеличенных спрайтов приводит к ностальгическому взгляду в пиксельной графике. Популярный пример игры, которая делает это, Minecraft. Ну и конечно же множество игр, которые копируют его эстетику. Не потому, что они не знают, как сделать лучше, а потому, что не хотят.
источник
Конечно, производительность. Некоторые эффекты, такие как Crepuscular Rays, Depth of Field и Bloom, очень обременительны для fps, особенно в старых GPU. Также хорошим способом получения дополнительных кадров в секунду является уменьшение или отключение отражений и теней. Также, повторяя точку зрения Артелиуса, визуальные эффекты также влияют на время автономной работы.
Кроме того:
Модд Майнкрафт действительно хорошая площадка для этого. 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, когда вы не слышите даже шипения. Они становятся случайными в глубине души.
Чем больше вы знаете ★
источник
Что-то еще не упомянутое другими:
Отключение графических функций может быть правильным решением проблем с определенной настройкой , не связанных с производительностью.
Только один пример, некоторые графические опции просто не работают правильно с данным механизмом рендеринга при запуске игры для Windows в Wine (слой совместимости Windows для Linux).
Для определенной (намеренно неназванной) игры мне нужно настроить фильтрацию на трилинейную и отключить отражения. Не потому, что моя установка не соответствует требованиям (это, безусловно, так), а из-за рендеринга сбоев и сбоев, если я этого не сделаю.
В другой игре вам пришлось отключить эффекты «тумана» для любой установки, использующей карты nVidia (даже на родной Windows), потому что они всегда делали туман на 100% непрозрачным.
То , что это уже упоминалось в других ответов / комментариев, но на самом деле причина не делать определенные параметры (например , листва плотности, Gras) дополнительно:
Видимость противников в соревновательных играх.
Если игроки могут получить конкурентное преимущество, установив «очень плохой» внешний вид вашей игры, вы ухудшаете игровой процесс двумя способами:
Избегайте этого, если это вообще возможно. Делайте гра и листва неуклюжими для низкоэффективных буровых установок, но убедитесь, что более низкие настройки не дают игрового преимущества.
источник
Ясность взгляда в соревновательных играх
Игроки в конкурентных онлайн-играх могут предпочесть более простое или ясное представление более красивому, даже если производительность не является проблемой - многие визуальные опции добавляют визуальный реализм, но затеняют то, что игроки действительно хотят видеть.
Вполне возможно, что в вашей игре легче заметить или нацелиться на врага, если вы настроите игровой клиент так, чтобы он отключал все виды дополнительной травы или листьев, спецэффекты, дым / туман / огонь и т. Д. Это помещает игроков, которые включают такие эффекты в невыгодном положении.
источник
Другие ответы хороши, но я думаю, что в них нет хороших примеров реальных эффектов, которые вы, возможно, захотите отключить.
Для меня, действительно дешевый и ужасный «размытость при движении», которая была, например, у GTA3, сделала игру хуже. К счастью, я мог выключить его.
Я не играл, но то, что я видел из GTA5, - это еще одно довольно хакерское решение, которое я бы отключил, если бы попробовал GTA5. (см. https://www.youtube.com/watch?v=VjIhl8hbO18 ).
источник