네 다른 방식을 쓰셔야합니다.
아랫분이 말씀하신것을 좀더 풀어서 설명하자면
시간값을 저장하신 순간의 계산 값과
리플레이 하는 순간의 계산값이 다르기때문이죠.
조금 더 설명을 자세히 드리자면
플레이어 이동중 멈추는 지점이 Timedelta 값이 1초일때 체크하는 로직을 짜게 되었을떄
Timedelta값이 정말 1.00000000 으로 정확히 그자리에 멈추게 될까요?
이미 답을 아시는것처럼 "아니오" 입니다.
사람이 눈치 채지 못할만큼 아주 작은만큼 다르겠죠.
이것들이 누적되면 사람눈에 보이게 됩니다.
고정소수점을 가지고 게임을 만드셔야 하는 방법이 있습니다.
조금 더 자세한 내용을 알아보시려면
Deterministic algorithm 을 찾아보시면 좋을듯 합니다.
더 좋을 리플레이 구현 방법을 아시는분은 저도 좀 알려주시면 되겠습니다.