마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

게임서버 구축시 캐릭터 쓰레드 적용 질문입니다.

0 추천
안녕하세요.

안드로이드 게임을 개발하고 있습니다.

 

게임서버 구축시,

본인의 캐릭터가 터치로 이동이되며,

소환수를 소환하면 소환수가 랜덤으로 캐릭터의 주변을 서성입니다. 주변에 몹이 있으면 몹을 때리고요...

예를들면 디아블로2의 네크로멘서같은...(소환수가 10마리가 될수도 있고 50마리가 될수도 있다고 가정할게요)

 

이와같은 코딩을 서버에서 다룰경우...

소환수의 위치정보는 서버에서 계산하야 계속적으로 클라에 뿌려주고, 클라는 받은 정보로 이미지를 띄웁니다.

캐릭터의 이동도 좌우상하 버튼 클릭 여부에 따라 서버에서 이동거리를 뿌려줍니다.

위치정보를 클라에서 다루면 해킹의 염려가 있기 때문에 서버에서...

 

여기서 가장 고민은 계속적으로 위치정보를 잘 뿌려주어야,

유저가 볼때, 끊김이 없이 보일것인데요...

 

통신은 nio에 socket 통신을 이용할 시...

 

쓰레드 풀의

큐를 넘겨주는 종료시점을 캐릭터 및 소환수의 이동이 변경된 시점...(한번 움직일때마다 큐를 넘겨줌)

(소환수가 랜덤으로 주변을 계속적으로 쉬지않고 서성입니다.)

이라고 했을때,

 

동접이 1000명이고 풀이 10개라면,

풀하나당 100명을 담당하고,

한 동작움직이려면 100명의 움직임을 기다린 끝에,

한 동작이 움직이게 되는데...

 

뭔가 비효율적인것처럼 보이네요...

 

보통 이런 실시간 움직임은 소캣 쓰레드 1:1구조로 다뤄야 하나요?

 

좋은 방법이 없을까요???

 

알려주시면 감사하겠습니다.
앱개발잼나 (1,450 포인트) 님이 2013년 4월 12일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...