BEST
게임 개발

/

게임 프로그래밍

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

또 하나의 언리얼 엔진이라고도 불리는 네트웍 멀티플레이어 프레임웍을 학습합니다. 네트웍 멀티플레이어 게임을 제작할 때 반드시 알아야 하는 주요 개념, 내부 동작 원리, 최적화 기법을 학습한 후 핵&슬래시 유형의 PvP 대전 게임을 제작합니다.

(5.0) 수강평 221개

수강생 921명

Thumbnail

중급자를 위해 준비한
[게임 프로그래밍] 강의입니다.

이런 걸
배워요!

  • 언리얼 엔진의 네트웍 시스템 구성

  • 네트웍 멀티플레이어 게임 제작 기법


언리얼 C++

완벽히 이해하고 게임 개발까지 🎮

혹시 이런 고민 있으신가요?

'언리얼 C++을 제대로 이해하지 못한 상태라 게임 개발에 어려움을 겪고 있어요.'
'실무에서 반드시 알아야 하는 약참조, 소프트레퍼런싱과 같은 필수 개념을 배우고 싶어요.'

언리얼 C++ 은 새로운 분야를 학습하는 마음가짐으로 새롭게 접근해야 합니다.

언리얼 C++ 프로그래밍은 대규모 게임을 개발하기 위해 표준 C++에 독특한 규칙을 부여하고, 자체적으로 제작한 자료구조와 다양한 확장 기능을 추가했어요. 이를 모두 이해해야 언리얼 프로그래밍을 효과적으로 다룰 수 있답니다!

핵심 구조와 원리를 이해해, 전문 언리얼 엔진 프로그래머로 성장하도록 도와드려요! 전문적인 게임 개발을 위해 필수적으로 알아야 하는 기반 지식을 정리했으니 탄탄하게 기초를 쌓을 수 있어요. 새롭게 달라진 언리얼 5 규격으로 진행되는 최신 프로그래밍 강의랍니다!

강의를 들은 후 변화될 여러분의 모습!

언리얼 엔진을 완벽하게 활용하면서
엔진에 대한 기술 시야를 넓히고
자신감을 가질 수 있습니다.

대규모 네트웍 멀티플레이를 제작하기 위해
필수적인 개념과 게임 제작 방법과
최적화 방안에 대해 알 수 있습니다.

네트웍 멀티플레이 개발을 배워
게임 제작에 대한 시야와 결과물을
한 층 더 높여줍니다.

언리얼 엔진 최신 기능과 전문 분석 도구
활용해 자신만의 멋진 네트웍 멀티플레이 게임
포트폴리오를 준비할 수 있습니다.

PvP 대전 게임을 만들어요! 🎮

게임 제작을 본격적으로 진행하기 전에 네트웍 멀티플레이의 기초 개념과 실습에 필요한 개발 및 테스트 환경을 배웁니다. 네트웍 멀티플레이어 게임을 제작할 때 반드시 알아야 하는 주요 개념, 내부 동작 원리, 최적화 기법을 학습한 후 핵&슬래시 유형의 PvP 대전 게임을 제작합니다.


4개의 섹션으로 배워보는
언리얼 네트웍 멀티플레이어 프레임웍 🕹️

섹션 1
액터 리플리케이션

네트웍 멀티플레이에서 사용하는 연관성에 대해 설명합니다.

섹션 2
RPC의 이해와 활용

액터 리플리케이션의 로우레벨 플로우에 대해 학습합니다.

섹션 3
움직임 리플리케이션

캐릭터 무브먼트 컴포넌트의 움직임 리플리케이션 플로우에 대해서 알아봅니다.

섹션 4
PvP 게임 제작

핵심 개념의 학습을 바탕으로 핵 & 슬래시 PvP 대전 게임을 제작하는 것으로 마무리하며 실력을 완성합니다.

💡 이 강의만의 특징을 소개해요!

  • 언리얼 엔진에서 네트웍 멀티플레이 구현을 제대로 구현하기 위해서는 다음과 같은 세 가지 개념을 모두 올바로 이해해야 합니다. 
    • 클라이언트-서버 모델에서의 통신 플로우와 관련 이벤트 함수 
    • 액터의 중요도에 따른 네트웍 데이터 전송 빈도의 조절 방법
    • 네트웍으로 전송되는 데이터 크기를 줄이기 위한 최적화 방법
  • 이를 위해서는 언리얼 C++ 프로그래밍이 필수적으로 사용되어야 합니다. 그리고 스탠드얼론 게임 제작에서 다루지 않는 다양한 핵심 개념을 추가로 학습해야 합니다.
  • 본 강의는 많은 핵심 개념을 효과적으로 학습할 수 있도록 난이도에 따라 단계적으로 정리해 제공하는 것이 특징입니다. 특히 방대한 언리얼 엔진 소스 코드에서 확실히 알아두어야 할 체크포인트를 효과적으로 전달하도록 시퀀스 다이어그램 및 다양한 시각적인 도표를 제공하고 있습니다.
  • 또한 의도적인 패킷 랙 시뮬레이션을 발동시켜 구현 과정에서 입문자들이 주로 간과하는 문제점을 확인시켜줍니다. 이를 개선하는 방법과 언리얼 엔진에 맞는 구현 방법을 알려주어 스스로 문제를 해결할 수 있도록 도와주는데 초점을 맞췄습니다. 

예상 질문 Q&A 💬

Q. 언리얼 엔진 웹사이트에 네트웍 멀티플레이에 대한 공식 문서가 있음에도 해당 기능을 이해하기가 어렵습니다. 이 강의가 도움이 될까요?

언리얼 엔진의 공식 문서는 네트웍 멀티플레이에 입문하는 분들이 알아야 하는 핵심적인 용어와 설정을 잘 정리해두었습니다. 하지만 이러한 용어와 설정을 변경했을 때 실제로 어떻게 동작하는지 체계적으로 설명하는 부분이 없어 개인적으로 아쉬웠었습니다.

또한 몇몇 상세한 문서는 고급적인 내용이 정리했으나 소스 코드의 흐름을 단순 기술함으로서 문서만 읽고 이해하기 힘든 부분이 있습니다. 이러한 문제를 개선하기 위해서 본 강좌는 핵심 용어와 개념을 직접 확인할 수 있도록 실습 예제를 준비했고, 소스 코드를 함께 살펴보면서 확인해야 할 주요한 부분을 짚어주는 한편, 이를 시각적인 도표로 정리해 알려주는데 주력했습니다. 많은 도움이 될 것으로 확신합니다.

Q. 이 강의로 대규모 멀티플레이어 게임을 만들 수 있게 되나요?

언리얼 엔진은 다른 엔진과 다르게, 본격적으로 게임을 만들기전에 엔진이 제공하는 핵심 프레임웍을 명확하게 이해하는 것이 중요합니다.  엔진이 제공하는 프레임웍을 잘 활용하면 높은 생산성을 내지만 잘 모르는 상태에서 개발을 진행하면, 엔진이 제공하는 기능과 직접 구현한 기능이 서로 얽혀서 개발이 어려워집니다.

본 강의는 본격적인 게임 제작 전에 확실히 알아야 하는 엔진의 네트웍 프레임웍을 집중적으로 다룹니다. 네트웍에 관련된 기본 개념을 확실히 이해한 후에 대규모 멀티플레이어 게임 제작을 위해 고려해야 할 최적화 기법을 설명하고, 언리얼 엔진이 제공하는 전문 분석툴을 사용해 개선 전과 후의 변화를 관찰하도록 구성했습니다.

Q. 클라이언트 제작만 다루었고 네트웍 멀티플레이 게임은 경험이 없습니다. 강의에서는 TCP, UDP나 소켓 통신과 같은 기초 지식을 다루나요?

본 강의는 소켓 통신과 TCP/IP와 같은 원론적인 내용을 다루지 않습니다. 대신 언리얼 엔진이 제공하는 네트웍 드라이버, 채널, 커넥션과 같은 상위 개념에서 효과적으로 네트웍 플레이를 설계하는 방법을 학습합니다.

처음 강의를 기획할 때 게임 산업에서 이미 고도화된 네트웍 멀티플레이 제작을 이해하는데 있어, 원론적인 내용부터 시작한다면 학습에 흥미를 잃기 쉽고 강의가 지루하게 늘어질 수 있다는 생각에 이러한 내용은 배제했습니다.

하지만 다른 파트 강의에 비해 엔진 소스 코드를 분석하는 분량을 대폭 늘렸습니다.  본 강의를 통해 스스로 소스 코드를 분석하는 능력을 갖추게 된다면 원하는 내용을 충분히 얻어갈 것으로 생각됩니다.

Q.이 강의는 최신 언리얼 버젼으로 진행되나요?

본 강의가 개설되는 시점에 언리얼 엔진 5.3이 공개되었습니다. 하지만 기존에 연재한 Part1, Part2 강의에 맞춰 본 강의도 언리얼 엔진 5.1로 진행합니다. 본 강의는 언리얼 엔진 5라는 틀에서 제공되는 핵심적인 기능을 다루기 때문에 이후 버전에서도 잘 동작할 것으로 예상합니다.

Q. 이 강의를 듣기 위해서는 Part1, Part2 강좌를 꼭 수강해야 하나요?

본 강의는 Part 1, Part 2 강좌와 연계해 최고의 학습 효과를 낼 수 있도록 시리즈로 기획되었습니다. 다만 언리얼 엔진 개발에 충분한 경험을 가지고 있다면 Part 3만 들어도 큰 무리가 없을 것으로 생각합니다.

🕹️ 강의 수강 전 참고사항

  • 실습 환경
  • 학습 자료
    • 깃허브를 통해 예제 프로그램을 제공합니다.
    • 강의는 PPT를 사용해 기초 이론을 설명하고 실습 예제를 함께 따라하는 형태로 진행되며 한 강의당 25분~50분 분량의 영상으로 구성되어 있습니다.
  • 선수 지식 및 유의사항
    • 본 과정은 초급 개발자를 점프업시키기 위한 중급 강좌입니다.
    • C++, C#, Java와 같은 객체 지향 언어에 대한 기본적인 이해가 필요합니다.
    • 강의 내용을 그대로 옮겨 외부 블로그에 공개하는 것을 금합니다.
  • 학습 전용 커뮤니티
    • 궁금한 점에 대한 질답을 나눌 수 있는 디스코드 서버를 운영하고 있습니다.
    • 디스코드 서버 초대 주소 : https://discord.gg/G45cCJ4AKs
  • 우수 강의 노트 예시
  • 그 외 수강 전 참고사항
    • 이 강의는 네트웍 멀티플레이어 시스템을 구성하는 핵심 개념에 대해 단순히 문서로 알려주는 것이 아닌, 각 개념에 대응되는 다양한 실습 예제를 제공합니다. 또한 소스 코드를 직접 분석하면서 언리얼 엔진이 이를 어떻게 구현했는지 체험할 수 있도록 구성했습니다.
    • 핵&슬래시 게임의 기초를 모작한 Part2 강좌의 결과물을 활용해 PvP 네트웍 멀티플레이어 게임을 구현하도록 설계했습니다.
    • 스스로 언리얼 엔진 프로그래밍의 기초가 부족하다고 생각하시면 Part1, Part2 강좌를 먼저 수강해 언리얼 엔진의 기반을 다지신 후 Part3 강좌를 통해 역량을 넓히시는 것을 추천합니다.
    • 만일 언리얼 엔진을 충분히 다루어서 Part1, Part2 강의에서 다루는 내용을 이해하고 있는 분들은 처음부터 본 강좌를 들어도 무방합니다.
    • 본 강좌는 언리얼 C++로 진행되며 단순 기능의 구현이나 기능 비교를 위해 종종 블루프린트를 활용합니다.

지식공유자 소개 ✒️

  • 에픽게임즈 본사 주최, 언리얼 우수 개발자 선정 (데브그랜트 2017) 
  • "이득우의 언리얼 C++ 게임 개발의 정석" 집필 (에이콘 출판사 2017)
  • 에픽 게임즈 언리얼 엔진 공인 강사 (2022)
  • 에픽게임즈코리아 교육 프로그램 진행 (시작해요 언리얼 2017, 2018, 2019, 2022)
  • "이득우의 게임수학" 집필 (책만 2022)
  • 스마일게이트 전문 언리얼 프로그래머 양성 프로그램 언씬(UNSEEN) 교육 담당 (2022)

 

안녕하세요, 청강문화산업대학교 이득우입니다.

언리얼엔진 4가 출시된 2013년도부터 10년 동안 언리얼을 꾸준히 공부하고 교육해왔습니다.

학생들을 가르치면서 기업 의뢰도 함께 받아 NCSOFT, 넥슨 코리아 등 유수의 게임 기업에서 언리얼 엔진 및 프로그래밍 교육을 진행해왔습니다. 올해는 스마일게이트와 함께 본격적인 언리얼 프로그래머 전문 양성 과정인 언씬(UNSEEN) 교육을 함께 진행하고 있습니다.

2017년도에 집필한 "이득우의 언리얼 C++ 게임 개발의 정석"이 벌써 6년이 되었습니다. 한정된 분량으로 정리하다보니 언리얼 C++ 기본에 대한 설명이 부족해 아쉬웠는데, 이후 달라진 점을 보완하고 새롭게 출시된 언리얼엔진 5에 맞춘 본격적인 언리얼 강의를 열게 되었습니다. 

특히 이번 언리얼 엔진 Part3 강의는 언리얼 엔진의 숙련도를 한층 높일 수 있는 중요한 내용을 담고 있습니다. 본 강의가 여러분들의 가치를 높이는데 일조하기를 기대합니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 언리얼 엔진 구조의 심층적인 이해

  • 네트웍 멀티플레이어 게임 제작 입문

  • 게임 개발 실무 능력 향상

선수 지식,
필요할까요?

  • 이득우의 언리얼 Part1 , Part2 강좌

  • C++ 언어

청강문화산업대학교에서 언리얼 엔진, 게임 수학, UEFN 게임제작을 가르치고 있습니다.
- 이득우의 언리얼 C++ 프로그래밍, 넥슨 코리아 공식 교육 교재 선정 2023
- 스마일게이트 언리얼 프로그래머 양성 프로그램 언신(Unseen) 교육 총괄 2023
- 에픽게임즈 언리얼 공인 강사 (Authorized Instructor) 2022
- 에픽게임즈 개발자 지원 언리얼 데브그랜트 수상 2017
- 언리얼 서밋 2017, 2018, 2019 발표
- 시작해요 언리얼, UEFN 2022, 2023 웨비나 진행
- 대한민국 게임백서 2022 기술부문 편찬위원
- 부산인디커넥트페스티벌(BIC) 2022, 2023 심사위원장   

커리큘럼

전체

15개 ∙ (11시간 19분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!