Я работал над игрой в течение последних нескольких дней, и в настоящее время я работаю над оптимизацией данных фрейма веб-сокета . Я изменил тип данных с простого JSON на массив буферов , и эта часть работает нормально. Данные объекта, такие как позиция и вращение, отправляются и принимаются без проблем .
Проблема ID
. В настоящее время клиент отслеживает каждую сущность по ее ID
, чтобы сохранить последнюю позицию для плавного движения, и , таким образом, она будет оставаться.
Каждый объект на сервере в настоящее время имеет UUID
(например, f2e9f5e2-a810-416e-a1ce-a300a0b7a088
). Это 16 байт . Я не отправляю это!
А теперь к моему вопросу. Как они это делают в больших играх? Есть ли способ обойти это, или способ генерировать уникальный 2-байтный или какой-то другой низкочастотный с UID
?
UPDATE
Мне нужно больше 256 ID
с, что означает, что 1 байт явно не будет работать. 2 байта дают мне 65535 ID
с, что, вероятно, достаточно. Я также знаю, что повторение цикла до тех пор, пока вы не найдете следующий свободный идентификатор, является опцией, но, возможно, это слишком «дорого».