Что лучше выбрать 1 или 2? 1. Клиент двинул игрок и отправляет сервер и сервер сразу отправляет остальных клиента о движение игрока. Тестировал: что двигают нормально, но когда становит больше игрока тем медленнее получает множества ответ от сервера. То есть 1000 игрок двинул и отправил 1000 раз emit а сервер отправил остальные 1000 brodcast.emit. 2. Клиент двинул игрок и отправляет к серверу и сохраняет положение игрока в массив. а сам сервер setinterval отправляет клиентам остальных массиву. а клиент получит и обновляет каждого игрока положение. каждый клиент имеет интервал что получает каждый 0.05 сек данные массива. Проблема том что он двигает не гладко а иногда толчок двигает. PS. Извини за русский язык, с утра чета норм не могу писать!
не совсем понятно что игра, action или стратегия, если action то наверное принципиально что бы все двигалось плавно, по этому все же первый вариант. Так же можно попробовать сделать это через сокет. Так же можно попробовать эти данные о передвижении хранить как то по другому, что то типа кеширования, т.е. последние данные для более быстрого получения записывать в файл .txt и оттуда брать эти данные, как то так. Но опять же надо видеть саму игру и код и вообще что происходит.
VLK, я и пишу через сокет. 2. просто каждый промежуток сервер отправляет клдиенту все масива игрока и позиция. 1. или клиент двинул и сразу отправить другим клиентам о его позиции. так как я пишу сервер на node js а клиент js с html canvas. Просто видео покажу Это промежуток сервер отправляет клиентам, но заметно что некоторые запоздывают. а это срочный отправка с клиент -> сервер -> клиент другим
Сервер отправляет клиентам пакет среди данных которого есть изменения местоположения объектов в видимой для клиента области (важный нюанс). Не каждого отдельного игрока, а всех в видимой области У вас это второй вариант.