MMORPG 초당 패킷에 관하여 궁금한점
안녕하세요.
선생님 MMROPG 초당 패킷에 관하여 궁금한 점이 있습니다.
지금 현재 Unity 클라이언트를 사용하여, 플레이어 움직임을 동기화 작업을 하고 있습니다.
위메x드의 신규 게임인 나이트크로우의 플레이어 움직임을 모방하여 구현하고 있습니다.
(나이트크로우는 카메라가 바라보는 방향으로 플레이어의 방향이 결정됩니다.)
위,
위 오른쪽,
오른쪽,
아래 오른쪽,
아래,
아래 왼쪽,
왼쪽,
위 왼쪽,
이렇게 8방향으로 움직입니다.
1초에 패킷이 얼마나 날아가는지 로그를 찍어 보았더니
일반 MMORPG 게임을 하는 것처럼 움직이면 초당 평균 6개 정도 날아갑니다.
하지만 인위적으로 키보드와 카메라를 엄청 움직이면 초당 최대 40번 까지 패킷이 날아갑니다.
제가 실무 경험은 없어도 MMORPG가 움직임만으로 초당 40번의 패킷을 쏘는건 문제가 있어 보입니다.
그래서 나이트크로우에서는 어떻게 처리를 했나 확인하려고 들어가서 인위적으로 마구마구 움직여보니깐
제 유니티 화면이랑 똑같이 마구마구 움직입니다.
(다른 플레이어가 봤을 때 어떻게 움직이는지는 잘 모르겠습니다.)
이러한 상황이고 패킷을 줄이는 해결방안을 모색중입니다. Dead Reckoning 방법을 써서 어느정도 패킷을 줄였는데도 짧은 거리를 마구잡이로 방향을 바꿔버리면서 이동하면 패킷이 그대로 날라가 버리게 되어서 문제입니다...
<질문 요약>
MMORPG 1초당 패킷 적정 수
현업에서는 플레이어가 인위적으로 (앞으로 갔다 뗐다 빠르게 반복) 움직이는 걸 어떻게 처리하는지 궁금합니다.
답변 1
1
통상적으로 1초에 5번 정도가 적당합니다. 많아도 10번은 넘으면 안 됩니다.
정답은 없습니다. 다만 본인 화면이야 그렇게 보이겠지만,
옆에 있는 유저가 보기엔 그 정도로 와리가리를 절박하게 하는 것처럼 보이진 않습니다.
즉 본인은 서버 허락 없이도 움직이는 것이고, 실제로 그 패킷을 그 정도로 서버에 전송하진 않는다는 것이죠
Memory Pool에서 오버플로우 질문입니다.
0
63
2
포토폴리오 및 진로 관련하여 고민입니다.
0
112
1
포토폴리오 관련 고민입니다.
0
62
1
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
0
82
2
성능 테스트 결과
0
103
2
게임 서버 Stateful, Stateless 진로 고민
0
121
1
WaitOnAddress와 Sleep의 차이 질문
0
83
1
궁금한거 있습니다.
0
82
2
JobTimer 구동 스레드
0
107
2
TryPop() 동작 관련 질문
0
81
1
로드맵 C#서버 C++서버 방향성 질문
0
148
2
스레드 id를 출력할떄 메인스레드 id도 출력되나요?
0
73
1
생명주기를 위한 의도적 복사
0
87
2
락프리의 실무에서 사용 질문
0
141
2
32bit threadID와 16비트 상위 WriteFlag에 대해
0
101
2
mutex와 sleep 차이점
0
118
1
실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다
0
152
2
Stomp Allocator의 Release함수에 대한 질문입니다.
0
96
1
공부법 관련해서
0
183
2
MakeShared 함수 관련
0
114
1
지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.
0
144
2
운영체제관련 질문입니다
0
131
1
send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.
0
117
2
메모리 풀 질문있습니다.
0
124
1





