지푸라기라도 잡는심정으로 글올립니다...
FPS겜 만드는데
클라이언트의 동기화 방식을 어떻게 해야 할지 모르겠어요
이전까지 제가 해본건 캐릭터의 이동이 곧 그 캐릭터의 방향을 결정하니깐(리그 오브 레전드나 던파, 디아블로3같은것..)
클라가 이동명령을 내리면 현재위치와 목표위치가 딱 나오니깐
이동시작할때랑 끝날때만 각각 패킷 날려주고, 뭐 한 0.5초마다 변화 없더라도 현재상태 패킷날리고, 이러면 쉽게 동기화 되었었는데 ㅠ. ㅜ
FPS는 애들이 마우스로 방향을 조절하잖아요
이게 움직이는 도중에도 방향이 막 변하는걸 동기화 해줘야 되는데
문제가 뭐냐면
마우스로 방향 트는건 한번에 확 많이 바꿀수도 있고
마우스를 살살움직여서 천천히 바꿀수도 있죠
그래서 방향 전환시작때 보냄-> 멈춤때 보냄 이런걸로 할수도 없구요
매 프레임마다 캐릭터가 향한 방향을 쏴줄수도 없고요(해봤는데 역시나 패킷량이 엄청나게 발생해서 클라가 전부 처리를 못하더라고요)
FPS는 클라이언트 동기화 어떤식으로 하죠 ㅠ. ㅜ
디씨 형들 좀 도와줘요 ㅠ. ㅠ
FPS게임 동기화 방식좀 가르쳐주세요~
사람살려(121.88)
2012-05-20 16:10
추천 0
댓글 13
다른 게시글
-
늙었나보다...길가던놈(rhapsody29) | 12.05.20추천 0
-
선배님들 질문이 있슴미다.. [5]쿠를핧할까(122.36) | 12.05.20추천 0
-
기사 잘보셨습니까??? [1]즐쿰(akwodbsrotkrl) | 12.05.20추천 0
-
갑자기 생각난건데 [2]= _=(maplelyy) | 12.05.20추천 0
-
와 씨1발 MFC 최고! 사이코우요! [2]ㅋㅋ(218.37) | 12.05.20추천 0
-
횽들은 야근을 얼마나 하나염? 'ㅅ'?서현빠돌이(wowbar) | 12.05.20추천 0
-
야근이 당연하다고 말하는 회사는 뭐냐?? [2]서현빠돌이(wowbar) | 12.05.20추천 0
-
저기서 도데체 != 의 뜻이뭐임 ㅠㅠ? [2]ㅋㅋ(58.151) | 12.05.20추천 0
-
형들은 씨언어할떄 [2]ㅇㅇ..(58.151) | 12.05.20추천 0
-
인증?B4없음(bsmoo) | 12.05.20추천 0
좀 도와줘요 ~ ㅠ. ㅜ
나도 만든적있는데 나같은 경우는
그 루프 돌면서 있잖아 주기적으로 포인터를 계속 화면 중심에 위치하게 하면서
중심에서 얼만큼 벗어났는가에 따라 회전할 각도를 계산해서 했었음
음 그렇게 해서 각 클라상태를 각도가 변화했을때 패킷으로 날리셨었나요? ㅠ. ㅜ?
그럼 거의 매프레임 마다 각도변화량 계산하셨다는 말씀인데 ㅠ. ㅜ 이게 이전 변화량과 차이가 있을때만 날리셨나요?
마우스 중심으로 보낼때마다
그러면 매프레임마다 보낸게 되는건가?ㅋㅋ
캐릭터의 각도 변화량이 변경했을때 보내는 방식...이건 마우스 움직이고 있으면 거의 매프레임 패킷 보내게 될거같은데...알겠습니다 ㅠ. ㅜ 그리고 뭐지 일단 제가 클라까지 다만들거든요? 제가 만든 클라가 지금 한프레임에 패킷한개 처리해요. 이거 받은패킷 있으면 다처리하고 다음프레임으로 넘어가게 바꾸는게 좋을까요?
참고로 클라에서 네트워크 부분(패킷 받아서 받은 패킷큐에 넣기)은 제가 서브 쓰레드 한개 생성해서 처리하고 있구요.. 클라는 받은패킷큐에 뭐 들어있나 보고 있으면 꺼내 쓰는데 한프레임에 한개 꺼내거든요
실시간 게임인데 다처리하고 넘어가는게 맞지 않음? 나는 학교 프로젝트로 대충만들은거여서 거기까진 잘 머르겠음 ㅋ
네 답변 감사합니다 ㅠ. ㅜ...
렌더링이랑 패킷처리 하는 부분을 따로 분리하는게 낫지 않나? 렌더링은 기껏해야 초당 60회만 돌면 되잖아... 괜히 컴터 혹사시키지 말고 렌더링은 1/60 초마다 한 번씩만 돌리고 나머지 시간에 열심히 패킷을 처리하면 되지 않을깡