Да и нет (но в основном нет).
Любая MMO-игра имеет несколько ограничений, которые влияют на ее физику. Наиболее важным из них является задержка . Задержка - это время, которое требуется клиенту для отправки запроса на сервер и получения ответа. Даже в самых лучших обстоятельствах это время составляет около 50-100 миллисекунд. В реальном мире это может достигать 500 мс. Это означает, что всякий раз, когда игрок делает что-то - например, поворачивает колесо своей машины - он может видеть, как игра реагирует на это только через 100-500 мс.
100 мс на самом деле довольно много. Любая игра с такой большой задержкой будет не отвечать, а 500 мс будут казаться совершенно непригодными для игры. Вот почему игровые клиенты используют множество приемов, чтобы скрыть эту задержку. Например, автомобиль игрока может начать вращаться с момента, когда он поворачивает колесо, не дожидаясь сервера. Тем не менее, эти приемы только маскируют латентность и никогда не могут ее уменьшить.
Предположим, например, что у нас есть два игрока в автомобилях, которые движутся одновременно навстречу друг другу. Каждый клиент начнет вращаться свой собственный сразу автомобиль; но машина другого игрока не поворачивает - потому что информация об изменении курса еще не дошла до клиента из-за задержки. Оба игрока с удовольствием управляют своими машинами, а потом и БАМ! - сервер замечает, что они фактически врезались друг в друга.
Подобные ситуации не могут быть предотвращены. Независимо от того, какие умные схемы прогнозирования мы используем, где есть другие игроки, всегда есть шанс, что что-то пойдет не так. В любой MMO-игре примерно полсекунды, которую вы только что видели, еще не произошло , и она может измениться в любой момент. Теперь, в медленных играх, таких как традиционные MMORPG, полсекунды не так уж и долго. Персонажи двигаются только на метр или два за это время. Однако, если мы говорим о скоростных автомобильных гонках, полсекунды - это действительно много времени! Вы можете потерпеть крах три раза в полсекунды (-8
На самом деле, быстро развивающаяся игра может работать даже с этими ограничениями. Было бы несколько неприятных моментов, но пока все игроки имеют хорошие связи, это было бы играбельно. Так работают многопользовательские гоночные игры. Однако есть еще одно ограничение MMO: количество обновлений N-квадрата.
Представьте, что 10 игроков играют одновременно. Чтобы они могли видеть друг друга, сервер должен отправить каждому игроку информацию о каждом другом игроке. В нашем примере это означает, что 10x10 = 100 единиц информации для подготовки и отправки. Это количество игроков в квадрате, следовательно, «N-квадрат». Это число растет довольно быстро, и даже традиционные MMORPG начинают бороться, когда в одной области много игроков. Для нашей воображаемой быстрой игры с автомобилями эти фрагменты информации нужно отправлять гораздо быстрее, чем в более медленной игре. И они, вероятно, больше сами по себе - вы посылаете не только позиции, но и скорости, ускорения, угловые скорости и т. Д. Это означает, что в любой быстрой многопользовательской игре может быть только ограниченное количество игроков.
Обе вышеуказанные проблемы не могут быть в принципе решена с помощью программного обеспечения, только маскируется в некоторой степени. Их можно немного уменьшить, ограничив количество игроков - так, например, игра, где быстрые машины используются только в случаях с ограниченным количеством игроков, возможно выполнима. Я считаю, что это то, что сделал APB. Но полноценной ММО-игры с открытым миром на быстрых машинах просто не произойдет. Нет, пока у нас не появятся сетевые интерфейсы с квантовой привязкой или что-то в этом роде.