Перейти к содержимому
Для публикации в этом разделе необходимо провести 50 боёв.
Sub_Octavian

Система видимости. Часть 1: обнаружение кораблей

В этой теме 238 комментариев

Рекомендуемые комментарии

36 147
[WG]
Разработчик, Администратор
8 865 публикаций
3 950 боёв

ZYqPzMf.jpg

 

Здравствуйте, уважаемые игроки!:great:

 

Сегодня мы коснемся одной из сложных тем, которая нередко вызывает вопросы и у опытных командиров, и у новичков системы видимости. Нам предстоит знакомство с основными принципами ее работы, разбор типичных ситуаций с видимостью кораблей, самолетов и торпед, с дымами и гидроакустическим поиском. Я очень постараюсь донести все эти сведения в максимально простой и понятной форме, однако, если вдруг после прочтения у вас останутся вопросы, не стесняйтесь их задавать. Вместе мы с коллегами ответим на них, а статья пополнится кратким полезным F.A.Q. Готовы? Тогда полный вперёд!

 

Как реализована система?

Абсолютное большинство вопросов по видимости возникает из-за того, что эта тема с точки зрения «бытовой» логики кажется очень простой. И действительно: маячит корабль на горизонте — наблюдатель должен видеть точку, а в бинокль — силуэт. Идёт корабль в дымах — наблюдатель должен видеть иногда проглядывающий сквозь завесу контур. Но, когда речь заходит о многопользовательской игре (а World of Warships к этому виду относится), решающую роль начинает играть не подробное воспроизведение реальности, а честность, играбельность и оптимизация.

 

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

 

Играбельность — это соответствие игровых механик жанру (тактический MMO-экшен). У нас не симулятор стрельбы на предельную дистанцию с нервным наблюдением марева на горизонте. В World of Warships должно быть в меру просто, в меру сложно, достаточно динамично, и чтобы игрок управлял огромным красивым кораблём, стрелял, запускал самолёты, маневрировал. Таким образом, от системы видимости требуются простота и эффективность.

 

Оптимизация — это разумный расход ресурсов клиента и сервера, сообразно получаемому эффекту. Надо ли, чтобы видимость каждого корабля рассчитывалась с каждого самолёта «по-честному», с учётом рельефа местности, или хватит простого правила «обнаружение в пределах X километров»? Важно ли отобразить, как из тумана плавно выходит вражеский корабль или достаточно ограничиться механикой «засвета»? Поскольку сервер в бою и так нагружен неплохо, особенно вычислениями по баллистике и системе урона, оптимизация тут играет важнейшую роль.

 

Исходя из перечисленных выше требований и реализована система видимости в World of Warships. Важная особенность: видимость в игре рассчитывается не в клиенте (компьютер игрока), а на сервере. Именно сервер «знает», что, где и когда вы должны увидеть в игре. Это, в частности, защищает видимость от разнообразных махинаций. Например, если игрок каким-то образом отключит отображение дымовой завесы у себя в клиенте, он не сможет смотреть сквозь неё в бою. Сервер всё равно будет поддерживать отображение дыма в нужном месте и показывать игроку только тех противников, которые не скрыты за облаком. С другой стороны, вследствие такой реализации в механике видимости есть ряд игровых условностей вроде «мигающих» эсминцев. Их мы постараемся рассмотреть далее.

 

Базовые принципы видимости, маскировка и обзор

Начнём с самого главного — с обнаружения противника. Важность настройки этого параметра заключается уже в том, что дистанции морского боя огромные. Настолько огромные, что корабль может «спрятаться», если у него достаточно низкий профиль или достаточно хороший камуфляж. Учитывая различные атмосферные явления и, как ни странно, круглую форму Земли, ситуация «все видят всех» на квадрате 40 × 40 км в принципе не представляется возможной. Итак, параметрами, определяющими обнаружение в игре, являются маскировка и обзор.

 

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

 fae1d34eb8f216d88c38abc7f29ed57a.png

 

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

 

Итак, маскировка (видимость) — это ответ на вопрос «С какого расстояния видно меня?»; обзор — это ответ на вопрос «На каком расстоянии я могу видеть других?».

 

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


ВАЖНО: обзор и маскировка работают вместе. Если взять наблюдателя и цель, то для обнаружения цель должна находиться в пределах обзора наблюдателя, а наблюдатель — в пределах видимости цели.


 

Пример 1. Линкоры А и B с одинаковыми параметрами маскировки и обзора друг друга не видят. Они оба находятся в пределах обзора друг друга. Однако они также находятся вне пределов видимости друг друга, поэтому обнаружения не происходит.

 

43CcJ5P.jpg

 

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

 

5nEj0zl.jpg

 

После этих двух примеров вы можете задать закономерный вопрос: а зачем вообще нужен обзор, если обнаружение происходит исключительно по видимости? Чтобы понять это, рассмотрим следующий пример с так называемым «подсветкой» или «командным засветом».

 

Пример 3. Крейсер B видит эсминец A с помощью своего союзника — эсминца C. Последний видит эсминец А, отвечая всем озвученным выше требованиям для обнаружения. В итоге крейсер B наблюдает эсминец A в 3D-мире (и может стрелять по нему), поскольку тот находится в радиусе обзора. 

 

kXgD98W.jpg

 

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

 I1YPbui.jpg

 

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

 

Отметим также, что в случае с обнаружением «союзник — союзник» видимость роли не играет: все союзники по умолчанию считаются обнаруженными друг для друга.

 

На этом можно было бы успокоиться, если бы не три нюанса. 

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

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

 

2. У всех кораблей есть дистанция гарантированного обнаружения. Базовая — 2 километра. В этом радиусе корабль будет обнаруживать все корабли вне зависимости от дымов и ландшафта.

Маскировка — это хорошо, но «спрятать рояль в кустах» не получится. На такой маленькой дистанции все корабли всегда видят друг друга. 

 

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

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

 

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

 

Хороших боев:izmena:

  • Плюс 36
  • Круто 1
  • Минус 1

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
14 437
[GDLWS]
Старший бета-тестер, Старший бета-тестер, Старший бета-тестер
22 945 публикаций
13 692 боя

Спс за гайд! :great:

 

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
Старший бета-тестер
2 275 публикаций

Интересно, почитаем!

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
Старший альфа-тестер
1 019 публикаций
10 067 боёв

Поддерживаю, даже для опытных игроков лишним к прочтению не будет!

 

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
Бета-тестер
463 публикации
1 971 бой

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

Система видимости говорите - не смешно.

  • Плюс 2

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
14
Участник
36 публикаций
1 628 боёв

Спасибо за проделанную работу, Филипп, - очень познавательно! Надеюсь, в боях теперь реже будут кричать: "Как??!! Почему?!! Читеры!!!" )

Ждем продолжения:honoring:!

P.S.: Ну и про полные игровые ТТХ кораблей не забывайте - очень хотелось бы видеть их в порту.

Изменено пользователем _NlK

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
1 177
[SELF]
Коллекционер, Коллекционер, Коллекционер
1 988 публикаций

Честность —

Играбельность — …

 

В свете этих моментов хотелось бы побольше узнать про

со стрельбой из инвиза. :sceptic:
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
1 251
[EZI-S]
Старший бета-тестер
3 020 публикаций

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

Пример.

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

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
291
[_BT_]
Участник, Коллекционер
1 395 публикаций
9 159 боёв

Спасибо за гайд было познавательно 

Изменено пользователем sipuxan

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
Старший бета-тестер
262 публикации
3 663 боя

Как реализована система?

Абсолютное большинство вопросов по видимости возникает из-за того, что эта тема с точки зрения «бытовой» логики кажется очень простой. И действительно: маячит корабль на горизонте — наблюдатель должен видеть точку, а в бинокль — силуэт. Идёт корабль в дымах — наблюдатель должен видеть иногда проглядывающий сквозь завесу контур. Но, когда речь заходит о многопользовательской игре (а World of Warships к этому виду относится), решающую роль начинает играть не подробное воспроизведение реальности, а честность, играбельность и оптимизация.

 

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

 

Играбельность — это соответствие игровых механик жанру (тактический MMO-экшен). У нас не симулятор стрельбы на предельную дистанцию с нервным наблюдением марева на горизонте. В World of Warships должно быть в меру просто, в меру сложно, достаточно динамично, и чтобы игрок управлял огромным красивым кораблём, стрелял, запускал самолёты, маневрировал. Таким образом, от системы видимости требуются простота и эффективность.

 

Оптимизация — это разумный расход ресурсов клиента и сервера, сообразно получаемому эффекту. Надо ли, чтобы видимость каждого корабля рассчитывалась с каждого самолёта «по-честному», с учётом рельефа местности, или хватит простого правила «обнаружение в пределах X километров»? Важно ли отобразить, как из тумана плавно выходит вражеский корабль или достаточно ограничиться механикой «засвета»? Поскольку сервер в бою и так нагружен неплохо, особенно вычислениями по баллистике и системе урона, оптимизация тут играет важнейшую роль.

 

Исходя из перечисленных выше требований и реализована система видимости в World of Warships. Важная особенность: видимость в игре рассчитывается не в клиенте (компьютер игрока), а на сервере. Именно сервер «знает», что, где и когда вы должны увидеть в игре. Это, в частности, защищает видимость от разнообразных махинаций. Например, если игрок каким-то образом отключит отображение дымовой завесы у себя в клиенте, он не сможет смотреть сквозь неё в бою. Сервер всё равно будет поддерживать отображение дыма в нужном месте и показывать игроку только тех противников, которые не скрыты за облаком. С другой стороны, вследствие такой реализации в механике видимости есть ряд игровых условностей вроде «мигающих» эсминцев. Их мы постараемся рассмотреть далее.

 

Лаг в 3-4 секунды (при пинге 30-40) между обнаружением врага и его отрисовкой это баг или фича? На дальних расстояниях не роляет, но в островных каруселях ситуация, когда два корабля друг друга взаимно обнаружили, взяли в захват цели и торпедное упреждение, но не видят силуэта в который можно стрелять, может решить исход дуэли. 

Изменено пользователем Piratica

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
2 394
Альфа-тестер
11 011 публикация
5 121 бой

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

Пример.

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

 

Наверное, об этом будет рассказано в следующих частях обзора. Предварительно Филипп рассказал кратко здесь.

 

 

Стрельба из главного калибра - увеличивает видимость на величину в метрах, которая рассчитывается по формуле:

 

[калибр ГК в мм] x 3 x 10 для видимости с кораблей;

Например, работа ГК 203 мм увеличит видимость с кораблей на 6090 метров.

 

[калибр ГК в мм] x 2 x 10 для видимости с самолетов;

Например, работа ГК 203 мм увеличит видимость самолетов на 4060 метров.

 

По балансным соображениям в результаты расчета могут вноситься корректировки.

 

Эффект длится 20 секунд после последнего выстрела. 

 

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

 

 

  • Плюс 3

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
890
[FOGFL]
[FOGFL]
Старший бета-тестер, Коллекционер
2 129 публикаций
9 922 боя

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


 

Вот из за этого пункта я попадал в неприятные ситуации, а именно отказ от проверок крайних точек. Когда корабль противника выходит из за острова то пока его верхняя точка не покажется из за острова ты его не видишь, хотя вполне можно стрелять в его носовую часть. Был случай когда я видел что корабль противника ( с хп на два моих залпа, у меня при этом оставалось хп где то на один его залп) должен выйти из -за острова, его подсвечивал наш ЭМ. В момент когда начала показываться его носовая часть (уже была видна оконечность), он потопил нашего ЭМА, и пропал из засвета. Я его не видел с 5-6 КМ. Я опешил от такой неожиданности и не дотумкал стрелять в пустое место где он должен был появится. Увидел его только когда он вышел более чем на половину. Как результат я не успел нанести по нему два залпа как собирался со всех орудий и слился. Также был случай когда я остался с противником один на один в конце боя(оба на Мексике с примерно равными хп на полтора два залпа, больше никого не было, разведчики ни мой ни его не были подняты.) между нами был остров, мы шли к друг другу под небольшим углом. По хорошему мы должны были увидеть друг друга одновременно выходя из за острова. Как факт он увидел меня намного раньше и успел нанести по мне два залпа а я только один.

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


 

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


 

З.Ы. в обоих случаях лагов не наблюдалось и пинг был хороший. 

Изменено пользователем PaulAl73
  • Плюс 6

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
Участник
1 166 публикаций
3 846 боёв

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

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

 

Как это не надо крайние точки? Т.е. типичная ситуация, когда ты ждёшь врага из-за острова, он выкатывается, делает залп и только потом становится видимым, это очень раздражает. :hmm:

  • Плюс 2

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
26
[HYPER]
Старший бета-тестер, Старший бета-тестер
211 публикация
7 018 боёв

Расскажите ещё про засвет эскадрилий, а то этой информации нет в клиенте, а обнаруживать этот авиасюрприз уже в 6км от себя не самое приятное ощущение)

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
657
[INTRO]
Участник
1 944 публикации
8 086 боёв

 

Наверное, об этом будет рассказано в следующих частях обзора. Предварительно Филипп рассказал кратко здесь.

 

 

 

 

хотелось бы конкретные цифры по каждому кораблю, к которому применялись корректировки формулы по балансным соображениям.
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
Бета-тестер
9 публикаций
3 025 боёв

То есть, отвалившиеся точки обнаружения на носу и корме это так и задумано? Я на том же тирпице, спрятав тело жирное во фьордах, высунув кормовые башни и навинтив на них глушители могу не светясь стрелять во врагов практически в упор хотя у меня торчит половина корпуса? Зато нагрузку на сервер снизили.

  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
3 412
[MEL]
Старший бета-тестер
3 347 публикаций
14 144 боя

Поддерживаю, даже для опытных игроков лишним к прочтению не будет!

 

К сожалению будет. Для опытного игрока здесь абсолютно ничего нового нет. Это основы основ для совсем уж новичков. Но в любом случае, спасибо ща труд. А меня вот что интересует, в начале боя, когда происходит засвет, у меня от фразы "враг обнаружен" до того, как появится маркер проходит 5(!) секунд. Это нормально? У всех так?

  • Плюс 3

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
890
[FOGFL]
[FOGFL]
Старший бета-тестер, Коллекционер
2 129 публикаций
9 922 боя

К сожалению будет. Для опытного игрока здесь абсолютно ничего нового нет. Это основы основ для совсем уж новичков. Но в любом случае, спасибо ща труд. А меня вот что интересует, в начале боя, когда происходит засвет, у меня от фразы "враг обнаружен" до того, как появится маркер проходит 5(!) секунд. Это нормально? У всех так?

 

Тоже часто наблюдаю такие задержки...
Изменено пользователем PaulAl73

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
Старший бета-тестер
139 публикаций
6 611 боёв

Спасибо за гайд. Очень хороший.

Будет здорово, если все, что с этим связанно (РЛС, перки на обнаружения и пр), будет постоянно освещаться, особенно при изменениях.

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах
168
[EZI-Z]
Старший альфа-тестер
253 публикации
4 701 бой

Хотим таблицу с четкими цифрами штрафов засвета при стрельбе из гк, пмк/пво.

Конечно выдать формулу:

[калибр ГК в мм] x 3 x 10 для видимости с кораблей;
[калибр ГК в мм] x 2 x 10 для видимости с самолетов;

это полезно, НО есть куча целых веток, у которых формула другая... 
 

  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
Поделиться на других сайтах

  • Сейчас на странице   0 пользователей

    Эту страницу никто не просматривает.

×