naverz / zepeto-script-sample

38 stars 7 forks source link

제대로 동기화 되지 않는 문제 #53

Open FOJF opened 2 years ago

FOJF commented 2 years ago

다른 플레이어가 점프를 하며 이동하게 되면 이후의 이동시에 점프하지 않아도 점프를 하면서 이동하게 되거나 위치가 제대로 동기화되지 않는 문제가 존재합니다. 또한 컨텐츠 초반에 몇몇 플레이어는 이동구역을 제한하기 위해서 벽이 존재하는데 이때 벽이 존재하는 플레이어에게는 벽이 없는 플레이어가 벽을 보며 계속 달리는 모션만 취하게 됩니다.

점프 후 위치가 제대로 동기화 되지 않는 문제

https://user-images.githubusercontent.com/61574220/140602963-5fde3ec9-3cfc-4d88-ab01-aef2001789f8.mp4

점프를 한 번만 했지만 멈추지 않고 계속 이동 중이면 계속 점프하며 이동하는 문제

https://user-images.githubusercontent.com/61574220/140602964-d58363a5-6ed6-45da-8662-3d64cb4302b1.mp4

벽을 지나치지 못하고 벽에 계속 부딪히며 달리기만 하는 문제

https://user-images.githubusercontent.com/61574220/140602966-d82524c3-5da2-410f-b73e-26e1185d29c5.mp4

FOJF commented 2 years ago

추가적으로 roomState에서 playTime을 number로 선언해준 후 서버의 onTick함수 내부에서 빼기 연산을 해주며 게임의 남은 시간을 관리 하고 있는데 테스트 시 기기마다 남은 시간이 실시간 동기화 되지 않고 시차가 발생하게 되면서 여러 문제가 발생하게됩니다. 혹시 해결 방법이 있을까요?

x4cf commented 2 years ago

벽을 뚫고 가는건 캐릭터 위치가 일정이상 벌어지면 텔레포트 시키는 방식으로 해결하는걸 추천합니다. 동기화는 게임에 맞게 직접 구현하셔야 합니다.

코드 : Me793a2 https://open.kakao.com/o/gNaIjUKd 이쪽으로 오셔서 동기화 문제를 함께 해결해보시는것도 좋은 방법입니다.