[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
네트워크/멀티쓰레드/운영체제 등 핵심 전공 지식을 공부하고 게임 서버를 바닥부터 만들어보면서 MMORPG 기술을 학습하는 강의입니다. 신입 서버 프로그래머가 알아야 전반적인 지식을 모두 훑어보기에 어느 프로젝트에 합류하더라도 당황하지 않고 적응할 수 있는 기본기를 쌓게 됩니다.
![Thumbnail](https://cdn.inflearn.com/public/courses/326922/cover/ee9166f8-68cb-474f-8502-480b33a019da/326922-eng.png?w=736)
중급자를 위해 준비한
[게임 프로그래밍, 백엔드] 강의입니다.
이런 걸
배워요!
온라인 게임 제작
C++ Windows IOCP 서버
MMORPG 개발에 필요한 모든 기술,
C++ & Unreal로 Step By Step! 🕹️
기초부터 끝판왕까지, MMORPG 개발하기 🎮
포트폴리오 완성을 목표로 하는 게임 프로그래머 취업 준비생, C++과 언리얼 엔진을 활용한 게임 개발에 도전하고 싶으신 분들을 위한 게임 개발 강의입니다. 수준 높은 3D MMORPG 게임 개발을 목표로, 게임 회사 신입으로 입사할 수준의 충분한 지식을 갖추는 것을 목표로 합니다.
이번 시리즈에서는 C++과 언리얼(Unreal)을 이용하여, 언리얼에서 제공하는 무료 에셋을 토대로 3D MMORPG 게임을 만들어 볼 수 있도록 단계별로 필요한 기술을 학습합니다. 함께 도전해볼까요?
이런 걸 만들 수 있어요 ✨
간단한 3D MMORPG 게임까지 구현하는 능력을 갖추게 됩니다. (샘플 포트폴리오 클립)
학습 내용 📚
- Part1 : C++ 프로그래밍 입문
- Part2 : 게임 수학과 DirectX12
- Part3 : 자료구조와 알고리즘
- Part4 : 게임 서버 (Windows IOCP Server) 현재 강의
- Part5 : 언리얼 엔진 출시 예정
- Part6 : MMORPG 컨텐츠 구현 (Unreal & C++ 서버 연동) 출시 예정
게임 서버?
온라인 상에서 여러 플레이어가 같이 게임을 할 수 있게 중개해주는 프로그램입니다.
전투, 아이템, 퀘스트, 업적, 인공지능 등 MMORPG 세상을 운영하고
여러 플레이어한테 게임 세상의 정보를 통지하는 관제사의 역할을 담당합니다.
![326922-1.png](https://cdn.inflearn.com/public/files/courses/326922/c6024778-8da4-4200-bce7-c27aab056572/326922-1.png)
![326922-2.png](https://cdn.inflearn.com/public/files/courses/326922/603e2c25-8b0f-4227-b59a-46e1bca927a8/326922-2.png)
![326922-0.gif](https://cdn.inflearn.com/public/files/courses/326922/7cdb3916-7003-40ff-90ed-a9f14246ca03/326922-0.gif)
![326922-3.png](https://cdn.inflearn.com/public/files/courses/326922/3ab91b99-09a3-45de-8d92-7e9f67d330d6/326922-3.png)
천기누설!
누구나 궁금해 하지만, 아무도 알려주지 않는.
베일에 싸인 서버 지식을 공개합니다.
Part4는 MMORPG의 꽃인 게임 서버를 설계하고 구현하는 강의입니다. 언리얼 엔진과 유니티 엔진이 게임 클라이언트 시장을 양분하고 있지만, 유독 게임 서버는 절대적인 엔진이 존재하지 않고, 대부분의 회사들이 자체 제작 네트워크 라이브러리를 활용합니다. 게임의 기획과 장르에 따라 요구사항이 너무나도 다르기도 하고, 서버에 대한 기본기 없이는 외부 엔진을 효율적으로 활용할 수 없는 문제도 공존합니다.
서버 프로그래머는 게임 회사에서도 최고의 대우를 받고 있으며, 게임 세상을 관제하는 매력적인 프로그램을 개발하는 직군입니다. 이에 많은 취업 준비생들이 서버 파트를 지망하기도 합니다.
그러나 비교적 흔하게 찾을 수 있는 클라 지식과는 다르게, 게임 서버는 전문적인 서적이나 강의를 찾아보기 힘듭니다. 왜 그럴까요? 게임 서버를 제작하고 응용하기 위해서는 C++, 멀티쓰레드, 운영체제, 네트워크, 데이터베이스 등 다양한 방면의 지식이 필요한데, 이를 처음부터 끝까지 체계적으로 정리해서 설명하기가 매우 힘들고, 또 그런 지식을 갖춘 사람들이 상대적으로 드물기 때문입니다.
이번 강의에서는 많은 사람들이 궁금해 하던 게임 서버를 기초부터 쌓아올리는 식으로 단계별로 학습하게 됩니다. 강의에서 다루는 모든 내용을 이해한다면, 신입 서버 프로그래머로 어느 프로젝트에 입사하더라도 무리없이 적응할 수 있는 탄탄한 기본기를 쌓을 수 있게 됩니다.
![326418-3.png](https://cdn.inflearn.com/public/files/courses/326418/74d2cf17-bdfa-4503-9484-b3686bb970ae/326418-3.png)
게임 서버 기본기
All-in-One!
멀티쓰레드, 네트워크,
운영체제, Job 관리,
DB 연동까지
![326418-4.png](https://cdn.inflearn.com/public/files/courses/326418/6376c65a-921f-44dd-9371-8e0ca2a054f3/326418-4.png)
게임 개발의
숲을 보는 안목
온라인 게임을
바라보는
시야 확장
![326418-2.png](https://cdn.inflearn.com/public/files/courses/326418/24866cc1-6fe1-4d63-a7a5-dfbe2bb69af3/326418-2.png)
실무 활용에 맞춘
게임 개발 학습
실전 적응력을
기를 수 있는
실습 위주의 구성
![326418-1.png](https://cdn.inflearn.com/public/files/courses/326418/619df72c-490d-4b3f-ba14-fe6d58e273c8/326418-1.png)
취업 면접 대비
탄탄한 지식까지
게임 회사
취업 면접에서 묻는
기반 지식 습득
OT 👉 멀티쓰레드 프로그래밍 👉 메모리 관리 👉 네트워크 프로그래밍 👉 네트워크 라이브러리 제작 👉 패킷 직렬화 👉 JobQueue 👉 데이터베이스 연동
파트4, 이런 분들께 추천합니다!
![rookiss-pt1-3.png](https://cdn.inflearn.com/public/files/courses/325434/8c813088-1646-4de6-9461-3fd6a4379f83/rookiss-pt1-3.png)
게임 회사
취업 준비 중인
서버 프로그래머
취업 준비생
![rookiss-pt1-3.png](https://cdn.inflearn.com/public/files/courses/325434/d9f33e3e-8407-46d3-a375-0a69e124e2f6/rookiss-pt1-3.png)
MMORPG
게임 개발에
관심 많은 누구나
(C++ 사용자)
![rookiss-pt1-3.png](https://cdn.inflearn.com/public/files/courses/325434/d9f33e3e-8407-46d3-a375-0a69e124e2f6/rookiss-pt1-3.png)
클라이언트
개발 경험은 있지만,
서버 작동 원리까지
알고 싶으신 분
Q&A 🙋♀️
Q. 강의 환경이 무엇인가요?
모든 시리즈는 Windows 환경이라 가정하고 제작이 되었으며, macOS에 대한 부가적인 설명은 없습니다.
Q. 비전공자도 들을 수 있나요?
선수 지식이 아예 없다고 가정을 하고 진행하지만, C++과 서버 특성상 시리즈 전체 난이도가 꽤 높은 편입니다. 프로그래밍이 아예 처음이시라면, 전체적인 난이도가 더 낮은 [C#과 유니티로 만드는 게임 개발 시리즈]를 추천 드립니다.
Q. 이 강의를 시작하게 된 계기를 소개해주세요.
개인적으로 서버 공부를 시작하면서 참고할 자료가 없어서 어려웠던 기억이 있습니다.
취업 후 실제 돌아가는 라이브 MMORPG 코드를 비교하며 보면서, 헤딩을 통해 만든 제 코드의 잘못된 점을 많이 깨닫게 되었습니다. MMORPG 개발에 관한 전반적인 내용을 기초부터 끝까지 간략하게 다루는 수업이 있었으면 시간도 절약하고 덜 고생했을 것 같다는 생각을 했습니다.
이 수업이 여러분들에게 MMORPG 게임 입문의 길잡이 역할을 해줄 것으로 기대합니다.
Q. 하나의 Part를 구매하면 다른 Part는 무료인가요?
각 파트는 독립적으로 제작되어 별도로 판매됩니다.
Q. 이 시리즈를 다 공부하면 취업할 수 있나요?
사람마다 성장 속도가 다르고, 취업은 많은 변수가 작용하기 때문에 알 수 없습니다.
다만 온라인 3D 게임 포트폴리오와, 게임 개발 & 그래픽스 & 서버 & 알고리즘 지식을 갖춘다면 취업 확률도 비약적으로 높아질 수밖에 없습니다.
이런 분들께
추천드려요!
학습 대상은
누구일까요?
MMORPG 게임 개발에 관심이 많은 사람
서버 프로그래머 취업 준비생
서버 연동을 하고 싶은 클라이언트 프로그래머
선수 지식,
필요할까요?
기초적인 C++ 지식
안녕하세요
Rookiss입니다.
학력
- Condorcet Prépa MPSI 수료 (프랑스)
- 칭화대학교 소프트웨어공학 학사 (중국)
- 고려대학교 정보보호대학원 석사 (한국)
경력
- 前 크래프톤 (테라 서버팀)
- 前 엔씨소프트 (Blade&Soul2 컨텐츠 프로그래밍팀)
관심 분야
- 리버싱 및 취약점 분석
- MMORPG 게임 개발 (C++, C#)
- 외국어 (영어, 프랑스어, 중국어, 일본어)
소개
해킹 공부를 위해 순전히 호기심으로 시작한 게임 개발인데...
시간이 흘러 어느덧 8년차 게임 개발자가 되었습니다.
"이래서 언제 게임을 만들지~?"
한숨 나오는 기초 문법부터 시작해서,
차츰 만들어가는 나만의 게임 세상.
그리고 그 세상에 접속한 다수의 플레이어를 볼 때의 뿌듯함.
공부를 할 수록, MMORPG의 매력에는 헤어나올 수가 없습니다.
제가 느낀 감동을 여러분도 느낄 수 있으면 좋겠네요.
커리큘럼
전체
80개 ∙ 41시간 41분
수업 자료
가 제공되는 강의입니다.
멀티쓰레드 개론
13:32
쓰레드 생성
21:13
Atomic
17:53
Lock 기초
22:18
DeadLock
24:32
Lock 구현 이론
13:49
SpinLock
24:34
Sleep
17:35
Event
25:34
Condition Variable
18:45
Future
33:26
캐시
14:45
CPU 파이프라인
19:48
메모리 모델
44:50
Thread Local Storage
15:53
Lock-Free Stack #1
20:42
Lock-Free Stack #2
24:44
Lock-Free Stack #3
35:20
ThreadManager
22:37
Reader-Writer Lock
44:04
DeadLock 탐지
52:24
연습 문제
13:03
Reference Counting
43:17
스마트 포인터
31:16
Allocator
25:25
Stomp Allocator
41:57
STL Allocator
19:22
Memory Pool #1
37:11
Memory Pool #2
50:49
Memory Pool #3
14:38
Object Pool
25:23
TypeCast
01:00:42
마지막 업데이트일: 2021년 06월 11일