Я хочу реализовать функцию записи игрового процесса в проекте, которая будет записывать только вход игрока и семя RNG в начале уровня. Тогда я мог бы взять такую запись и воспроизвести ее на своем компьютере, чтобы проверить ее на достоверность.Точность поплавка и математика на разных системах
Я интересуюсь только некоторыми численными отличиями, которые могут возникать между версией Flash Player, операционными системами или процессорами (или чем бы они ни были затронуты). Проект будет написан для Flash Player 10.0.0+. Что меня интересует:
- Операции над числами: умножение, деление; бит (возможно, смещение бит); сложение и вычитание; modulo
- Math class: sin, cos и atan2; округление
- localToGlobal/globalToLocal с вращением и масштабированием
Я не буду использовать такие вещи, как Трассировка, getObjectsUnderPoint, hitTestPoint, GetBounds и так далее, все столкновения будут геометрическое.
Итак, есть ли какие-либо шансы, что использование любого из указанных выше предметов даст разные результаты в разных системах? Если да, то что я могу сделать, чтобы избежать их?
Не для геймплея, а для проверки того, изменен ли пользователь или нет, и было бы сложно проверить, что, если, скажем, из-за некоторых несовместимых с поплавками, игрок упал на яму прямо в начале вместо того, чтобы прыгать с последнего полуапикселя, эффективно разрушая весь повтор и не позволяя мне проверять :). – Maurycy
Я считаю, что эти случаи будут достаточно редкими, что это не повлияет. Я бы построил двигатель и не беспокоился об этом на данный момент, и когда вы закончите тест, играя много раз и гарантируя, что игрок заканчивается на той же позиции (в пределах 0,01 единицы) как в реальной игре, так и в симуляции. Если они этого не сделают, то вы можете изолировать проблему, но я был бы очень удивлен, если бы вступили в игру закругленные различия числа (двойная точность, 64 бит). – StapleGun
Я также сомневаюсь, но я узнал, что иногда доверяя вашей кишке, никогда не испытываемые вещи могут привести к серьезным проблемам. В первую очередь я занимаюсь функциями тригонометрии. – Maurycy