Отчёт о разработке за 30 июня

Статус
В этой теме нельзя размещать новые ответы.

Clevery

Переводчик DZR
Ур
0
 
Приветствуем вас, выжившие!

Разработка игры продолжается, многие из вас терпеливо ждали актуальной информации о новом рендере, и в этом отчёте Брайан Хикс (ведущий продюсер) поговорит с вами на эту тему. Также Ян Томасик (старший дизайнер) во всех деталях расскажет о такой настройке как FOV (поле зрения); теорию и принятие некоторых дизайнерских решений, а также обсудит текущую итерацию нового FOV.

На этой неделе мы поделились с вами ссылкой на DayZ Trello, где Крис Торкиа (ведущий художник) немного рассказал о новостях в дизайне предметов окружения.


В центре внимания
IMG_26062015_165513.png



Отчёт Брайана Хикса
На этой неделе мы обсудим две темы. В первой речь пойдёт о разрабатывающемся новом рендере на движке Enfusion, а во второй мы обсудим текущие механики спринта, задержки дыхания и т.п.

m9sNC5w.jpg


Игроки, активно следящие за разработкой DayZ, знают об одной очень весомой задаче, которая стоит перед командой разработчиков, заключается она в переходе со старого рендера движка RV на новый, модульный и более современный рендер. Сама по себе задача создания нового процесса визуализации не считается большой и трудоёмкой, но основные затруднения и проблемы этой задачи заключаются в следующем:
  • Отделение старого рендера от симуляции
    • Разделение должно быть полным, учитывая, что сам движок RV и количество его функций довольно велико
После того, как вышеописанное было сделано, новый рендер был разбит на три основных составляющие:
  • (1) Модуль конвейера
    • Конвейер объектов дальнейшего рендеринга (определяет «способ» того, как объекты будут отрисовываться в мире с помощью определенного набора команд визуализации)
    • Отвечает за подготовку полигональной сетки для дальнейшей визуализации
    • Поддерживает мультипоточность
    • Наполнение конвейера тоже будет мультипоточным, проходит стадию тестирования и отлова багов
  • (2) Модуль материалов
    • Объекты отрисовываются посредством новой системы материалов, старая тоже всё ещё используется, чтобы видеть разницу
    • Каждой полигональной сетке присваивается материал (не RVMAT) с определенным классом материала, который отвечает за его визуализацию
    • Благодаря присваиванию материалу переменчивость в редакторе, можно в реальном времени наблюдать изменения визуализации
    • Каждый класс материалов был написан с нуля, визуализация на данный момент очень похожа на старый рендер, но зато теперь мы можем легко добавить новые особенности (вроде PBR)
    • Упрощенное заполнение командного буфера GPU, может быть очень легко отсортирован, что способствует минимизации изменений в командном буфере
    • Все отображаемые объекты в игре теперь имеют представление о классе материала
  • (3) Модуль высокоуровневой визуализации API
    • Сейчас поддерживается DX11 (поддержка DX12 будет реализована позже)
    • Реализация GPU API теперь завязана на самом API отвечающем за визуализацию, ничто не имеет прямой доступ к командам GPU API
      • Это позволяет нам с легкостью добавить новые GPU API, такие как DX12, XBOX One, PS4 в будущем
    • Основная часть работы уже проделана и в настоящее время проходит тестирование и исправление различных багов (оптимизация продолжается, но всё это уже выглядит довольно многообещающим)
DVgYcvK.jpg

hXuEf4l.jpg


Вдогонку:
  • Графический интерфейс пользователя (GUI)
    • Конвейер и система визуализации GUI полностью новые и отличаются от тех, что были в движке RV
    • Разметка GUI будет устанавливаться с помощью графического редактора, а не посредством конфигурации (это очень значительное улучшение для дизайнеров)
    • Интерфейс уже отображается, сейчас он проходит тестирование и корректировки в редакторе
    • В грядущем экспериментальном обновлении он будет доступен, его можно будет включить с помощью командной строки (прописав команду «-newui»)
  • Другие особенности
    • Пост-процессинг для новой системы эффектов был полностью переписан
    • Теперь в одном кадре может отрисовываться сразу несколько сцен
      • Это будет полезно во время разработки
      • Кроме того такую возможность можно будет использовать в игре для создания зеркал, камер и т.п.
А пока продолжаются работы над новым рендером, и мы планируем возможные сроки выпуска рендера на экспериментальную ветку, у нас есть ещё несколько задач:
  • Тестирование новых особенностей вместе с Intel, AMD и NVIDIA, чтобы добиться полной совместимости с мощными и средними конфигурациями комплектующих для ПК
  • Решение проблем с производительностью в крупных городах (Электро, Черно, Новодмитровск, Североград, Березино и т.д.)

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


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


На втором видео мы видим персонажа, который сильно устал (быстро бежал в течение 90-120 секунд), но при этом он стреляет сидя, и в то время как значение усталости уменьшается, объем его лёгких растёт, после чего он задерживает дыхание.

Помните, что всё это проделывалось в текущих реалиях (стабильное обновление 0.57), до введения системы веса и выносливости. Тем не менее, нам хотелось бы услышать ваше мнение насчёт работы этой механики. Зайдите на официальный форум DayZ и проследуйте в специальную тему для обсуждения отчётов разработки, там вы сможете высказать своё мнение.

И последнее, команда программистов наконец-таки разобралась с надоедливыми звуками, которые проигрывались для всех игроков на сервере (перетаскивание патронов, бинтов и т.д.) и в патче 0.58 вы сможете убедиться в том, что проблема решена. Если вы обнаружите какой-нибудь новый баг, то обязательно сообщите о нём на багтрекер.
- Брайан Хикс \ Ведущий продюсер


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

Наверное, следует сначала начать с вопроса: «Почему персонаж имеет возможность приближать видимую область обзора?». Это давняя проблема, связанная с эмуляцией 3D мира на неподходящем оборудовании. У человека поле зрения (FOV) составляет приблизительно 190°, а область, где зрительный конус обоих глаз пересекается, составляет около 100°. К сожалению, сегодня большинство мониторов, способны покрыть около 45° от человеческого поля зрения (FOV) , которое мы имеем в реальной жизни. Это значит, что если вы хотите увидеть на экране предмет с теми же размерами, которые он имеет в реальной жизни, то вы будете способны отобразить лишь 1\2 часть того, что вы бы увидели в реальности.

Итак, представьте, что вы, как дизайнер, должны выбрать – стоит ли отображать объекты на расстоянии в правильных пропорциях, но при этом пожертвовать общей областью отображения или установить FOV на 100°, но при этом исказить всю видимую картину? Трюк Армы как раз заключается не в выборе одного из этих путей, а в простом введении возможности приближать видимую область. В результате вы способны сохранить правильные пропорции окружения, установив FOV на стандартные 100°, но когда вам необходимо разглядеть какие-либо мелкие объекты, попадающие под глубину резкости (DOF) (например, когда вы стреляете), вы можете «увеличить» видимую область, выставив 45°.

6JpDaM2.jpg

Версия 0.57 обычный вид от первого лица

U1ViUlj.jpg

Версия 0.57 приближение

Но было ли бы правильным установить определенное значение FOV для всех игроков? Мы думаем, что нет. И не только потому, что 100° FOV не будет правильно ощущаться всеми игроками, но и по тем причинам, что некоторые игроки просто физически не смогут играть с ним (возможна проблема укачивания игрока, плохая производительность ПК, отличающиеся настройки монитора и т.п.). Так что в настройки игры был добавлен слайдер для изменения FOV, но вместе с этим появились другие проблемы, которые мы сейчас пытаемся устранить.

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

Мы знаем, что приближение и прицеливание должно осуществляться с помощью 45° FOV, потому что это значение имитирует человеческий глаз, и мы уже ранее заявляли, что 45° FOV вполне реалистичен. Но каким должен быть обычный FOV? Он не должен превышать тех значений, которые можно выставить ползунком в настройках игры. Во время прицеливания выставляется наименьшее значение FOV, которое можно выставить в настройках.

Мы решили ограничить диапазон FOV между 60° и 90°.

Bc47rHt.jpg

Версия 0.58 приближение

Также важно знать, что двойное нажатие на + или - расширяет этот диапазон до 45° или 105°, так что диапазон на самом деле не настолько мал, как может показаться. На расширение диапазона никак не влияет ваш текущий FOV, то есть если вы два раза нажмёте на +, всегда будет выставляться 45° и никак иначе. Это значит, что вы можете с лёгкостью переключаться между этими значениями, когда вам нужно увидеть большую область вокруг себя или разглядеть объект вдалеке, при этом повторное нажатие на + или – вернёт ваше стандартное значение FOV. Я надеюсь, что это небольшое разъяснение поможет вам разобраться в этих вещах и перестать злоупотреблять ползунком FOV.

Конечно же, все эти настройки открыты для итераций и всевозможных изменений, если окажутся неверными или же будут плохо ощущаться.
- Ян Томасик \ Старший дизайнер


Оригинал (англ.): http://dayz.com/blog/status-report-30-jun-2015
[Предыдущий перевод] Отчёт о разработке за 23 июня
Перевод подготавливался для сайта: http://dayzcommunity.ru/
 
Последнее редактирование:

maddogsw

Непобедимый
Ур
8
 
Похоже, что мы так и не узнаем, из-за чего были слышны фантомные звуки. :( А я так ждал... ;-(
 

uptime

Непобедимый
Ур
8
 
С FOV интересно. Я так понимаю, прежде чем штурмовать помещение стоит дважды наживать "-"
 

Xardion

Посвященный
Ур
0
 
Правильно ли я понимаю, что в 0.58 нас ждёт новый движок или это затронет только исправления фантомных звуков?

Отправлено с моего C6903 через Tapatalk
 

Elvis

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

Xardion

Посвященный
Ур
0
 
ну может и нету нечего страшного, но когда ты забегаешь в здание и хоппаа - фантомный звук питья, как-то не по себе становется и персу пора менять штаны. + на стрём подсажеваеся
Скорее всего имелось ввиду, что у разработчиков ушло очень много времени на решение данной проблемы, но здесь я согласен со fastpoke
 

MYesutin

Специалист
Ур
7
 
Бывают такие ошибки, которые трудно воспроизвести в лабораторных, искусственных условиях. По этой причине их трудно исправить. В таких случаях дешевле переписать подсистему начисто, закладывая в архитектуру методы отслеживания ранее возникавших проблем. Видимо, разработчики так и поступили.
Насколько я понимаю, фантомные звуки появляются после определённого уровня наполнения сервера игроками. То есть на серверах с небольшой загрузкой их практически нет. И что там дальше происходит, одной Богемии известно.
 

Mundoggu

Доброволец DZR|D
Ур
7
 
Прошёл по ссылкам, начал осознавать что я ничего не понимаю в разработке игр.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху