Я разрабатываю простую быструю двухмерную многопользовательскую игру в режиме реального времени во Flash. Игроки могут только стрелять и ходить, чтобы двигаться. Я использую соединение сокетов TCP (AS3 не предлагает UDP).Компенсация латентности сетевой сети
Все, что я хочу, это синхронизировать действия игроков, чтобы Player1 мог видеть то же самое на своем экране, как Player2, Player3 ... или просто видеть закрытое представление (положение, урон и т. Д.).
Я знаю координаты вектора движения, и я могу легко интерполировать их с использованием латентности. Однако я не могу найти эффективный способ определить, сколько времени (T1) потребовалось обновление состояния для клиента client1-server-client2, а затем внести исправления в экран клиента2 на основе T1. (Знаете, времена ping могут колебаться совсем немного).
Мне нужен способ сделать вышеупомянутый, мне нужен способ, который так же быстро и точно, насколько это возможно, но не очень сложный. (какой алгоритм я должен использовать? Какое решение - временные метки, может быть, что? Я не знаю.)
См. Http://gamedev.stackexchange.com/questions/552/synchronizing-clients-with-a-server-and-with-each-other и http://gamedev.stackexchange.com/questions/6645/ лаг-компенсация-с сетевыми-2D-игр –