안녕하세요! 모바일용 네트워크 게임을 만드려합니다 제가 서버쪽은 문외한이라 구글 서치를 하면서 TCP와 UDP에 대해 좀 알아봤습니다. 보통 완벽한 턴제 게임을 구현할때는 TCP로 만들더라구요, 한턴 한턴 넘어가는 형식이다보니 완벽한 동기화보다는 턴마다 유저가 무슨 행동을 했는지 캐치를 정확히 하기 위함인거 같더라구요(맞나요?..) 그런데 제가 만들어보려하는 게임은 유저가 서치를해서 서로 맺어지면, 실시간으로 줄다리기 비슷하게 게임을 하는겁니다. 턴제가 아니라, 실시간으로 조작을하는 것이 바로바로 반영되야하기 때문에 UDP를 써야하는 것이 맞나요? TCP를 이용할 경우 패킷이 전달이 안되면 계속 지연시키기 때문에 실시간으로 게임 상황이 반영이 안되는 심각한 문제가 우려됩니다만.. 그렇지만 또 UDP는 패킷 손실률이 있다고해서... 만약에 플레이어가 어떤 키를 입력했으면 그에 맞는 애니메이션이나 게임 상황이 즉각 반영되어야하는데, UDP로 서버를 만들면 키를 입력한 패킷이 손실될 경우 게임이 제대로 진행이 안될 확률도 있는 거잖아요?.. 그래서 중요한 부분(행동입력, 아이템획득 등)은 TCP로 구현하고, 일반 모션같은 부분은 UDP로 섞어서 구현하는게 맞나요? 패킷 손실이 되면 않되는 중요한 정보들이 게임에는 필수적으로 있기 마련인데, UDP로 전부 구현한 게임도 있나요? 제가 아직 이쪽 개념이 얕아서 정확히 잘 모르곘네요 ㅠㅠ 설명이나 조언해주시면 감사하겠습니다. |