Можно ли использовать в MMO-игре такие машины с физикой, как GTA? [закрыто]

9

Я не видел ни одной MMO-игры с автомобилями с реалистичной физикой, которые могли бы достичь высокой скорости, почему? Это из-за ограничений пропускной способности сети?

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


источник
Разве APB не занимался всем этим?
Coderanger
Я рассказал некоторые подробности о подобных вещах на gamedev.stackexchange.com/questions/6645/…, которые должны многое объяснить, почему это может или не может работать.
Тим Холт
Я знаю, что это старый вопрос, но я хотел бы упомянуть Auto Assault. Это была MMO с физикой автомобиля.
Уильям Маригер

Ответы:

19

Да и нет (но в основном нет).

Любая MMO-игра имеет несколько ограничений, которые влияют на ее физику. Наиболее важным из них является задержка . Задержка - это время, которое требуется клиенту для отправки запроса на сервер и получения ответа. Даже в самых лучших обстоятельствах это время составляет около 50-100 миллисекунд. В реальном мире это может достигать 500 мс. Это означает, что всякий раз, когда игрок делает что-то - например, поворачивает колесо своей машины - он может видеть, как игра реагирует на это только через 100-500 мс.

100 мс на самом деле довольно много. Любая игра с такой большой задержкой будет не отвечать, а 500 мс будут казаться совершенно непригодными для игры. Вот почему игровые клиенты используют множество приемов, чтобы скрыть эту задержку. Например, автомобиль игрока может начать вращаться с момента, когда он поворачивает колесо, не дожидаясь сервера. Тем не менее, эти приемы только маскируют латентность и никогда не могут ее уменьшить.

Предположим, например, что у нас есть два игрока в автомобилях, которые движутся одновременно навстречу друг другу. Каждый клиент начнет вращаться свой собственный сразу автомобиль; но машина другого игрока не поворачивает - потому что информация об изменении курса еще не дошла до клиента из-за задержки. Оба игрока с удовольствием управляют своими машинами, а потом и БАМ! - сервер замечает, что они фактически врезались друг в друга.

Подобные ситуации не могут быть предотвращены. Независимо от того, какие умные схемы прогнозирования мы используем, где есть другие игроки, всегда есть шанс, что что-то пойдет не так. В любой MMO-игре примерно полсекунды, которую вы только что видели, еще не произошло , и она может измениться в любой момент. Теперь, в медленных играх, таких как традиционные MMORPG, полсекунды не так уж и долго. Персонажи двигаются только на метр или два за это время. Однако, если мы говорим о скоростных автомобильных гонках, полсекунды - это действительно много времени! Вы можете потерпеть крах три раза в полсекунды (-8

На самом деле, быстро развивающаяся игра может работать даже с этими ограничениями. Было бы несколько неприятных моментов, но пока все игроки имеют хорошие связи, это было бы играбельно. Так работают многопользовательские гоночные игры. Однако есть еще одно ограничение MMO: количество обновлений N-квадрата.

Представьте, что 10 игроков играют одновременно. Чтобы они могли видеть друг друга, сервер должен отправить каждому игроку информацию о каждом другом игроке. В нашем примере это означает, что 10x10 = 100 единиц информации для подготовки и отправки. Это количество игроков в квадрате, следовательно, «N-квадрат». Это число растет довольно быстро, и даже традиционные MMORPG начинают бороться, когда в одной области много игроков. Для нашей воображаемой быстрой игры с автомобилями эти фрагменты информации нужно отправлять гораздо быстрее, чем в более медленной игре. И они, вероятно, больше сами по себе - вы посылаете не только позиции, но и скорости, ускорения, угловые скорости и т. Д. Это означает, что в любой быстрой многопользовательской игре может быть только ограниченное количество игроков.

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

Ничего
источник
Вы видели DCUO, полный мир физики, скоростное путешествие, разбрасывание автобусов и машин, все это хорошее. Маскировка довольно эффективна. Учитывая, что все физические симуляции, на самом деле, просто симуляции, то, что нужно игрокам, это не реальность, а симуляция, которая кажется честной и непредвзятой И вам определенно не нужна физика сюжета Star Trek, например, запутанность, чтобы получить это =)
Патрик Хьюз,
@Patrick Hughes Я не играл в DCUO, но, судя по видео, это совсем не похоже на физику "GTA-like". Похоже, у него нет транспортных средств - и это важная часть, потому что с «фальшивой» физикой для супергероев вам намного проще, чем для реальных автомобилей. Многие люди возлагают большие надежды на «реалистичную» физику автомобилей.
Nevermind
Хотя это и правда, это также не совсем правильно. Можно играть в крупномасштабные автомобильные боевые игры с автомобилями, танками и самолетами, Battlefield 3 - довольно большая игра, даже не будучи MMO, производители могли одновременно работать с более чем 100 игроками. Проверьте battlegroundeurope.com для MMOFPS, где физика играет главную роль.
Койот
Если у вас есть детерминированный физический движок, задержка не является проблемой, так как вы можете симулировать физику как на сервере, так и на клиенте. Проблема в основном в необходимой вычислительной мощности или прибыльности.
Маркус фон Броади
@Markus von Broady Да, если вклад ваших игроков никак не влияет на физику - вы великолепны.
Nevermind
3

Да.

Вам приходится иметь дело с задержкой в ​​сети и синхронизацией состояния игры по сети. Чем быстрее движутся машины, тем заметнее становится задержка в сети. Игроки могут врезаться в стену, потому что их игровой клиент не может обновить состояние игры на сервере из-за проблем с сетью. Что не проблема, когда игроки двигаются со скоростью ходьбы ;-)

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

Физика автомобиля Second Life просто плохо реализована. (Это все еще жив?)

Стивен
источник
2

Garry's Mod - это почти вся физика. Я не думаю, что это считается MMO как таковой - хотя она будет поддерживать 32 игрока на сервер - и это имеет самую реалистичную физику, которую я когда-либо видел (не только транспортные средства).

Я предполагаю, что не было MMO, разработанного с учетом физики.

Коммунистическая утка
источник
1

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

мечтать о большем
источник
0

Давайте сначала посмотрим на вашу ссылку.

Сама GTA имеет несколько проблем с мультиплеером, но этого и следовало ожидать. Например, когда латентность превращает вашу автомобильную погоню в кошмар. Иногда игроки убивают друг друга из-за задержки.

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

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

Но чтобы избежать перегрузки на сервере, вам необходимо реализовать механизм обработки переопределений динамических зон в зависимости от плотности игроков. В этом случае это гораздо важнее, чем в других ММО.

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

Если вам удастся оптимизировать свою физику, быстро и эффективно перемещать объекты между серверами и найти способ избежать мегасоты (например, экземпляров), то вы можете сделать это с теми же ограничениями, что и у вас, и с некоторыми другими из-за природы ММО. игры

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

койот
источник
0

проверьте режим gta 5 rage mp, русский красный век или ролевую игру FiveStar, где максимум 1200 - 1600 игроков на одном сервере, что довольно впечатляюще, но они пытаются не добавлять трафик AI с версией 0.4

FantomX1
источник