Thumbnail
BEST
게임 개발 게임 프로그래밍

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초) 대시보드

(5)
84개의 수강평 ∙  3,510명의 수강생
88,000원

월 17,600원

5개월 할부 시
지식공유자: Rookiss
총 42개 수업 (17시간 9분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유
Rookiss 프로필
신규 강의 업데이트 관련
Rookiss 2021.04.07

안녕하세요, Rookiss입니다.

금일 [Part2. 게임수학과 DirectX12] 강의가 업로드 되었습니다.
3D 게임 컨텐츠를 제작할 때 도움이 되는 게임 수학과
렌더링 파이프라인을 다루는 강의이며
Frank Luna의 [DirectX 12를 이용한 3D 게임 프로그래밍 입문] 서적을
참고서로 같이 읽어 보시길 추천 드립니다.
(책이 아주 좋거나 초심자 입장에서 친절하게 만들어진 것은 아니지만,
다른 선택지가 없으니 이거라도 읽어야 하는 쪽에 가깝습니다..)
이미 DirectX나 OpenGL 경험이 있으시다면 굳이 수강하실 필요는 없고,
이런 저런 사정으로 일반 게임 학원 1년 풀코스를 다니지
못하시는 분들에게 도움이 되길 바랍니다.

최초 C# 시리즈를 만들 때 [MMO를 만드는 전과정을 압축해서 보여주는] 용도로 제작하였으나
[C# 시리즈를 들으면 취업이 가능할지], [리니지2M과 같은 게임 제작 가능한지]등의 애매한 질문을 종종 받아서,
앞으로는 더 명확히 강의 의도에 선을 긋는 것이 좋을 것 같다는 생각이 듭니다.

따라서 요약하자면, 이번 강의의 목표는 다음과 같습니다.
- [3D 게임 원리와 렌더링 파이프라인을 이해한다]
- [Unity, UE 상용 엔진을 바라보는 시야를 넓힌다]
- [신입 클라이언트 개발자 면접 준비]

반면, 다음과 같은 것을 기대하면 안 됩니다.
- [매우 뛰어난 자체 제작 엔진을 만든다]
- [DirectX12로 포폴을 만든다]
- [최첨단 고급 그래픽스 지식을 배운다]

완성도 있는 무엇인가를 만드는 것이 아니라 
실습을 통해 전체 숲을 훑어 보는 강의, 정도로 요약할 수 있을 것 같네요.

보통 강의가 100% 완성되고 출시하지만,
이번에는 많은 분들이 사전 문의를 주셔서
예외적으로 조금 일찍 올라가고
4월 동안 메쉬, 애니메이션, 툴 등 일부 내용이 보충될 예정입니다.
최초 계획한 일정보다 진행이 계속 밀리는 감이 있는데
강의 내용이 어려워질 수록 일정 예측이 정확히 안 되는 것 같네요.
아울러 강의료 또한 높게 책정된 것도 인지하고 있으나,
C++ 시리즈 특성상 기존의 C# 강의에 비해
5배 정도 시간이 소요되는 점 양해를 바랍니다.

다음 강의는 순서상 [Part3. 자료구조와 알고리즘]이지만,
개인적으로 서버코어를 다시 처음부터 R&D 할 일이 생겨
잠시 Part3을 건너뛰고 이번 시리즈의 꽃인
[Part4. C++ IOCP 게임 서버]를 먼저 제작할 계획입니다.
개인적으로 5년 동안 연구한 고난이도의 내용들을 하나의 강의에
담을 수 있을지 벌써 골치가 아프지만.
그만큼 공개된 정보가 거의 없는 분야이다 보니,
MMO 기술에 관심이 있거나 서버 프로그래머를 희망하시는 분들에게
좋은 길잡이가 되리라 생각합니다.
대략적인 일정은 (1월~4월) 4달을 DX로, (5월~7월) 3달 정도를 서버로 잡고 있어
다음 강의는 7월 오픈을 목표로 하고 있습니다.

감사합니다!

Rookiss 프로필
신규 강의 업데이트 관련
Rookiss 2021.01.15

안녕하세요, Rookiss입니다.

이전 공지에서 예고드린 바와 같이 2021년에는
[C++과 UE로 만드는 MMORPG 게임 개발 시리즈] 연재를 시작하게 되었습니다!
이전 C# 시리즈와 유사하게, MMORPG를 만드는 것을 최종 목표로
모든 과정을 더 깊이 다루는 시리즈입니다.
순서는 변경의 여지가 있지만, 
기본적으로 내용은 다음과 같은 파트들로 구성될 예정입니다.

- C++ 프로그래밍 입문
- 게임 수학과 DirectX12
- 자료구조와 알고리즘
- 게임 서버 (Windows IOCP Server)
- 언리얼 엔진
- MMORPG 컨텐츠 구현 (UE & C++ 서버 연동)

아울러 금일 시리즈의 포문을 여는
[Part1. C++ 프로그래밍 입문] 강의가 업로드 되었습니다.
나머지 파트들을 원활하게 수강하기 위한 C++ 기초를 다루는 워밍업 강의로,
어셈블리 언어부터 시작해서 기본 C++ 문법, STL, C++11를 포괄적으로 다루게 됩니다.

C# 강의와 비교하여 다소 어렵고 지루할 수는 있지만
메모리를 직접 다루는 C++이다보니, 
대충 넘어가지 않고 중요한 부분은 꼼꼼하게 메모리를 분석하면서 
학습하도록 구성되어 있습니다.

이미 C++ 지식이 있으시다면 굳이 수강하실 필요는 없으며
다음 강의 [게임 수학과 DirectX12]는 3월까지 완강을 목표로 제작되고 있습니다.

감사합니다!

Rookiss 프로필
신규 강의 업데이트 관련
Rookiss 2020.11.05

안녕하세요,

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]의 Rookiss입니다.
시리즈의 두번째 번외편 (부제: ASP.Net Core 심화편)이 업데이트 되어 공유 드립니다.
웹서버가 인증/결제와 같은 민감한 부분과 관련 있는데,
Part6의 웹서버 파트가 너무 Blazor 쪽에 치중되어
정작 API 서버에 대해서는 너무 간략하게 다룬 것 같다는 생각이 듭니다.
그런 연유로 ASP.NET Core 심화 파트를 보강하게 되었습니다.

ASP.NET의 근본인 MVC을 이용해서
Routing, Middleware, Authorization, Authentication등
Blazor나 WebAPI에도 통용되는 개념들에 대해 더 깊게 알아보고,
페이스북 인증이나 JWT 토큰 발급 등으로 실습을 해보게 됩니다.
원래 결제까지 포함하려 했는데 이런 저런 이유로 강의 제작이 지연되어
추후에 돌아와 다시 보강할 예정입니다.

[C#과 유니티로 만드는 MMORPG 게임 개발] 시리즈가
최초 계획이었던 7부를 훌쩍 넘어서 연재 되고 있음에도 불구하고
많은 분들이 꾸준히 수강을 해주셔서 늘 감사의 마음을 갖고 있습니다.
그리하여 마지막 강의는 무료로 배포를 하게 되었으니,
ASP.NET Core로 실제 웹서버를 운영할 생각이신 분들은 참고하시길 바랍니다.

이어서 예고드린 대로 C++ 시리즈로 넘어가
새로운 마음으로 다시 연재를 시작할 생각입니다.
C#은 강의 대상이 인디 개발자 및 취미로 배우는 사람이었다면,
C++은 취업 준비를 염두에 두고 제작할 생각이라
전 내용을 더 깊이 있게 다루게 됩니다.

대략적인 파트들은 다음과 같이 생각하고 있습니다. (순서 미정)

- C++ 기초 프로그래밍 입문
- 자료구조와 알고리즘
- 게임 수학
- DirectX12 or OpenGL
- UE
- 게임 서버 (Windows IOCP)

감사합니다.

Rookiss 프로필
신규 강의 업데이트 관련
Rookiss 2020.10.21

안녕하세요,

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]의 Rookiss입니다.

많은 분들이 서버 운영 관련 질문을 남겨주셔서,
라이브 운영을 돕기 위한 2개의 번외편 강의가
시리즈 커리큘럼에 추가되었고 
이 중 첫번째 강의 [번외편: AWS로 시작하는 서버 운영]이 
금일 오픈되어 공유 드립니다.

특별히 어렵거나 비밀스러운 내용은 아니고
말 그대로 AWS 사용법과 ASP.NET 배포 테스트를 통해
실전 서버 운영 실습을 하는  강의입니다.
그리고 혹시 Linux 쪽에 대한 지식이 없으신 분들을 위해
Linux 기초 사용법에 대한 내용도 다루니,
Windows vs Linux 서버 중 고민하신다면 가볍게 들어보시기 바랍니다.

번외편은 필수적으로 수강해야 하는 내용은 아니고,
서버 개발&운영에 필요한 전 과정을 시리즈에서 다루겠다는 
소소한 약속을 지키기 위해 만든 강의에 가깝습니다.
따라서 정말 라이브 서버 운영을 목전에 두신 분들만 수강하시길 추천 드립니다.

이어서 마지막 강의의 부제는
[번외편: ASP.NET Core로 구현하는 인증과 결제]입니다.
Part6 웹서버가 Blazor 신기술에 치중되어
정작 중요한 인증, 로깅, HTTPS 및 웹보안 등의 내용이 누락된 것 같아,
ASP.NET Core 심화 강의를 만들어 해당 내용을 보충할 생각입니다.

그리고 온라인 게임을 운영하면
언젠가 결제 서버가 필요하게 될텐니,
구글이나 애플쪽 API와 연동하는 실습을 해보면서
실제로 ASP.NET Core 웹서버를 사용하는 연습을 하고자 합니다.
여기까지 마치면 온라인 게임 출시에 필요한 모든 부분들을 다뤘다고 생각되어,
마지막 강의를 끝으로 C# 시리즈를 마무리 짓고
새로 시작하는 C++ 시리즈로 넘어갈 생각입니다.

감사합니다!

다른 댓글 보기(1)
Rookiss 프로필
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 업데이트 관련
Rookiss 2020.09.23

안녕하세요,

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]를 연재중인 Rookiss입니다.

금일 시리즈 최종 파트인 [Part9 : MMO 컨텐츠 구현 (DB 연동 + 대형 구조 + 라이브 준비)]가 
오픈되어 공유 드립니다.

Part9의 부제는 DB 연동 / 대형 구조 / 라이브 준비입니다.

 

 

DB 연동

웹서버와는 다르게 게임 서버는 항상 바쁘게 돌아가야 하기 때문에,
웹서버를 연동하는 방법 그대로 게임 서버에 적용시키기는 힘듭니다.
반드시 쓰레드 관리를 통해 DB 일감과 게임 로직 일감을 분리해야 하고,
여러가지 순서 처리에 대한 골치아픈 문제도 등장하게 됩니다.
DB 연동 컨텐츠(아이템, 인벤토리, 캐릭터 저장 등)를 제작하면서
이런 부분에 대해 실습을 하게 됩니다.

 

 

대형 구조

명색이 MMO라면 그래도 몇 백의 유저가 한 공간에 모일 수 있어야 합니다.
그런데 같은 공간에 많은 유저가 모이는 것이 왜 그렇게 어려운 것일까요?
쓰레드라는 무기가 있음에도 왜 MMO 제작이 어려운지 그 이유에 대해 설명하고,
여러가지 서버 구조론에 대해 알아보게 됩니다.
그리고 우리가 만드는 인디 게임에서 가장 쉽게 적용할 수 있는 형태로
서버를 수정한 다음, DummyClient를 복원시켜 테스트를 해보게 됩니다.

 
라이브 준비
온라인 게임을 운영하려면 많은 지식이 필요한데,
주요 내용을 짚어보고 공용 DB를 사용해서
웹서버와 게임서버 사이의 통신 실습을 해봅니다.

 
아울러 Part9는 시리즈의 완결이고,
다음 강의는 서버 운영에 대한 이해를 돕기 위해
[서버 운영 (Network 기초 / Windows Server 실습 / Linux 실습 / AWS)]를 만들 예정이지만
특별히 본 시리즈와 연관성은 없는 독립적인 강의로 제작될 예정입니다.

 

 

마지막으로 강의 내용, 수강료, 난이도와 관련해서
여러 Q&A나 문의 메일이 종종 오는데,

[쉬운 난이도 + 짧은 제작 기간 + 낮은 수강료] vs [높은 난이도 + 긴 제작 기간 + 높은 수강료] 중
어떤 방향으로 강의를 제작할까 살짝 고민을 했지만,
전자는 다른 서적이나 강의도 이미 충분히 많이 있는 것을 감안하여
앞으로는 취업/게임 프로그래머를 목적으로 하는 분들을 위한
중/고급 난이도 강의 위주로 제작할 생각입니다.
C++ / 게임 수학 / 자료구조&알고리즘 / Windows C++ IOCP Server / DirectX12 / UE (순서 미정)
로 2021년까지 이어지는 C++ 기반 강의에서는
C#보다 더 Low하게 가는 고급 주제들을 다뤄볼 생각입니다.

 

 

감사합니다!

Rookiss 프로필
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 업데이트 관련
Rookiss 2020.09.10

안녕하세요,

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]를 연재중인 Rookiss입니다.

금일 [Part8 : Entity Framework Core]가 오픈되어 공유 드립니다.
Part8는 선수 지식이 없어도 되는  독립적인 강의이며,

이전 소식에서 예고드린 바와 같이

웹서버 강의에서 잠시 사용해본 EF Core를 더 깊게 살펴보게 됩니다.

EF Core를 사용하면 SQL 스크립트를 일일히 작성하지 않고서도

(C# 코드를 이용해) DB 테이블 설계와 CRUD 연산을 손쉽게 처리할 수 있습니다.

이렇게 코드와 DB를 매핑하는 기술을
ORM (Object Relational Mapping)이라 하는데,

배울 땐 지루하고 귀찮지만 한 번 익혀두면 굉장히 편리하고,

또 컨텐츠 작업속도가 빨라지는 장점이 있습니다.

추가로 라이브에서 늘 문제가 되는 Transaction처리나
DB Migration과 같이 귀찮은 작업도 간단하게 해결할 수 있는 장점도 있습니다.

아울러 Part9도 절반 정도 제작이 되었는데,

Part8서 살펴본 EF Core를 이용해서
DB 연동 컨텐츠(아이템, 인벤토리, 캐릭터 저장 등)를 제작하고,

MMO 서버의 다양한 구조에 대해 알아본 다음

더 넓은 세상을 관리하는 방법에 대해 학습을 하게 됩니다.

그리고 마무리로 Dummy Client를 복원시켜 
대략적인 동접 처리량을 테스트를 해볼 예정입니다.

감사합니다.

Rookiss 프로필
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 업데이트 관련
Rookiss 2020.08.12

안녕하세요,

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈]를 연재중인 Rookiss입니다.

금일 [Part7 : MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)]가 오픈되어 공유 드립니다.

Part7는 처음에 소개드린 2D 로그라이크 온라인 게임을 무료 에셋을 이용해 만들어보는 강의입니다.

DB는 아직 연동되지 않은 상태로, 온라인 게임의 기본이 되는 전투/이동 동기화를 다루게 됩니다.

(그리고 Protobuf 등을 사용하는 형태로 서버를 살짝 수정해보게 됩니다.)

아무튼 Part3의 유니티 클라, Part4의 C# 서버, 및 Part2의 A* 길찾기를 재사용 하기 때문에

기존 Part들의 선수 학습이 필요하며, 수업은 다음과 같은 순서로 진행됩니다.

  - 1) Unity2D를 이용해 간단한 싱글플레이어 2D RPG 제작

  - 2) 1에서 만든 싱글플레이어 게임 로직을 쪼개면서, 온라인 게임으로 전환

  - 3) 서버의 컨텐츠 처리 구조에 대한 논의

그리고 최초 계획은 Part7에서 끝내려고 했으나,
역시 온라인 게임 특성상 클라/서버/툴을 같이 작업하다 보니

생각보다 영상 진도가 느린 것 같네요.

앞으로 나오는 Part들은 [DB 연동], [더 넓은 MMO 세상 관리 방법들], [AWS] 등을 다룰 예정이며

정확히 몇 부에서 끝날지는 아직 잘 모르고,

그냥 즉흥적으로 필요한게 생기면 강의를 이어갈 예정입니다.

(물론 그냥 취업이나, 포폴 목적이라면 Part7까지만 알아도 정말정말 충분하고도 남습니다.)

현재 계획상 Part8은 웹서버를 하면서 잠시 맛보기로 사용한

Entity Framework Core를 10시간 내외로 더 깊이 다룰 예정이며,
이를 이용해 Part9부터는 DB를 컨텐츠 연동/제작을 하고,

DB가 붙을 때의 서버 구조 및 유의사항에 대한 내용을 다룰 예정입니다.

참고로 DB 연동을 그냥 간단하게 ADO.NET으로 할까 하다가,

장기적으로 보면 EF Core도 제대로 익혀두면

추후 라이브에서도 여러모로 유용할 것 같아서,

고민 끝에 이렇게 결정되었습니다.

최종적으로 간단한 MMO 출시까지 완성하고

시리즈를 마무리를 했으면 하는 소망이 있는데,

아직 갈 길이 조금 더 남아있네요.

감사합니다 !

다른 댓글 보기(3)