게임 프로그래머의 만담, 게임코디 2nd
0 투표
941 views 만담 (120p) , 941 views

서버를 살짝 공부해보고 있는데 궁금한게 생겼습니다.

mmorpg라 예를들면 플레이어 a가 이동하고 공격하면 주변에 있는 수십명의 유저들이 다 볼수 있잖아요?

 

그럼 플레이어 a가 서버에 이동 요청패킷을 보내면, 서버에서 플레이어 a 이동, 서버가 a에게 이동 허락패킷을 보내주고, a는 화면상에서 이동하고 

그후 서버가 a주변에 있는 다른 모든플레이어에게 상태 업데이트 패킷을 보내면, 다른 플레이어들은 패킷을 받아서 보여지는 화면을 업데이트 한다(플레이어 a의 이동을 화면에 반영)

 

이게 맞나요? 패킷받는 부분은 마땅히 자료가 없어서 깃허브 뒤지면서 공부중인데 제가 개념파악을 제대로 한게 맞나 싶어 질문드립니다.

만담에 대한 답글을 하려면 로그인 또는 가입해야합니다.

2 answers

+1 vote
넵 맞는것 같습니다.

mmorpg를 예로 들으셔서 드리는 말씀인데 조금 더 간단한 형태로는 체팅 프로그램이 있을수 있겠네요.

먼저 여러명이 동시에 대화를 나누는 체팅을 한번 만들어보시면 더욱 접근이 쉬우실것 같습니다.

1. 기본적으로 클라이언트들이 한 곳에 접속하여 체팅하는 프로그램

2. 1번에 이어 체팅방을 생성하고, 그 방 유저들에게만 체팅이 브로드케스트 되는 프로그램

3. 2번에 이어 방에 속하지 않은 유저에게 귓속말을 보내는 기능 추가

이렇게만 실습해보시면 대부분의 경우에 대응하실 수 있으실것 같습니다.

추가로 서버프로그래머를 지망한다면 체팅방의 동접이 10만명일때 어떻게 처리해야 할것같은지도 생각해보시면 좋을것같아요 ㅎ
답글 (8kp)
사실 이렇게 체팅프로그램 만들고 나면 '서버 다배웠다'고 해도 과언이 아닐정도죠 ㅎ_ㅎ
물론 '잘 만든 서버'라고는 안했습니다 ㅋ
와 정말 감사합니다! 혹시 10만명일때는 고급 처리기법 같은게 있나요? 단순한 처리론 문제가 생기나여?
뭐 서버가 못버티죠.. 랙이 심해진다거나... 서버를 잘못 구현하셨으면 패킷이 누락된다거나 하는 고통을 겪게 됩니다. ㅇ<-< ㅎ
new에서 exception이 난다던가 하는 문제도 생길수 있겠네요.
+1 vote
인프런에 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]  라고 있습니다. 해당 강의 타겟이 입문자 여서 전반적인 개념을 굉장히 쉽게 풀어서 해주는 모습이 보여서 개인적으로 만족하며 보고 있습니다. 참고로 저는 4, 5, 7, 8, 9 강의만 사서 보고 있습니다.
답글 (1.9kp)
아~ 인프런 아시는구나! 저도 보고있습니다 ㅎ
인프헌 국내에 유데미죠 완전 초창기 때부터 이용했는데 게임 개발 시리즈로는 위에 말씀하신 시리즈가 최고죠

게임 프로그래머의 만담 커뮤니티, 게임코디 입니다

온종일 코드와 씨름하는 우리들의 외로움을 삭이고자 합니다