Я не видел ни одной MMO-игры с автомобилями с реалистичной физикой, которые могли бы достичь высокой скорости, почему? Это из-за ограничений пропускной способности сети?
У Second Life есть транспортные средства, но физика оставляет желать лучшего, а максимальная скорость жалкая.
Ответы:
Да и нет (но в основном нет).
Любая MMO-игра имеет несколько ограничений, которые влияют на ее физику. Наиболее важным из них является задержка . Задержка - это время, которое требуется клиенту для отправки запроса на сервер и получения ответа. Даже в самых лучших обстоятельствах это время составляет около 50-100 миллисекунд. В реальном мире это может достигать 500 мс. Это означает, что всякий раз, когда игрок делает что-то - например, поворачивает колесо своей машины - он может видеть, как игра реагирует на это только через 100-500 мс.
100 мс на самом деле довольно много. Любая игра с такой большой задержкой будет не отвечать, а 500 мс будут казаться совершенно непригодными для игры. Вот почему игровые клиенты используют множество приемов, чтобы скрыть эту задержку. Например, автомобиль игрока может начать вращаться с момента, когда он поворачивает колесо, не дожидаясь сервера. Тем не менее, эти приемы только маскируют латентность и никогда не могут ее уменьшить.
Предположим, например, что у нас есть два игрока в автомобилях, которые движутся одновременно навстречу друг другу. Каждый клиент начнет вращаться свой собственный сразу автомобиль; но машина другого игрока не поворачивает - потому что информация об изменении курса еще не дошла до клиента из-за задержки. Оба игрока с удовольствием управляют своими машинами, а потом и БАМ! - сервер замечает, что они фактически врезались друг в друга.
Подобные ситуации не могут быть предотвращены. Независимо от того, какие умные схемы прогнозирования мы используем, где есть другие игроки, всегда есть шанс, что что-то пойдет не так. В любой MMO-игре примерно полсекунды, которую вы только что видели, еще не произошло , и она может измениться в любой момент. Теперь, в медленных играх, таких как традиционные MMORPG, полсекунды не так уж и долго. Персонажи двигаются только на метр или два за это время. Однако, если мы говорим о скоростных автомобильных гонках, полсекунды - это действительно много времени! Вы можете потерпеть крах три раза в полсекунды (-8
На самом деле, быстро развивающаяся игра может работать даже с этими ограничениями. Было бы несколько неприятных моментов, но пока все игроки имеют хорошие связи, это было бы играбельно. Так работают многопользовательские гоночные игры. Однако есть еще одно ограничение MMO: количество обновлений N-квадрата.
Представьте, что 10 игроков играют одновременно. Чтобы они могли видеть друг друга, сервер должен отправить каждому игроку информацию о каждом другом игроке. В нашем примере это означает, что 10x10 = 100 единиц информации для подготовки и отправки. Это количество игроков в квадрате, следовательно, «N-квадрат». Это число растет довольно быстро, и даже традиционные MMORPG начинают бороться, когда в одной области много игроков. Для нашей воображаемой быстрой игры с автомобилями эти фрагменты информации нужно отправлять гораздо быстрее, чем в более медленной игре. И они, вероятно, больше сами по себе - вы посылаете не только позиции, но и скорости, ускорения, угловые скорости и т. Д. Это означает, что в любой быстрой многопользовательской игре может быть только ограниченное количество игроков.
Обе вышеуказанные проблемы не могут быть в принципе решена с помощью программного обеспечения, только маскируется в некоторой степени. Их можно немного уменьшить, ограничив количество игроков - так, например, игра, где быстрые машины используются только в случаях с ограниченным количеством игроков, возможно выполнима. Я считаю, что это то, что сделал APB. Но полноценной ММО-игры с открытым миром на быстрых машинах просто не произойдет. Нет, пока у нас не появятся сетевые интерфейсы с квантовой привязкой или что-то в этом роде.
источник
Да.
Вам приходится иметь дело с задержкой в сети и синхронизацией состояния игры по сети. Чем быстрее движутся машины, тем заметнее становится задержка в сети. Игроки могут врезаться в стену, потому что их игровой клиент не может обновить состояние игры на сервере из-за проблем с сетью. Что не проблема, когда игроки двигаются со скоростью ходьбы ;-)
MMO-сервер имеет большую нагрузку. Многопользовательская гоночная игра может нормально работать с 10 подключенными людьми, но может рухнуть и сгореть, если сервер перестанет отвечать под большой нагрузкой от сотен пользователей.
Физика автомобиля Second Life просто плохо реализована. (Это все еще жив?)
источник
Garry's Mod - это почти вся физика. Я не думаю, что это считается MMO как таковой - хотя она будет поддерживать 32 игрока на сервер - и это имеет самую реалистичную физику, которую я когда-либо видел (не только транспортные средства).
Я предполагаю, что не было MMO, разработанного с учетом физики.
источник
Они попытались добиться этого в крупном провале игры под названием «Все точки». Ну, концепция была отличной, исполнение не так много. Случайные машины появятся из ниоткуда. Вы будете за рулем и просто столкнетесь со стеной, которая превратится в машину. Я вижу, как это будет сделано как-то в ближайшие пять лет, хотя больше процессоров меньше, чем процессоров.
источник
Давайте сначала посмотрим на вашу ссылку.
Сама GTA имеет несколько проблем с мультиплеером, но этого и следовало ожидать. Например, когда латентность превращает вашу автомобильную погоню в кошмар. Иногда игроки убивают друг друга из-за задержки.
Но задержка не единственная проблема, вы не можете запустить MMO только с клиентами, вам нужны серверы, и этим серверам приходится управлять большей частью, если не всей физикой, чтобы избежать мошенников.
Итак, представьте, что вам нужно бегать с тысячами игроков. Представьте также нагрузку на процессоры во время интенсивных физических упражнений. Вы можете компенсировать большую часть стресса выделенным графическим процессорам . Bullet Physics имеет реализацию, которая работает на CPU.
Но чтобы избежать перегрузки на сервере, вам необходимо реализовать механизм обработки переопределений динамических зон в зависимости от плотности игроков. В этом случае это гораздо важнее, чем в других ММО.
Это выполнимо. Проблема здесь заключается в необходимости масштабирования игры для большего количества игроков и запуска основного экземпляра игры, распределенного по серверам.
Если вам удастся оптимизировать свою физику, быстро и эффективно перемещать объекты между серверами и найти способ избежать мегасоты (например, экземпляров), то вы можете сделать это с теми же ограничениями, что и у вас, и с некоторыми другими из-за природы ММО. игры
Помните, что вам не нужно отправлять все обновления состояния игры всем игрокам все время, просто изменения, которые имеют непосредственное отношение к игроку, должны отправляться постоянно, остальные могут отправляться с более низкой скоростью.
источник
проверьте режим gta 5 rage mp, русский красный век или ролевую игру FiveStar, где максимум 1200 - 1600 игроков на одном сервере, что довольно впечатляюще, но они пытаются не добавлять трафик AI с версией 0.4
источник