inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

팀 프로젝트 시 클라이언트 파트와의 협업 방법

해결된 질문

158

king

작성한 질문수 10

0

안녕하세요 교수님.

 

친구들과 현재 언리얼로 1대1 멀티플레이 게임을 제작하려고 있습니다. 저는 서버 쪽을 맡아 지금부터 공부해나가는 상황입니다. 하지만 아직 2강까지 밖에 안들은 시점이어서 그런지, 저희가 프로젝트를 진행할 때 어떤 식으로 협업을 하면 될지 머리에 그려지지 않습니다. 저희같은 소규모 팀에서는 클라이언트 / 서버 개발을 어떻게 나누어 진행하면 좋을지 조언 주실 수 있으실까요?

 

좋은 강의 제공해주심에 항상 감사합니다.

unreal-engine 네트워크 언리얼-c++

답변 2

0

이득우

안녕하세요. 답신이 늦었습니다. 새해 복 많이 받으세요.
음 상담을 하면 좀 더 자세히 도움드릴 수 있는데, 우선 원론적인 부분만 이야기해보겠습니다.
전통적인 서버/클라이언트 모델로 진행한다면, 판정을 포함한 전체 게임 로직, 서버 및 네트웍 설정에 대한 부분을 서버를 담당하실 분이 가져가고, 캐릭터 설계, 물리, 애니메이션, 이펙트, 머티리얼, 레벨 디자인, UI와 같은 시각적인 부분을 클라이언트를 담당하실 분이 가져가는 형태로 업무 분장하면 좋을 것 같습니다.

1

king

답변 감사합니다!! 교수님께서도 새해복 많이 받으시길 바랍니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 28님.

언리얼 엔진을 활용한 멀티플레이어 게임 프로젝트를 진행하면서 클라이언트와 서버 파트를 어떻게 나누어 개발할지 고민이 많으시겠어요. 소규모 팀에서 협업하는 방법에 대한 몇 가지 권장 사항을 드리겠습니다.

  1. 역할 분담: 클라이언트와 서버 개발을 팀원들의 전문성과 관심에 맞춰 할당하세요. 초기 단계에서 모든 팀원이 기본적인 언리얼 엔진 사용법과 네트워크 개념을 이해하도록 하는 것이 중요합니다.

  2. 공통 인터페이스 정의: 클라이언트와 서버 간에 주고받을 데이터의 형식을 명확히 정의하세요. 예를 들어, 어떤 메시지는 주고받아야 하는지, 래티시 체크 같은 게임의 주요 요소를 결정하고 문서화하면 커뮤니케이션이 훨씬 수월해질 것입니다.

  3. 버전 관리와 지속적 통합 시스템 활용: Git이나 다른 버전 관리 시스템을 활용하여 코드 베이스를 관리하고, 지속적 통합(CI) 시스템을 구축하여 각자 작성한 코드가 팀의 전체 코드에 영향을 미치지 않도록 하세요.

  4. 주기적인 회의와 코드 리뷰: 정기적인 팀 회의를 통해 개발 진행 상황을 공유하고, 커뮤니케이션의 오해를 줄입니다. 코드 리뷰를 통해 한 팀원이 작성한 코드를 다른 팀원들이 검토하여 코드 품질을 높이고, 버그를 조기에 발견할 수 있습니다.

  5. 테스트 시나리오와 QA: 클라이언트와 서버 통합 테스트를 정기적으로 수행하고, 테스트 시나리오를 문서화하여 새로운 기능이 어떻게 상호작용할지를 미리 예측합니다.

기존에 유사한 질문과 답변도 있으니, 다음 링크를 참고하시면 좋겠습니다:

이 두 질문에서는 특히 언리얼 엔진의 서버와 클라이언트 구조에 대한 자세한 논의가 이루어지고, 실용적인 조언도 제공됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

5.6버전 Networking Insights 실행안됨 문제에 관하여

0

29

1

8강 중간, 분수대의 SetOwner 에 대해 궁금합니다.

0

77

2

플레이어(Actor) 로 (리슨)서버에서 생성 되나요?

0

99

2

2강) HandleBeginPlay 의 역활이 궁금합니다.

-1

72

2

3강 중간, 모드 로그로 찍을 시 스탠드얼론이 안찍힙니다.

1

76

2

CompressedFlag 질문

0

58

2

10강까지 머리 위 체력바가 표시가 안됩니다.

0

109

3

10강까지 머리 위 체력바가 표시가 안됩니다.

0

95

2

16:44 부분에서 질문이 있습니다.

0

104

2

12:50 NetMulticast RPC 커넥션 관려하여 질문이 있습니다.

0

121

2

github 3-5 파트 프로젝트에서 컴파일 에러가 발생합니다.

0

116

3

언리얼 인사이트 5.6버전 networking insights 가 뜨지 않습니다.

0

164

3

Insight 사용이 안되어서 문의 드립니다!

0

131

2

하위 레벨...?? High Level 말씀하신거죠..??

0

147

1

CompressedFlags를 이용한 InputThrottle, InputSteering 전달 방법 질문

0

191

1

조건식 프로퍼티 리플리케이션 질문

0

144

2

ArenaBattle에 Log추가하는 곳에 에러가 나타나 질문 드립니다.

0

160

2

7강에서 DORM_Initial 안됨

0

128

3

안녕하세요 강의 내용 정리에 관련해서 질문있어요

0

131

2

캐릭터 클래스의 mesh 관련

0

133

2

3파트 6강 분수대 로테이트에 문제가 생겼습니다.

0

131

3

클라이언트의 오너십 설정에 대해서 궁금합니다.

0

201

3

프로퍼티 리플리케이트 동기화 보장 개념.

0

225

2

결국엔 액터 기본함수들은 어디든 똑같이 일단 실행되는건가요?

0

93

2