많은 분들이 UDP가 TCP보다 빠르다고 알고 있습니다. 그것은 사실이 아닙니다.
Nagle알고리즘을 사용하지 않고 네트웍 상에 패킷로스가 발생하지 않는다면 tcp와 udp의 latency는 같습니다.
클라이언트가 주기적으로 자기 위치를 전송하는 방법은 별로 좋은 선택이 아닙니다.
보안문제나 패킷량 문제를 떠나서 게임플레이측면에서 별로 우아하지 않습니다.
당장 그런식으로 처리하는 wsad+마우스 컨트롤 게임에서 마우스를 좌우로 흔들면서 움직여보세요. 다른 클라이언트에서 볼때 완전히 부드럽게 보일수 없습니다.
이동관련 이벤트에 속도와 위치를 Tcp로 보내서 서버,다른 클라이언트 모두 데드레커닝하면 이동경로를 완전히 똑같이 재현할수 있습니다. 지연시간은 있을망정 로컬에서의 캐릭터 이동이 원격에서도 똑같이 재현됩니다.
자기 위치를 초당 n회 전송하는 식으로 처리하니까 UDP가 효율적인거지 처음부터 이벤트 드리븐으로 만들면 UDP 쓸 이유가 없어요.