How can I ensure offsets that execute every tick will make the same movement while running at different frame rates?