버그 해결을 위한 모든 질문을 던져
0 votes
190 views
포톤으로 실시간 탑뷰 게임을 만들고 있는 학생입니다. 포톤 에서 기본적으로 지원하는 자동 동기화 컴포넌트들을 사용하다가 딜레이가 너무 심한것 같아 동기화코드를 직접 작성하고 있는데 문제가 있습니다.

간단하게 바뀐 이동 방향과 위치를 보내 각자 클라이언트 에서 위치를 예측하여 위치를 동기화 시켰습니다.

그런데 클라이언트 마다 핑이 달라 좌표가 튀는 일이 많이 발생하여 고생하고 있습니다.

그나마 생각해본 방법은 방향이 바뀐 클라이언트와 핑이 가장 높은 클라이언트가 정보를 받을때 생기는 딜레이는

(방향이 바뀐 클라이언트의 핑 / 2 + 핑이 가장 높은 클라이언트의 핑 / 2) 이므로 방향이 바뀐 클라이언트는 딜레이만큼 기다린 후

이동하는 방향을 바꾸면 두 클라이언트 사이의 오차를 최소화 할수 있다고 생각했습니다.

인터넷에서 찾아본 내용도 이와 별반 다를게 없어서 괜찮을까 싶었는데 조금더 생각해보니 클라이언트 하나의 핑이 매우 높다면 같이 게임하는 모든 클라이언트가 느려지기 때문에 뭔가 틀린 방법인것 같기도 합니다. 어떤 방식을 사용하여야 자연스러운 위치 동기화를 할수 있을까요 ㅠㅠ
asked (2 point) , 190 views

3 answers

0 votes
정확히 게임이 어떤건지 어떤 컨셉인지 모르겟으나,,

여타 다른 게임과 같이 모든 클라가 서버틱에 맞춰서 화면을 구성해주는 방식으로

해야 하지 않을까염?
answered (9 point)
0 votes
answered (240 point)
0 votes
PUN 쓰시는거면 패킷이 포톤클라우드 서버로 갔다가 마스터클라이언트로 갔다가 클라이언트로 가기 때문에 레이턴시에 민감하다면 포톤으로는 힘듭니다. 윈도우 클라이언트면 P2P 네트워크 엔진으로 찾아보세요.

아님 포톤에 결정론적 물리엔진 구현해서 인풋만 공유하는 새로운 서비스 모델이 있으니 참고하시구요.
answered (16 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

167 질문
272 answers
288 댓글
281 users