2016-08-16 5 views
0

서버의 델타 시간을 사용할 때 모든 컴퓨터/전화에서 다르게 작동하므로 서버 측 게임을 모든 컴퓨터에서 동일하게 실행할 수 있습니다.델타 시간 서버 측과 관련된 문제

'고정 된 시간대'가 도움이 될까요?

+0

체크 아웃 [정밀 시간입니다 프로토콜] (https://en.wikipedia.org/wiki/Precision_Time_Protocol)을 참조하십시오. – Dan

답변

0

예 시간대가 고정되어 있습니다. 그러나 델타를 사용한 간단한 이동도 도움이 될 수 있습니다. 일반적으로 물리를 사용하는 고정 타임 스텝은 게임의 렌더링 방법보다 물리를 더 자주 업데이트해야하기 때문에 (120-200hz).

하지만 물리없이 고정 된 시간대를 계속 사용할 수 있습니다. 당신은 귀하의 경우에는

lerp(oldValue, newValue, accumulator/timestep); 

와 아마 작은 프레임 속도 차이를 게임 오브젝트를 보간 할 필요가 예기치 않은 결과가 발생합니다.

이동을 피하려면 델타에 의존해야합니다. 대신

player.x+=5; 

그래서 마지막 델타의

player.x+=5*60*delta;//I assume your game is 60 fps 

이 machines.And 사이의 유일한 차이는있을 것입니다 그 무시할 수 60 58 fps의 사이에 델타 차이 때문에 만 ~ 0.0005 초

+0

나는 서버 + 클라이언트에서 + = 5 * 60 * 델타를 시도했지만 그럴 수밖에 없다. – IgnasR

+0

도 60fps로 실행되는 서버입니까? –

+0

아니요 모든 것이 nfps로 실행되고있는 것은 아닙니다. 서버 초당 프레임 수를 제한하는 것이 좋은지는 모르겠지만 초당 프레임 수를 제한하지 않습니다. – IgnasR

관련 문제