raic-2019
raic-2019 copied to clipboard
Неправильные тайминги
Assault rifle должно стрелять раз в 600 микротиков, а на деле 601. Вызвано ошибками округления в таймерах, в конце, когда должен получаться 0, на деле получается малое число большее 0, и оно сжирает лишний микротик. Стоит вычитать у всех таймеров EPS (или перейти на целые времена измеряемые в микротиках, но это изменение сетевого протокола, вероятно нежелательно)
Да, сейчас для прыжков приходится тоже +1 добавлять. Вообще, уж платформер стоило бы сделать на целых числах целиком, чтобы раз и навсегда избавиться от ошибок округления.
В добавок про эпсилоны. Не знаю пока как это может повлиять (наверное никак), но прибавлять эпсилоны к координатам и выносить это наружу, точно не стоило. Если это ради проверок на пересечение с тайлами, но эпсилоны можно прибавлять/отнимать только в момент проверки, в зависимости от того, левую/нижнюю или правую/верхнюю границу проверяем.
Движение игрока я вчера вроде как точно восстановил, вроде явных огрехов не помню. А эпсилоны это пылинки так учитываются (хотя на деле скорей всего, чтоб батут не срабатывал, когда не надо), в принципе норм подход.
Кажется чем меньше использований EPS, тем лучше. Сейчас только там где иначе были бы явные косяки
Ну тут явная ошибка, во всех таймингах таких как перезараядка оружия, время можно было измерять целыми числами в микротиках, но зачем-то сделали double, и из-за этого проблемы. Получается тут надо использовать поправки на eps.
Сейчас еще скажут, что у них и математики нет)