Система видимости. Часть 1: обнаружение кораблей
Уважаемые игроки! Представляем вам новую статью Филиппа Sub_Octavian Молодковца, из которой вы узнаете, как устроена система видимости в World of Warships. С точки зрения геймплея это одна из фундаментальных вещей. По сути, всё, что мы видим или не видим в бою, будь то корабли, самолёты или торпеды, определяется системой видимости. Выразить её одной формулой было бы невозможно, ведь разные игровые объекты имеют разные принципы обнаружения, а те в свою очередь могут изменяться множеством модификаторов. Словом, тему можно назвать объёмной. Эта статья призвана раскрыть её максимально и просто. Чтобы не пугать вас количеством текста, мы разбили публикацию на две части. Для начала давайте разберёмся с обнаружением кораблей. Приятного чтения!
Как реализована система?
Абсолютное большинство вопросов по видимости возникает из-за того, что эта тема с точки зрения «бытовой» логики кажется очень простой. И действительно: маячит корабль на горизонте — наблюдатель должен видеть точку, а в бинокль — силуэт. Идёт корабль в дымах — наблюдатель должен видеть иногда проглядывающий сквозь завесу контур. Но, когда речь заходит о многопользовательской игре (а World of Warships к этому виду относится), решающую роль начинает играть не подробное воспроизведение реальности, а честность, играбельность и оптимизация.
Честность — это в данном случае равноправие игроков. Если я, скажем, установлю низкое качество графики в настройках, отключу часть эффектов (может, даже модами) или как-то ещё изменю получаемую мной картинку, я все равно должен видеть ровно то же самое, что и другие игроки на моём месте. У игрока не должно быть возможности смотреть сквозь дымы, замечать противника на большей дистанции и так далее.
Играбельность — это соответствие игровых механик жанру (тактический MMO-экшен). У нас не симулятор стрельбы на предельную дистанцию с нервным наблюдением марева на горизонте. В World of Warships должно быть в меру просто, в меру сложно, достаточно динамично, и чтобы игрок управлял огромным красивым кораблём, стрелял, запускал самолёты, маневрировал. Таким образом, от системы видимости требуются простота и эффективность.
Оптимизация — это разумный расход ресурсов клиента и сервера, сообразно получаемому эффекту. Надо ли, чтобы видимость каждого корабля рассчитывалась с каждого самолёта «по-честному», с учётом рельефа местности, или хватит простого правила «обнаружение в пределах X километров»? Важно ли отобразить, как из тумана плавно выходит вражеский корабль или достаточно ограничиться механикой «засвета»? Поскольку сервер в бою и так нагружен неплохо, особенно вычислениями по баллистике и системе урона, оптимизация тут играет важнейшую роль.
Исходя из перечисленных выше требований и реализована система видимости в World of Warships.
Важная особенность: видимость в игре рассчитывается не в клиенте (компьютер игрока), а на сервере.
Именно сервер «знает», что, где и когда вы должны увидеть в игре. Это, в частности, защищает видимость от разнообразных махинаций. Например, если игрок каким-то образом отключит отображение дымовой завесы у себя в клиенте, он не сможет смотреть сквозь неё в бою. Сервер всё равно будет поддерживать отображение дыма в нужном месте и показывать игроку только тех противников, которые не скрыты за облаком. С другой стороны, вследствие такой реализации в механике видимости есть ряд игровых условностей вроде «мигающих» эсминцев. Их мы постараемся рассмотреть далее.
Базовые принципы видимости, маскировка и обзор
Начнём с самого главного — с обнаружения противника. Важность настройки этого параметра заключается уже в том, что дистанции морского боя огромные. Настолько огромные, что корабль может «спрятаться», если у него достаточно низкий профиль или достаточно хороший камуфляж. Учитывая различные атмосферные явления и, как ни странно, круглую форму Земли, ситуация «все видят всех» на квадрате 40 × 40 км в принципе не представляется возможной. Итак, параметрами, определяющими обнаружение в игре, являются маскировка и обзор.
Маскировка бывает двух типов: дальность видимости с кораблей и дальность видимости с самолётов. Первая настраивается прежде всего исходя из высоты борта и надстроек цели, вторая — из площади цели при взгляде сверху. В обоих случаях учитываются линейные размеры корабля. Точные цифры по любому из них можно легко посмотреть в Порту.
Ответить
Хотите присоединиться к обсуждению?Не стесняйтесь вносить свой вклад! Войти через единый аккаунт Wargaming.net ID