Дневник разработчика №137 / Ил-2 Штурмовик: Великие сражения
Закрыть
меню
Дневник разработчика №137
28.10.2016
Дневник разработчика №137
Всем привет!
 
Начнем сегодняшний выпуск дневников со скриншота. В этот раз перед вами WIP скриншот разрабатываемой модели немецкого десантника в летнем обмундировании для коллекционного самолёта Ju-52, разработка которого входит в завершающую стадию:
 
Paratrooper.jpg
 
В прошлую пятницу стартовало альфа-тестирование версии проекта, переведенного на DirectX 11. Первые результаты обнадеживают. Прирост FPS очень высокий, причем даже с учетом того, что еще не все предпринятые оптимизации были включены в эту версию. Конечно не обошлось и без "детских болезней", но их наличие не вызывает сомнений в быстрой отладке и скорой подготовке версии с DirectX 11 для релиза. На данный момент работа по переходу на DirectX 11 включает в себя:
- Перевод 90 шейдеров на формат 11-го DirectX;
- Оптимизация отрисовки леса за счет использование константных буферов;
- Оптимизация отрисовки домов за счет использование константных буферов;
- Оптимизация отрисовки моделей, содержащих большое количество частей (в первую очередь самолеты и кабины);
- Оптимизация системы выгрузки сложных моделей позволила сократить фрагментацию модели при выгрузке, что так же значительно увеличивает производительность, особенно в бою;
- Замена SSAO на TSSAO, что сократило затраты на расчет этого эффекта в 2-3 раза;
- Оптимизация отрисовки травы за счет применения технологии проверки occlusion;
- Оптимизация отражений в водоемах;
- Оптимизация модели освещения за счет применения 5-й шейдерной модели. Добавлены тени от точечных источников света (ракетницы например);
- Развитие алгоритма расчета освещения TiledShading 2.5D благодаря 5-й шейдерной модели;
- Сокращение использования памяти при отрисовке ландшафта благодаря новым возможностям, предоставляемым DirectX 11, что в перспективе позволяет уплотнить сетку ландшафта в 4 раза;
- Улучшение расчета HDR на низких настройках графики, что улучшило визуальную составляющую картинки.
Работа по использованию новых возможностей, предоставляемых DirectX 11, продолжается. В ближайших планах у нас адаптация части технологий под Compute Shaders, реализация Open VR API, и другие новые "вкусные" вещи :)
Реализация перехода на DirectX 11 идет по плану и мы, как и ранее, планируем закончить эту работу до конца года, а поддержку Open VR API до конца января.
 
Кроме новостей о работе по переходу на новый DirectX, мы хотели сегодня поговорить с вами о той составляющей реалистичности авиасимулятора, которая в первую очередь зависит от самого игрока, выполняющего роль виртуального пилота.
Для того, чтобы полет на виртуальном самолете дома за компьютером был максимально реалистичным, разработчик авиационного симулятора должен создать на мониторе максимально правдоподобную, натуралистичную и сбалансированную визуальную картину окружающего мира, самолета и кабины; далее разработчик, насколько это возможно, должен обеспечить реалистичное управление самолетом и реакцию самолета на это управление (то, что мы с вами называем Флайт-Моделью); создать такое озвучивание полета и с такими акцентами, что бы игрок верил, что он находится в самолете; создать сценарии, в рамках которых игрок будет выполнять роль виртуального пилота; а так же еще целый ряд важных аспектов, связанных с ведением воздушного боя, но об этом следует говорить отдельно. Совокупность всех этих факторов дает игроку авиационный симулятор - инструмент для погружения в виртуальную реальность, в которой им отыгрывается роль виртуального пилота.
Но, как и в любой ролевой игре, для "погружения" в виртуальную атмосферу игрового мира так же исключительно важно, насколько серьезно сам игрок относится к отыгрыванию своей роли. Мальчишки, играющие "в войнушку" во дворе в драных штанах и с палками в руках вместо автоматов могут ощущать гораздо большую степень погружения в атмосферу игры, чем взрослый дядя в полной аутентичной экипировке НАТО с точной копией винтовки M-16 в руках, который выехал на страйкбольную игру. Может быть потому, что вроде бы и экипировка при нем, и М-16 при нем, но он все равно чувствует фальшь, потому что кругом сплошные праздные разговоры за работу, за семью, смех, а может быть и алкоголь. Ну совсем не похоже на армию, а ведь он приехал играть именно в армию. То же самое может происходить и в многопользовательской игре в авиационном симуляторе. Но вот когда виртуальный пилот играет сам в однопользовательском режиме, он самостоятельно полностью определяет ту атмосферу и настрой, с которым он подходит к игре. Либо он сел просто "подурачиться и повыделывать кренделя между елками", тогда каким бы реалистичным симулятор ни был - к роли пилота игрок таким образом точно не приблизится. Либо он сел отыграть роль - выполнить боевое задание, либо сделать перелет с одного аэродрома на другой, либо попробовать выполнить фигуры воздушного пилотажа, а может быть выполнить тренировочный полет приближено к тому, как это делают реальные летчики. И даже в этой простой цели, выполнить тренировочный полет приближаясь к порядку тренировки в реальности, содержится большой вызов и большой интерес для виртуального пилота, так как для этого ему нужно разузнать, как такой полет выполнялся в реальности, как правильно обращаться с органами управления самолетом, что бы суметь выполнить этот полет самому, сделать целый ряд попыток, после которых у него что-то начнет получаться и, наконец, путем тренировок в течение 1-2-3 дней он сможет выполнить этот полет так или почти так, как его выполняли реальные летчики.
Предлагаем вам попробовать выполнить тренировочный полет по кругу на самолете МиГ-3. Комплект миссий для тренировки, демонстрационные треки с полетом по кругу в штиль и примерами взлетов и посадок при сильном ветре, а так же небольшой видеоурок с моими коментариями (сразу прошу прощения за мой Английский) и видеопример посадок в условиях сильного ветра прилагаются. Техника выполнения этого тренировочного полета следующая:
 
MiG3_Flight_Practice_extract_to_parent_game _folder.zip   21.25 Мб
 
 
Старт на стоянке, полная загрузка топливом и вооружением. Штиль, ясно.
Часть 1: Запуск и руление
- Установить давление высотомера равным давлению аэродрома
- Газ на минимум, начать процедуру запуска двигателя
- Двигатель запущен, установить обороты на 100%, смесь на 50%, радиаторы на 50%
- Установить ограничитель закрылок на 20%, выпустить закрылки
- Осмотреться вокруг, убедиться в отсутствии препятствий рулению, установить газ на 50%, начать руление
- Самолет стронулся, зажать тормоза колес для проверки, отпустить тормоза для продолжения движения
- Установить газ на 35..40% для продолжения руления
- Использовать тормоза колес для крутых поворотов и остановки
- Не превышайте скорость 20 км/ч на прямых и снижайте ее до 5 км/ч перед крутыми поворотами
- Выполняйте руление с открытой кабиной, используйте смещение взгляда влево и вправо для осмотра пространства впереди за носом самолета
- Осматривайтесь по сторонам, особенно при выруливании на взлетную полосу
 
Часть 2: Взлет
- Установить газ на минимум
- Осмотреться вокруг, убедившись в отсутствии препятствий взлету, закрыть фонарь кабины, сместить вид к левому борту кабины для лучшего обзора вперед
- Зажать колесные тормоза, выжать левую педаль направления на 2/3 хода (повернуть твист джойстика на 2/3 хода влево)
- Удерживать педали направления на 2/3 хода влево, ручку управления удерживать в центре, установить газ на 80%
- Отпустить тормоза, установить газ на 100%
- Удерживать направление разбега небольшими отклонениями педалей направления влево и вправо от положения "2/3 влево"
- Для удержания направления разбега держать взгляд на объекте далеко впереди самолета (дерево, здание, облако и т.п.), изредка проверять положение левого/правого края полосы 
- Продолжать разбег с ручкой управления зажатой в центре, удерживая направление педалями. Самолет приподнимет хвост самостоятельно
- На скорости более 180 км/ч, плавно потянуть нос самолета вверх, самолет взлетит. Удерживать нос самолета выше горизонта так, что бы скорость и высота продолжали увеличиваться
- Парировать крен самолета ручкой управления, плавно установить педали направления в нейтральное положение
- Высота 20 м, уберите шасси, удерживайте нос самолета над горизонтом в том же положении
- Скорость 200 км/ч, удерживайте нос самолета над горизонтом в том же положении
- Высота 100 м, начинайте первый поворот налево на 90° (на курс 228°), угол крена 30°
- Высота 400 м, опустите нос самолета чуть выше горизонта, удерживайте вертикальную скорость = 0 м/с и высоту =400 м
- Скорость 300 км/ч, установите газ 55% что бы поддерживать ее
- Начинайте второй поворот влево на 90° (на курс 138°) с креном 30°
 
Часть 3: Полет по кругу
- Завершив разворот влево на курс 138°, выполнять полет по прямой на высоте 400 м и скорости 300 км/ч
- Скорость поддерживать установкой газа на 55%, исправлять скорость небольшими отклонениями газа от этого значения
- Высоту удерживать в первую очередь контролируя положение носа самолета относительно горизонта. Удерживайте нос чуть выше горизонта, запомните положение, обеспечивающее вертикальную скорость =0 м/с
- При полете по прямой постоянно осматривать пространство вокруг самолета, контролировать наземные ориентиры для правильного выбора точки начала 3-го разворота
- Проконтролировать входную температуру масла (от 40°С до 80°С), входную температуру воду (от 80°С до 110°С), при необходимости скорректировать открытие радиаторов
- При удалении 4..5 километров от аэродрома начать 3-й разворот влево на 180° (на посадочный курс 318°) с креном 30°
- В процессе разворота контролировать положение носа относительно горизонта, вертикальную скорость =0 м/с, высоту =400 м, скорость = 300 км/ч и приближение посадочного курса =318°
 
Часть 4: Заход на посадку и посадка
- После завершения 3-го разворота газ установить в 0%
- Скорость меньше 300 км/ч, выпустить шасси
- Максимум внимания на удерживании вертикальной скорости =0 м/с и высоты =400 м
- Скорость меньше 250 км/ч, закрылки выпустить полностью
- Скорость 220 км/ч, добавить газ до =80% для поддержания этой скорости
- Удаление до полосы 2.5 км, Газ на минимум, опустить нос чуть ниже ближнего торца посадочной полосы
- Снижаться на скорости 210..200 км/ч, в идеале это должно происходить на малом газу
- Высота 30..50 м, начинайте плавно подтягивать нос самолета вверх, скорость уменьшается, вертикальная скорость уменьшается
- Переместите взгляд влево, следите за приближением земли впереди-слева от носа самолета, обращайте внимание на визуальное ощущение высоты
- Высота почти ноль, продолжайте полет с уменьшением скорости и подъемом носа, не позволяйте самолету взмывать
- Касание полосы, удерживайте направление пробега, держите взгляд на объекте далеко впереди самолета (дерево, здание, облако и т.п.)
- Скорость 100 км/ч, полностью возьмите ручку управления на себя и зажмите тормоза, удерживайте направление пробега
- Остановка, убрать закрылки, открыть фонарь кабины, выполнять руление к рулежной дорожке на скорости 20..40 км/ч
- Освободите взлетную полосу по рулежной дорожке, выполните руление на стоянку на скорости 20 км/ч, выключите двигатель
 
Особенности пилотирования в условиях значительного встречного ветра:
- Особых отличий при взлете со встречным ветром нет
- При заходе на посадку со значительным встречным ветром необходимо начинать снижение к полосе немного позже, а точку прицеливания снижения удерживать немного дальше
- Особых отличий в касании и пробеге на посадке при встречном ветре нет
 
Особенности пилотирования в условиях значительного ветра слева:
- Взлет в случае бокового ветра слева требует меньшего отклонения педали направления влево, вплоть до полного отсутствия необходимости выжимать ее при взлете с левым ветром 12 м/с
- На протяжении всего захода на посадку аэродром должен быть виден справа от носа самолета
- С уменьшением высоты сила ветра так же уменьшается, поэтому чем ниже находится самолет, тем меньше требуется отклонение носа самолета в сторону от аэродрома для компенсации ветра
- Необходимо максимально аккуратно выполнить касание полосы во избежание неустойчивого пробега и заноса
- Прямо перед касанием полосы педали направления должны быть отклонены немного вправо для избежание заноса
- После мягкого приземления максимальное внимание следует уделить удерживанию направления пробега по удаленным ориентирам
- Не рекомендуется выполнять посадку при боковом ветре более 5 м/с
 
Особенности пилотирования в условиях значительного ветра справа:
- При боковом ветре справа взлет становится труднее ввиду необходимости больше выжимать левую педаль направления
- Не рекомендуется выполнять взлет при боковом ветре справа более 5 м/с
- На протяжении всего захода на посадку аэродром должен быть виден слева от носа самолета
- С уменьшением высоты сила ветра так же уменьшается, поэтому чем ниже находится самолет, тем меньше требуется отклонение носа самолета в сторону от аэродрома для компенсации ветра
- Необходимо максимально аккуратно выполнить касание полосы во избежание неустойчивого пробега и заноса
- Прямо перед касанием полосы педали направления должны быть отклонены немного влево для избежание заноса
- После мягкого приземления максимальное внимание следует уделить удерживанию направления пробега по удаленным ориентирам
- Не рекомендуется выполнять посадку при боковом ветре более 5 м/с