Принципы многопользовательской игры в реальном времени для TCP и Node.js

». Я читал статью Valve о многопользовательской сети -игроков , которая была адаптирована из статьи Яна Бернье 2001 года под названием Методы компенсации задержки в клиенте/сервере в -Проектирование и оптимизация игровых протоколов. . Я делаю многопользовательскую -игру в реальном времени, используя сервер node.js, подключенный к клиентам через socket.io, и у меня есть несколько вопросов относительно принципов, описанных ниже :

. Интерполяция объекта

[Interpolation] prevents the jittery motion this would ordinarily lead to by buffering server updates then playing them back with the gaps smoothly interpolated between. It can also protect against glitches caused by packet loss.

Клиент -Боковой прогноз

Prediction is the notion of the client predicting the effects of the local player's actions without waiting for the server to confirm them. An entity's predicted state is tested against server commands as they arrive until either a match or a mis-match is detected.

Компенсация задержки

Lag compensation is the notion of the server using a player's latency to rewind time when processing [user input], in order to see what the player saw when the command was sent. In combination with prediction, lag compensation can help to combat network latency to the point of almost eliminating it from the perspective of an attacker.

  • Применяются ли эти принципы к TCP так же, как и к UDP, и будут ли какие-либо различия в реализации? Я вижу, что интерполяция объектов не должна защищать от потери пакетов, но на этом все.

  • Могу ли я даже обмениваться данными между сервером и веб-браузером -и наоборот -с помощью UDP и Node.js?

  • Поскольку статье уже более десяти лет, эти принципы все еще используются или появились другие технологии?

Любая помощь приветствуется.

9
задан RobotEyes 15 February 2013 в 12:04
поделиться