{"id":9457,"title":"\u041c\u0438\u043b\u043b\u0438\u043e\u043d \u043d\u0430 \u043e\u0431\u043b\u0430\u043a\u0430 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u0438 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u0432","url":"\/redirect?component=advertising&id=9457&url=https:\/\/vc.ru\/promo\/318366-korotko-poluchit-million-na-testirovanie-oblachnoy-infrastruktury&placeBit=1&hash=63f8aeb1fa55d279faf1ab65b9ee234cdf90f6dda13e2a5162f812eb79c08715","isPaidAndBannersEnabled":false}
Дизайн
Юся Shutova

Подводные камни: разработка подводных лодок в World of Warships

World of Warships была выпущена в 2015 году и справедливо считается одной из лучшей игр про флот и морские сражения.

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

Есть ещё один класс кораблей, которого в игре не было — подводные лодки.

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

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

Игровой процесс и тестирование

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

Поэтому разработчики значительно усилили динамику и скорость подлодки, чтобы превратить дни в минуты. Впрочем, это обычный прием, т.к. в сравнении с настоящими судами, скорость кораблей в World of Warships завышена.

Забавная ситуация возникла с торпедами: раньше их реальная глубина хода не имела значения для коллизии и большинство торпед при попадании поражало любой корабль, а ряд особых глубоководных торпед не поражал определённые классы (например, в игре есть торпеды, которые никогда не могут попасть в эсминец и будут просто проходить под ним). Для игрока эта ситуация была понятной и выглядела нормально. Но, т.к. подводная лодка перемещается по вертикали, специально для нового класса разработчики сделали честную коллизию торпед в 3D.

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

Первый играбельный прототип субмарин появился в рамках PvE ивента в честь Хеллоуина примерно год назад.

Там подводные лодки уже умели погружаться и всплывать, была механика кислорода, глубинные бомбы. В ходе тестирования стало окончательно понятно, что тема подлодок игрокам крайне интересна, а класс глобально вписывается в игру. Однако, этого было недостаточно, к тому же появилось множество проблем. Прежде всего, в прототипе подводная лодка игралась как этакий токсичный инвизник-ассасин, который постоянно выпрыгивает из укрытия, метает в ошарашенных врагов сюрикены и запрыгивает обратно. Это хоть и было весело, но не передавало саму атмосферу подлодки из мемуаров и фильмов, а также не очень приятно выглядело со стороны. Таким образом, к разработке текущей версии субмарин мы подходили, имея на руках два противоположных референса: реальное поведение подлодок с очень медленными и напряжёнными процессами против весёлого быстрого рубилова на хеллоуинском ивенте. Разработчикам было необходимо найти золотую середину: создать правильную атмосферу и снизить чрезмерно лихой темп игры, не растеряв при этом динамику. И они внесли следующие изменения:

  • Увеличили запас кислорода, который расходуется у подлодки на перископной глубине и при полном погружении, ограничили время нахождения под водой, но при этом замедлили пополнение кислорода. Это позволило избавиться от «нырков» - частых быстрых погружений, которые постоянно происходили в хеллоуинском ивенте, а также скорректировать темп геймплея, сделав его более размеренным и тактическим.
  • Упростили управление по вертикали, оставив три совершенно чётких и разных положения. Верхнее положение, когда субмарина находится на поверхности для пополнения кислорода и передышки между атаками, является самым заметным и уязвимым. Перископная глубина удобна для атаки, т.к. превосходно маскирует подлодку. Полное погружение используется для самого скрытного перемещения, в котором подводная лодка максимально защищена, но при этом имеет минимум информации о том, что происходит наверху. Перемещение между состояниями происходит плавно и красиво. В зависимости от обстановки в бою игрок принимает решение как управлять подлодкой – все максимально просто и четко. Однако из предыдущего опыта многие игроки помнили о возможности менять глубину в операции «Ужас глубин», и они просили разработчиков вернуть возможность выбирать глубину погружения подлодки. Идея хорошая, и, немного обсудив это, мы добавили первое снаряжение для подлодки: «Предельная глубина». Оно не добавляет возможность выбрать новую глубину, но позволяет подлодке погрузиться еще глубже и снизить урон, который игрок может получить от глубинных бомб эсминцев. Таким образом, мы прислушались к пожеланиям игроков и добавили немного глубины геймплею, позволяя иметь возможность перейти в контр наступление.
  • Вместо прежней схемы пуска торпед, которую вкратце можно описать как «прицелился — дал залп — забыл» была добавлена механика активного сонара, которая мотивирует игрока поддерживать контакт с целью через перископ после пуска торпед и постоянно взаимодействовать с ней, «стреляя» в неё акустическим импульсом. Она создаёт ту самую атмосферу «наблюдаю цель в перископ» и в своём роде эмулирует часы напряжённой работы подводников перед атакой и во время неё. Данной механикой можно не пользоваться, но в этом случае торпедная атака будет крайне неэффективной.

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

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

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

Мы долго и упорно готовились, тем не менее мы понимаем, что впереди ещё много работы. А ведь немало пришлось сделать даже для того, чтобы этот тест стал возможен.

Моделирование

Учитывая, что подводные лодки — это самые маленькие корабли в игре, процесс их моделирования не кажется слишком сложным. Если с линкором мы справляемся в среднем за 6 месяцев, то на подводную лодку уходит 2–2,5. По полигонам схожая история: подлодка — это 40–70 тысяч треугольников, а линкор занимает до 350–420 тысяч. Но есть другие нюансы, о которых мы начали догадываться в процессе разработки.

У подлодок обнаружилось очень много подвижных частей, состояние которых завит от текущего положения. Есть 2 типа рулей: рули направления и рули глубины. Главное оружие — это торпедные аппараты, которые по умолчанию закрыты крышками, но им необходимо правильно открываться для беспрепятственного запуска торпеды. Кроме собственной крышки аппарата есть ещё крышки лёгкого корпуса с различными вариантами открытия или смещения, и у каждой подлодки они работают по-своему. Всё это необходимо достоверно воссоздать с рабочими механизмами, имитирующими правильное открытие всех этих крышек, для соответствия нашим стандартам качества. Тем более, игроки любят рассматривать такие детали.

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

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

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

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

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

Рендер

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

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

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

Показать подводный мир сложно в том числе из-за необходимости отрисовывать множество полупрозрачных объектов: взрывы над водой, такелаж кораблей, поверхность воды, туман, водоросли, пузырьки. Стоит нарушить их порядок — и внимательный игрок заметит этот огрех рендера. В каждой точке экрана, где рисуются прозрачные объекты, видеокарта будет совершать расчёты, кратные числу этих слоёв. Это означает повышенную нагрузку на видеосистему и необходимость в дополнительной оптимизации игры.

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

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

Ещё одна деталь — объёмное освещение. Оно не бросается в глаза, но вместе с другими компонентами рендера улучшает восприятие картинки, особенно на высоких настройках графики. Под водой, чтобы определить цвет каждой точки на экране, нужно учесть не только освещение и цвет объекта, который в этой точке виден, но и свет, преломлённый и поглощённый водой между камерой и наблюдаемым объектом. Свет распространяется неравномерно сквозь толщу воды. Чтобы учесть это влияние, всё расстояние до объекта разбивается на отрезки и рассчитывается свет, рассеянный и поглощённый на каждом отрезке. На последнем шаге полученные результаты суммируются. Эта операция происходит для каждого пикселя подводного мира, что требует больших ресурсов видеокарты.

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

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

Звук

Ещё один компонент игры, работающий на атмосферу, — это звук. Мы подходим к звуку крайне серьёзно, причём есть три важных момента.

  • Мы стараемся применять модульность и активно работаем с миксами, чтобы размер игрового клиента оставался на приемлемом уровне.
  • Звук в нашей игре работает не только на атмосферу, но и на обратную связь игроку, причём зачастую не самым прямым образом.
  • Мы не гонимся за «документальным» реализмом в звуке, а скорее стараемся брать реалистичные компоненты и дополнять их «киношными». Это распространённая практика: например, в большинстве боевиков взрывы и перестрелки звучат сочнее и ярче, чем в реальности.

Эти моменты проявились и в работе над подлодками. Помимо трёх состояний (поверхность, перископная глубина, глубина) ещё учитывается положение камеры (например, на перископной глубине субмарина уже под водой, а камера — над водой). Для каждой комбинации создаётся свой микс. Двигатель у подлодки тоже работает по-разному: под водой мы слышим электрический двигатель, причём он специально приглушён, чтобы выделить другие звуки, а над водой работает дизель.

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

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

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

0
9 комментариев
Популярные
По порядку
Написать комментарий...
Марат Габдуллин

Писать одно , а реализовать в игре другое . Как всегда реализовать нормально не смогут и просто обосрут игру . Спасибо надо сказать разработчикам вместо того что бы доводить игру до нормальной играбильности они добавляют очередную ложку говна .

Ответить
2
Развернуть ветку
Steve Martin

Игру удалил - советую и остальным 

Ответить
2
Развернуть ветку

Комментарий удален

Развернуть ветку
Evil Conqueror

Что вы врёте!!!,ПЛ убьют игру....не играю в эту игру и другим не советую

Ответить
1
Развернуть ветку
Serge Kharkov

После того, что вы натворили с Пуэрто Рико, желание играть в вашу игру пропало полностью.

Ответить
1
Развернуть ветку
Alex Petrov

Вы авианосцы забалансить после реворка не смогли,  в игре фугасная содомия, то как вы понерфели Анри и обратно апнули Гиндера говорит что у вас в игре кризис и вы не знаете что делать дальше. С лодками уверен что разгоните всех остальных кто еще по привычке играет. 

Ответить
1
Развернуть ветку

Комментарий удален

Развернуть ветку
Aleksey Bobkov

а в блитце будут пл когда-либо?

Ответить
0
Развернуть ветку
Gaming Ru

норм

Ответить
0
Развернуть ветку
Макс Пушкин

Управление, тактика и остальное полотно текста - все это ерунда.

Я уверен, всех интересует как получить подводную лодку?
В порту ее нет.
В адмиралтействе какая дичь про жетоны и про открытие каких-то наборов.

Объясните нормально как получить подводную лодку?

Ответить
0
Развернуть ветку
Yuri Krupko

Все норм, понравится вам. Баланс там тоже будет.

Ответить
–1
Развернуть ветку
Читать все 9 комментариев
Эвакуатор для своих: бармен из Санкт-Петербурга придумал как заработать, когда закрыли общепит Статьи редакции

Он сам переоборудовал грузовик Toyota Dyna и принимает заказы от владельцев автосервисов и знакомых автомобилистов.

Платформу для эвакуатора варили из металла вручную
Голова не варит: 10+ советов, как предотвратить умственное переутомление

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

В «День шопинга» продажи косметики в онлайне выросли в 4 раза

Доля выручки от интернет-заказов в сети «Золотое яблоко» в ноябре составила 45%. Это на 15% больше относительно предыдущих месяцев года.

Благодарность команде vc.ru

Эти ребята делают наш мир лучше.

Праздник к нам приходит: когда заказывать подарки за рубежом

Ещё в ноябре для логистических компаний начинается горячий сезон, который продолжается до марта. 11 ноября — большая распродажа AliExpress, а сразу после неё — Чёрная пятница, плавно перетекающая в подготовку к Новому году, 14 и 23 февраля, и, наконец, к 8 марта. В это время Почта и другие логистические службы по всему миру доставляют особенно…

Tmall заморозил 80к руб. и не отправляет заказ 16 дней

Приветствую! Мой первый пост на vc, не пинайте сильно. Постараюсь кратко и по факту.

В OTUS стартует первый онлайн-буткемп «Java developer»
Как поднять продажи фармы в диджитале? Рассказываем про стратегию продвижения бренда «Ультра-Д» и показываем результаты

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

OZON заблокировал аккаунт и отказывается объяснять причину

Ничего не предвещало беды. Как это обычно и бывает, я пришел в ПВЗ, чтобы забрать свой заказ, достал телефон, чтобы назвать сотруднику номер заказа, и столкнулся с проблемой: меня выкинуло из аккаунта. При попытке авторизоваться по номеру телефона или по почте я получил ошибку:

Сооснователь Endel Владислав Пинский запустил в Германии сервис распознавания документов ABC Doc и привлёк €500 тысяч Статьи редакции

Сервис помогает понять смысл документов и решить, что с ними нужно делать.

Пример работы ABC Doc
Пользователи Авито спасли от вырубки леса равные по площади территории Карелии

Как деятельность Авито влияет на сокращение загрязнения окружающей среды? Перепродажа наиболее вредных с точки зрения производства товаров помогла пользователям Авито за 2020 год совместно сэкономить более 1,3 миллиарда кг различных материалов, 267 млн ГДж энергии и 123 млн м3 воды.

null