Замечу, что типа int тут тоже много, достаточно short'а.
Приведу пару преимуществ использования float'а перед short'ом.
Использование float удобно тем, что не нужно руками производить конвертацию каждый раз, когда понадобится использование дробного числа вместо целочисленного.
Никто не отменял сценарий, когда нам понадобится изменить ограничения в большую сторону и, в связи с этим, мы перестаним влазить в short. Менять тип с одного на другой - не самое приятное удовольствие.
Для рассчета дельты нужно использовать состояния миров, которые имеются у обоих участников коммуникации (клиента и сервера).
Например, текущий тик сервера равен 12 и он знает, что клиент подтвердил получение пакета с состоянием игры, которое соответствует тику номер 10. Тогда сервер может смело рассчитывать дельту на основе 10 и 12 тиков и отправлять эту дельту клиенту. Если, по какой-то причине, пакет теряется и на сервере наступает новый тик, то сервер будет рассчитывать дельту между 10 и 13 тиком.
Т.е. сервер должен рассчитывать дельту между состоянием миров для текущего тика и для тика, который клиент подтвердил получение.
Забыл добавить. Библиотека поддерживает работу и с целочисленными типами.
Замечу, что типа int тут тоже много, достаточно short'а.
Приведу пару преимуществ использования float'а перед short'ом.
Использование float удобно тем, что не нужно руками производить конвертацию каждый раз, когда понадобится использование дробного числа вместо целочисленного.
Никто не отменял сценарий, когда нам понадобится изменить ограничения в большую сторону и, в связи с этим, мы перестаним влазить в short. Менять тип с одного на другой - не самое приятное удовольствие.
Готовой реализации нет. Но можно написать вот такой метод расширения:
Пример
Для рассчета дельты нужно использовать состояния миров, которые имеются у обоих участников коммуникации (клиента и сервера).
Например, текущий тик сервера равен 12 и он знает, что клиент подтвердил получение пакета с состоянием игры, которое соответствует тику номер 10. Тогда сервер может смело рассчитывать дельту на основе 10 и 12 тиков и отправлять эту дельту клиенту. Если, по какой-то причине, пакет теряется и на сервере наступает новый тик, то сервер будет рассчитывать дельту между 10 и 13 тиком.
Т.е. сервер должен рассчитывать дельту между состоянием миров для текущего тика и для тика, который клиент подтвердил получение.
Название и номера полей не записываются. Тут важен порядок записи и чтения, он должен совпадать.
Тут можно посмотреть внутреннюю реализацию чтения дельты на примере float.