inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

10강 : 캐릭터의 광역 스킬 구현

멀티플레이 게임 구현시 어떤 부분을 고려해야 할까요?

186

lionhas99

작성한 질문수 3

0

어빌리티 시스템은 이제 어느 정도 사용가능한데
멀티플레이 게임 구현시 OSS이용 Steam 타겟입니다.
따로 고려해야 되는 부분이나 팁이 있을까요?

unreal-engine ue-blueprint unreal-engine5 언리얼-c++ gas

답변 2

0

이득우

강의는 게임의 멀티플레이를 다루고 있지만, 사전에 플랫폼 인프라와 연동하는 방법을 구현해야 할 것 같습니다. 언리얼 엔진은 Online Subsystem으로 이를 지원하고 있는데 스팀에 관련된 해당 문서는 다음과 같습니다.
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/online-subsystem-steam-interface-in-unreal-engine

실제 서비스까지 생각하는 분들에게 이 부분도 꽤나 중요한데, 제가 시간이 없어서 못 다루고 있네요.
그래도 관련 키워드로 검색하시면 많은 정보를 찾으실 수 있을테니 한번 시도해보시기 바랍니다.

0

인프런 AI 인턴

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

멀티플레이어 게임을 Steam과 같은 플랫폼 대상으로 구현할 때 여러 고려사항이 있습니다. 특히 OSS(Online Subsystem)를 사용할 경우에는 다음과 같은 몇 가지 주요 점을 염두에 두시면 도움이 됩니다:

  1. 네트워크 설정: 네트워크가 안정적으로 작동하도록 설정하는 것이 중요합니다. 특히 Steam을 목표로 할 때, Steam SDK에 관한 이해가 필요하며, 스팀 네트워크를 통해 플레이어를 매치메이킹하고 세션을 생성하는 기능을 충분히 테스트해야 합니다.

  2. 플랫폼 특화 기능: Steam의 성취 시스템, 친구 시스템, 멀티플레이어 매치메이킹 같은 특화된 기능들을 활용하여 게임의 사회적 요소를 강화할 수 있습니다. 이를 사용하기 위해서는 Steamworks API에 대한 충분한 이해가 필요합니다.

  3. 보안과 인증: 스팀은 자체적인 인증 메커니즘을 제공하므로 이를 활용하여 게임의 보안을 강화할 수 있습니다. 플레이어 인증과 데이터 전송의 안전성을 신경 쓰셔야 합니다.

  4. 복제와 대기 시간: 멀티플레이에서는 클라이언트와 서버 간의 복제(replicate)와 대기 시간을 어떻게 관리할 것인가가 중요합니다. 게임 세계의 상태를 클라이언트에게 어떻게 부드럽게 전송할지, 사용자 입력을 어떻게 처리할지도 고려해야 합니다.

  5. 성능 최적화: 많은 수의 동시 접속 플레이어를 지원하기 위해 성능 최적화를 고려해야 합니다. 네트워크 트래픽을 최소화하고, 서버 부하를 적절히 분산시키는 방법들을 연구하세요.

기존에 유사한 질문과 답변이 있으니, 관련 게시물을 참고하시면 더욱 도움이 될 것입니다:

  1. 언리얼 데디케이트 서버와 리슨서버 호환성에 대한 질문

    • 이 질문에서는 언리얼 엔진의 서버 구조에 대한 논의가 이루어지고 있습니다.
  2. 멀티플레이어 프레임워크가 서버프로그래밍의 상위호환인가요?

    • 멀티플레이어 프레임워크와 서버 프로그래밍의 관계에 대한 자세한 설명과 실용적인 조언이 제공됩니다.

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

OnInterruptedCallback()으로 몽타주가 중간에 취소될 경우 CancelAbility를 호출하는게 맞을까요 ?

0

38

1

HasMatchingGameplayTag 역활이 조금 이해가 안갑니다.

0

45

1

캐릭터 스탯 초기 설정 방법 질문

0

86

2

언라얼 공식 홈페이지 튜토리얼 강의에 질문 있습니다

0

84

2

StartAbility, StartInputAbility 둘 다 GiveAbility를 호출해야하나요?

0

75

2

AnimNotify 구현 질문

0

102

2

[6강] ShowDebug에서 Attributes for avater가 변하지 않아요..

0

78

2

4강에서 콤보 공격시 다음 공격을 할 경우 ActivateAbility가 자동으로 발동되는 이유

0

112

2

9강 44:59 부분에서 질문이 있습니다.

0

78

2

8강 24:22 CurrentAttributeSet 질문입니다.

0

65

2

ASC 에서 AttributeSet 함수에 대한 mutable 반환 함수가 없는 이유

0

85

2

SetupGASInputComponent 함수 호출위치가 이해가안갑니다.

0

144

3

[GAS] Player State에 대해 궁금한 점이 있습니다.

0

134

2

AnimNotify를 GA에서 받는방법이 있을까요?

0

84

2

ABP의 skeleton 오류

0

115

1

장판스킬을 만들때 콜리전설정

0

174

2

어빌리티의 쿨다운 GameEffect에 대하여

0

261

2

GAS 구조로 멀티 플레이 게임을 제작할려고 하는데요

0

227

2

5.4버전 기준으로 Remove Gameplay Effect With Tags가 안 보입니다.

0

282

3

8강의 수업 내용들 중 이해가 잘 안가는 부분들이 있습니다.

0

208

2

7강 GE로 NonPlayer의 어트리뷰트셋 값을 초기화시키는 것에 질문이 있습니다.

0

110

2

7강 정리했는데 검토부탁드려요

0

125

1

5강 정리해봤는데 검토부탁드립니다.

0

134

2

4강의 CreateTask 함수 질문입니다,

0

157

2