인프런 커뮤니티 질문&답변

y_y님의 프로필 이미지
y_y

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

소켓 프로그래밍 입문 #1

게임 프로그램에서 궁금한 점을 여쭤보고 싶어요!

작성

·

310

0

게임을 이용하는 유저는 보통 자신의 화면에 뿌려진 화면을 보고 자신이 어떤 행동을 할지 판단할텐데요.

(예를들어 몬스터를 공격한다던지...)

여기서 화면에 뿌려지는 부분이 클라이언트 프로그램 부분이고 실제로 케릭터를 이동하고 몬스터를 공격하고 하는 등의 이벤트들은 서버단의 로직으로 처리가 되는 것으로 이해를 하고 있습니다.

여기서 궁금한 점은 클라이언트 프로그램을 개발하시는 분들은 웹 서버로 치자면 프론트 엔드단을 개발한다고 생각하는 게 맞는 것인지요 ? (물론 케릭터 디자인, 사운드등 다양한 파트로 나뉘어져 있겠지만요)

즉 케릭터가 이동을하게 되면 서버 로직에서 케릭터의 위치를 변경시킬테고 클라이언트 프로그램은 서버에서 변경된 위치를 가져다가 UI적 요소를 움직여 주는 것 정도로 볼 수 있을까요 ?

그리고 케릭터가 화살을 쏠 때 날라가는 화살을 UI에 반영해주는 부분은 서버단에서 제공해주는 로직하고 상관이 없다고 보는게 맞을까요 ?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

즉 케릭터가 이동을하게 되면 서버 로직에서 케릭터의 위치를 변경시킬테고 클라이언트 프로그램은 서버에서 변경된 위치를 가져다가 UI적 요소를 움직여 주는 것 정도로 볼 수 있을까요 ?

네 그렇습니다. 다만 웹만큼 '수동적'이진 않고
간혹 클라에서 독단적으로 뭔가를 하는 경우도 있습니다.
가령 모바일 MMO 게임에서 자동 사냥 같은 컨텐츠는
대부분 클라에서 자기 캐릭터가 할 다음 행동을 판단해서 움직이게끔 구현됩니다.

그리고 케릭터가 화살을 쏠 때 날라가는 화살을 UI에 반영해주는 부분은 서버단에서 제공해주는 로직하고 상관이 없다고 보는게 맞을까요 ?


네 대부분 그렇습니다. 화살을 쏜다는 사실만 서버에서 알려주고,
그 다음 이동하는 부분은 알아서 클라에서 렌더링 하겠죠.

y_y님의 프로필 이미지
y_y

작성한 질문수

질문하기