[주간 인프런 #20] 게임 개발을 공부하는 강의하이커를 위한 안내서! cover

[주간 인프런 #20] 게임 개발을 공부하는 강의하이커를 위한 안내서!

#게임개발 #C# #C++ #Unity #UnrealEngine 

2020년의 마지막 주간 인프런! <주간 인프런> #20 에서는 직접 온갖 게임 강의를 들어본 인프런 팀원의 학습기(!)를 소개합니다. 자타공인 게임 덕후였던 고트가 그 주인공인데요. 게임 개발을 배우기 위해 지난 몇 년간 고트가 직접 듣고 공부해본 게임 강의들을 소개하고, 어떤 기준으로 강의를 공부하고 평가했는지를 살짝 공개해 봅니다.

희노애락이 듬뿍 담긴, 솔직한 게임개발 강의 리뷰! 게임 개발에 도전하는 분들은 물론, 어떻게 강의를 고르면 좋을지 막연한 분들에게도 하나의 길잡이가 될 수 있기를 바라요. 🎮

*이 리뷰는 2020년 4월에 쓰여, <주간 인프런> #20으로 새로 편집해 공개하는 리뷰입니다.

고트는 누구일까요?

염소

인프런 비즈니스 매니저(Business Manager)
게임 회사, 업계, 개발에 관심 많은
흔한_한국의_게임_덕후.zip 

• 『이득우의 언리얼 C++ 게임 개발의 정석』 
• 『레트로의 유니티 게임 프로그래밍 에센스』 
• 『절대강좌! 유니티』 
• “홍정모의 따라하며 배우는 C++” 등 학습

들어가며: 본인 소개

흔한 게임덕후이자 현재는 인프런 팀원으로 일하고 있다. 게임을 얼마나 좋아했냐면, 중고등학생 때부터 게임 잡지를 매달 종류별로 처음부터 끝까지 한 글자도 놓치지 않고 정독을 했을 정도였다. 그만큼 게임을 하는 것뿐만 아니라 게임 회사, 게임 업계, 게임개발에 대한 많은 지식을 탐닉했다. 그중에서도 가장 나와 거리가 먼 부분은 게임개발이었는데, 모드도 싫어서 순정으로 즐기는 보통의 게임덕후에게는 효용이 낮은 지식이었기 때문이다.

하지만 최근에는 몇 가지 꿈과 목표가 생기면서, 깊고 어두워보이기만 했던 개발에 크게 관심을 가지기 시작했다. 지금은 슬쩍 발을 담그고 깊이를 가늠하고 온도를 느껴보며 조심스럽게 탐색을 해보는 단계다.

그 과정에서 인프런을 비롯해 시중의 몇몇 인기 온라인 게임 강의와 서적들을 살펴보고 직접 학습해볼 기회가 늘었다. 몇 년 전 따라 실습을 해본 책부터 시작해 인프런 온라인 강의, 패스트캠퍼스 게임개발 올인원 패키지, 기초가 부족하다는 생각에 들었던 POCU(포큐) 아카데미, 언리얼 엔진과 이득우 교수님의 책까지 공부해보면서 게임 개발에 대해 참 많이 느꼈고 고민했다. 따라서 직접 경험한 게임 개발 학습 콘텐츠 몇 가지에 대한 짤막한 리뷰를 해보고자 한다. 아래는 내가 시간을 내서 학습한 콘텐츠 목록이다.

강의

• 레트로의 유니티 C# 게임 프로그래밍 에센스 (인프런)  리뷰 
• 배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발 (인프런)  리뷰 
• 게임개발 올인원 패키지 (패스트캠퍼스)
• C 언매니지드 프로그래밍 (POCU 아카데미)  리뷰 
• 홍정모의 따라하며 배우는 C++ (인프런)
• C#과 유니티로 만드는 MMORPG 게임 개발 시리즈 (인프런)  리뷰 

서적

• 『이득우의 언리얼 C++ 게임 개발의 정석』 (에이콘출판, 이득우)
• 『레트로의 유니티 게임 프로그래밍 에센스』 (한빛미디어, 이제민)
• 『절대강좌! 유니티』 (위키북스, 이재현)

그래서 내가 게임개발을 할 수 있냐고?
…그럴 리가 있나. 괜히 게임을 ‘종합예술’이라고 부르는 게 아니다.

게임개발을 하려면

프로그래밍 지식과 이를 기반으로 한 엔진 사용법, 기획, 아트(2D/3D, 애니메이션, 배경 등), 시나리오, 사운드(이펙트, 배경음악 등)… 게임 개발에 필요한 인력, 자원, 지식은 셀 수 없이 많다. 그중에서도 일반적인 게임개발 강의에서 초점을 두는 부분은 프로그래밍과 엔진 사용법인데, 이 부분만 하더라도 워낙 방대하다보니 강사도 수강생도 갈피를 못 잡는 경우가 허다하다.

결국 고개를 드는 지루한 질문, ‘게임 개발을 하려면 어느 정도 수준의 프로그래밍 실력이 필요한가’? 이 질문에 대한 수많은 답변을 찾아볼 수 있었지만, 이 분야를 잘 아는 사람조차 명쾌하게 답을 내리지는 못하는 것 같았다. 그리고 서글프게도 내가 만나본 사람의 절반 이상이 C, C++, JAVA, C# 정도는 기본(기초 문법을 아는 수준이 아닌, 직접 프로그램을 구현할 수 있는 수준)이고, 컴퓨터공학과 수학에 높은 수준의 지식이 있어야 한다고 주장했다. 하악…

개비스콘 짤 생성기 (https://gvsc.rajephon.dev/) 를 통해 만든 이미지. "게임엔진, 자료구조, 기획, 네트워크, 알고리즘..." "포기"

물론 포기하면 편하다

게임개발 강의 리뷰 기준

하지만 그럼에도 불구하고, 나를 비롯해 게임 개발 강의를 듣는 대부분의 수강생은 앞서 얘기한 지식을 충분히 갖추고 있지 못하다. 그만큼 강의를 아무리 쉽게 진행해도 깊이있게 이해하기 어려운 것이 현실이다.

"그림을 그립시다" 밥 로스 ⓒPBS

어때요, 참 쉽죠? (아니요…)

또한 이런 부분을 강사들도 인지하고 있기 때문에, 필연적으로 게임개발 강의는 [상세하고 깊이있는 지식][게임개발 과정을 시연하며 보여주는 최소한의 정보] 사이의 어딘가에 위치하게 된다. 그 결과 대부분의 강의가 ‘초보자도 문제없이 따라할 수 있지만, 응용을 하려고 하면 멍텅구리가 되어버리는’ 한계를 가진다.

이런 측면에서, 게임개발 학습 콘텐츠를 평가할 몇 가지 기준을 정해보았다.

• 반드시 필요한 기본 개념이 모호하지 않게 직관적으로 설명되었는가 (직관성)
• 준비된 시연이 아닌, 개발 과정을 체계적으로 보여주고 행위의 이유가 명확히 설명되는가 (체계)
• 수강생의 상상력을 최대한 자극하여 추가적인 학습을 가능케 하는가 (동기부여)

아래 리뷰는 지극히 개인적인 경험에 근거하였으며, 일부 정확하지 않은 정보가 있을 수도 있다. 리뷰와 다른 의견은 언제든지 환영이다.


1. 레트로의 유니티 C# 게임 프로그래밍 에센스 (인프런)

레트로의 유니티 C# 게임 프로그래밍 에센스

[유니티(Unity)에 대한 설명 ▶ 원리 ▶ C# 기본 ▶ 게임제작 ▶ C# ▶ 게임제작 ▶ C# ▶ 게임제작] 의 순서로 진행된다. 먼저 문법을 배운 다음 이를 활용해 간단한 게임을 제작해나가는 작업이 반복되기 때문에 큰 프로젝트에 압도될 필요 없이 편한 마음으로 들을 수 있다.

당연히 유니티를 하는 데 C#은 기본 소양이지만, 초심자 입장에서 언어에 대해 힘들게 배워나가면서 이를 게임개발에 접목시키는 방법을 상상하기는 굉장히 어렵다. 레트로는 이러한 문제를 커리큘럼을 통해 해결해나간다. 수강생들은 그때그때 배운 문법으로 미니게임을 구현해보면서 문법의 활용에 대한 통찰을 얻을 수 있다.

레트로의 유니티 C# 게임 프로그래밍 에센스 강의 캡처

커리큘럼을 따라 자연스럽게 미니게임을 만들어볼 수 있다

게다가 복잡한 개념을 예시를 들어 설명하곤 하는데, 이 예시가 아주 흥미롭다. 실제 유명 게임의 사례를 이용해서 듣는 것만으로도 왜 이런 방식으로 개발을 해야 하는지, 이러한 개념을 이용해서 어떤 기능을 구현할 수 있는지를 자연스럽게 생각하게 만들어 주었다. ‘오, 신기한데’, ‘오, 재밌는데’ 라고 생각하다 보면 자연스럽게 다른 강의를 들을 때도 레트로의 목소리가 환청처럼 들린다.

호불호가 갈릴 수도 있지만, 억양과 목소리가 아주 귀에 싹싹 박히기 때문에 강의에 집중하는 데도 도움이 되었다. 거기다 오디오에 빈틈이 없을 만큼 컷편집이 잘 되어있어서 방대한 분량의 강의임에도 효율이 굉장히 높다. 다 듣고나면 ‘아하~!’ 하는 강사의 추임새에 중독된다.

레트로의 유니티 C# 게임 프로그래밍 에센스 책 표지

책도 이미 유명하다

강의를 감명깊게 보았다면 책을 구매해서 보도록 하자. 전혀 다른 예제와 더 상세한 설명으로 한층 더 깊이있게 복습할 수 있다. 레트로 스타일의 음성지원은 덤이다.

염소

“어깨를 나란히 하고 첫걸음부터 따라와주는 고마운 강의.”

• 경험이 묻어나는 찰진 설명
• 편집, 속도, 커리큘럼 등 매우 높은 완성도
• 유니티 최신 기능 활용

수강률: 95%
직관성 ★★★★★ 체계 ★★★★ 동기부여 ★★★★☆

2. 배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발 (인프런)

배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발 강의 커버이미지

이 강의에 대해서는 아쉬운 점부터 얘기해야 할 것 같다. 우선 1) 강사분께서 모종의 이유로 강의에 대한 피드백을 하지 않는다. 그렇기 때문에 현재 상태에서 해결되지 않은 궁금증이나 수정되어야 할 오류가 있다면 질문을 해도 답변을 들을 수 없다. 거기다 2) 강의에서 사용하는 일부 외부 서비스들이 제대로 동작하지 않거나 접속이 원활하지 않는 등의 문제가 발생할 수 있고, 이런 경우 혼자서 해결방법을 찾아야 한다. 문제는 1) + 2)라는 거.

하지만 그럼에도 불구하고, 직접 수강한 바로는 강의의 수강 자체에 문제는 없다. 블루프린트(Blueprint: 언리얼 엔진 4에 내장된 비주얼 스크립팅 시스템)를 이용해 온갖 기능들을 다 구현해내는데, 뭐가 뭔지 정확히는 알지 못하겠지만 감탄이 나온다. 제대로 배우면 코딩 없이 게임을 제작할 수 있을 것 같은 강렬한 영감을 받을 수 있다. 거기에 언리얼을 이용한 멀티플레이 구현까지 할 수 있으니, 완강을 한다면 언리얼 엔진에 대한 많은 부분을 이해할 수 있을 것이라고 생각한다.

배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발 강의 캡처: 낙하산

직접 배틀로얄 게임을 만들어볼 수 있는, 보기 드문 언리얼 엔진(Unreal Engine, UE) 강의

그런데 말입니다.
자칫 오해할 수 있는 부분이 있어서(사실은 내가 오해했었기 때문에) 설명하자면, 블루프린트는 ‘코딩없이’ 로직을 구현하고 게임을 만들 수 있는 기능인 것은 확실하다. 그러나 ‘프로그래밍 지식 없이’ 게임을 만들 수는 없다.

블루프린트에서 변수를 선언하고 사용하고 함수를 이용해서 파라미터를 조정하는 방식은 코딩을 이용해 구현하는 것과 크게 차이가 없다. 단지 눈으로 연결고리가 보이냐, 안 보이냐의 차이일 뿐이다. 심지어 경우에 따라서는 코드보다 더 복잡해 보이기도 한다. 따라서 블루프린트도 다른 방식의 프로그래밍이라는 걸 감안하고 접근하지 않으면 조금 당황하게 될지도 모른다.

배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발 강의 캡처: 블루프린트 화면

블루프린트는 도깨비 방망이가 아니다

어쨌든 구성이 좋고, 언리얼 엔진의 기능을 이용하는 부분에서는 충분히 가치있는 강의라고 본다. 언리얼 엔진에 관심이 많은 분들이라면 추천.

염소

언리얼 비주얼 스크립팅의 강력함을 직접 느껴볼 수 있는 귀중한 강의.”

• 블루프린트를 이용해 방대한 범위를 아우르는 개발을 경험
• 언리얼 강의로는 흔치 않은, 높은 퀄리티
• 질문/답변 미제공, 업데이트 소식이 없는 것은 옥의 티

수강률: 70%
직관성 ★★★★ 체계 ★★☆ 동기부여 ★★★☆

3. C 언매니지드 개발 (POCU 아카데미)

C 언매니지드 개발 강의 Udemy 썸네일

C++을 공부하고 나서 컴퓨터 공학에 대한 기본기를 탄탄히 하고 싶어 여러 게임 개발 강의를 듣던 중 과감하게 결제한 과정. 게임개발 과정은 아니지만, 완전 기초를 원하시는 분들도 많을 것 같아 그냥 쓰고 싶었다.

분명히 말하겠다. 전공자도 아니고, 공부는 해본 적 있지만 프로그램 구현 경험은 거의 없으며, 특히 직장을 다니고 있다면 어지간하면 포기하자. 매주 실습이 나오고, 강의도 들어야 하고, 과제도 하면서 시험 공부도 해야 하는데, 그냥 아주 어렵고 당신이 위의 범주에 해당한다면 그냥 못한다.

POCU 아카데미 C 언매니지드 프로그래밍 화면 캡처

유데미(Udemy)에서 Pope Kim의 강의만 결제해서 볼 수 있지만, 진짜(!)는 포큐의 과제, 실습 그리고 시험 과정이다

C도 처음이고 기본적인 개념이 완전히 머릿속에 녹아있지 않은 나의 경우, 실습 문제를 해결하기 위해서 매 주말마다 꼬박 밤을 새워야 했다. 과제를 미리 하는 건 상상도 못할 일이었고, 과제가 있는 주는 과제와 실습 중 그나마 만만해보이는 것을 선택해야만 했다. 스트레스를 많이 받는 편은 아닌데, 머리를 쥐어뜯고 싶었던 적이 많다. 과제와 실습을 위해서 연차를 써야 했으며, 해외여행을 가서도 과제를 하고 강의를 듣느라 밤을 샜다. 포큐 하려고 사표 쓰고 싶었다.

하지만 포큐는 대단한 과정인 것은 명백하다. 밤을 새워가며 고민을 하다 보니, C언어를 뇌에 조각칼로 쑤셔서 새겨놓은 마냥 솔솔 기억이 난다. 실습과 과제를 성공했을 때에는 굉장한 성취감과 함께 내가 무언가 해낸 것 같은 벅찬 감정을 느낄 수 있었다. 개발의 뽕맛(!)을 느낀다고 해야 하나. 뭐 대단한 건 아니지만.

수료를 하지는 못했음에도 선명히 기억에 남고 도움되는 과정이었고, 많은 돈을 지불했음에도 후회가 없었다. 머리털 빠지면서 개발하는 감정을 느끼고 싶다면 도전하고, 진짜 ‘와, 이렇구나’ 싶은 기분을 체험하고 싶으신 분들도 수명 깎아서 도전해보기 바란다.

나도 기회가 (+능력이) 된다면 C++ 과정은 꼭 도전해보고 싶다.

염소

“당당히 어깨 펴고 싶은 사람은 도전하자.”

• 깊다. 아주. 매우. 엄청.
• 이 과정을 다 소화한다면 개발자라고 어깨 펼 수 있을 것
• 물론 수강생들 중 과반수는 어깨가 부러진다

수강률: 60%
직관성 ★★★★★ 체계 ★★★★★ 동기부여 ★★★★
난이도 ★★★★★★★★

4. C#과 유니티로 만드는 MMORPG 게임 개발 시리즈 (인프런)

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비) 강의 커버이미지

앞서 게임개발 강의의 한계점으로, 대부분의 강의가 [상세하고 깊이있는 지식]과 [게임개발 과정을 시연하며 보여주는 최소한의 정보들] 사이의 어딘가에 위치하고 있다는 상황을 꼽았다. 이 때문에 보통의 게임개발 강의나 서적들이 ‘게임 엔진’을 중심으로 이루어지고 있고, 그 효과 역시 어느 정도는 입증되고 있다고 본다.

먼저 이야기하자면, 이 강의는 지금까지 듣고 보았던 게임개발 강의와는 완전히 궤를 달리한다.

Rookiss의 강의는 MMORPG를 만든다는 명확한 목표 아래 [C# 프로그래밍 ▶ 자료구조&알고리즘 ▶ 유니티(Unity) 엔진 ▶ 서버 ▶ 데이터베이스 ▶ 웹 서버] 로 이어지는 방대한 내용을 가르친다. 이러한 특징 때문에 강의의 커리큘럼 역시 이에 맞게 완전히 새로 짜여져 있다. 현재는 네 번째 파트인 서버 강의까지 나왔는데, 나는 자료구조와 알고리즘까지 들었다.

(*편집자주:  <C#과 유니티로 만드는 MMORPG 게임 개발 시리즈> 리뷰는 2020년 4월에 쓰였어요. 현재 해당 시리즈는 9번째 파트까지 완결된 상태입니다.)

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비) 강의 캡처

간단한 멀티플레이 온라인 게임을 만든다는 목표로 모든 파트가 연결되며, 파트별로 필요한 내용만 골라 들어도 좋다

C# 기초는 어느 정도 알고 있고, 시중에 나온 대부분의 강의가 대동소이한 수준이라 그냥 넘기고 싶은 마음도 있었다. 하지만 한 번 듣고 나서는 ‘나중에 꼭 다시 복습해야겠다’는 생각이 들 정도로 깊이있고 재미있는 내용이었다. 어떤 문법이 많이 쓰이는지, 실제 게임을 개발할 때 어떻게 응용되는지, 어떤 생각할 부분이 있는지 등 여러 내용을 충실히 담아놓아서 단순히 문법을 배울 때에도 훨씬 기억에 오래 남고, 응용할 방법을 고민하게 된다.

자료구조와 알고리즘 역시 앞으로 계속해서 진행될 ‘게임개발’에 초점을 맞추고 진행되고 있어, ‘그래서 이걸 어디다가 쓴다고?’ 따위의 생각을 할 여지를 남겨두지 않는다. 단순히 게임개발을 배우고 있는 것이 아니라 게임 프로그래머로서 단단해지고 있다는 확신을 주는 강의였다.

신통방통한 점은, 학생들이 궁금해 할 만한 부분을 정확하게 알고 있기 때문에 ‘저도 처음에는 몰랐는데~’ ‘이게 왜 이렇게 되는지 궁금하실텐데~’ 하면서 귀신처럼 설명해준다는 것이다. 사람마다 다를 수는 있겠지만.

단점이 있다면 파트별로 판매가 되는 만큼 강의 가격이 상대적으로 높은 편이다. (듣고 나면 비싸다는 생각이 들지는 않는다.) 또, 가끔 편집 미숙으로 설명 맨 끝부분이 살짝 잘려나간 느낌이 있다. 아마 시리즈가 추가되다 보면 차차 나아지지 않을까 싶다.

재미와 깊이, 목표의 명확성과 앞으로의 활용성 등 한 강의에서는 잡기 힘든 부분을 ‘거의 완전히’ 공략한 제대로 된 강의라고 할 수 있다. 파트 2까지만 해도 이 정도로 만족했는데, 뒷부분은 더 기대가 된다.

고트 인프런 강의 학습 노트 캡처

(편집자주: 8개월이 지난 지금 고트는 여전히 잘 듣고 있고, 강의 노트도 정리한다고 합니다…)

염소

“이런 강의가 있다는 게 뭔가 좀 감동이다.”

• 깊이가 있으면서도 재미있다
• 수업 내용의 완전성, 감동적인 강사 피드백
• 약간 비쌈 

수강률: 40%
직관성 ★★★★★ 체계 ★★★★★ 동기부여 ★★★★★

게임 개발의 꿈, 한 발짝 더 가까워지고 싶다면?
인프런과 함께 학습해보세요. 📑

 

이번 [주간 인프] 어떠셨나요?
솔직한 의견을 들려주세요!

유익해요 | 아쉬워요

LogT

포큐는 가격이 미친듯이 비싸서 학생 신분으론 배우지 못할 것 같아요..

하지만 입문서로 프로그래밍을 시작해봤지만 프로그래밍에 대해 아무것도 모르는 저에게는 이해하기도 쉽고 터득하기도 쉬웠어요! 단지 비싸서 손을 못댄다..는 것..뿐.

매니저 고트

첨언과 근황

1. 루키스님은 최근 1년간의 여정을 끝내고 파트9 + 부록까지 완성했다. 게임서버, 웹서버, DB, 연동, MMO구현까지 엄청나게 방대한 분량을 강의로 제작했더라(실화냐)... 아직 나는 먼소린지 도통 알 수가 없지만 수강생들의 폭발적인 반응을 보니 '에이씨 나도 해야겠네' 싶었다.2. 루키스의 수강생들 중에서는 실제 게임개발을 해본 사람들이나 이미 현업에 있는 프로그래머도 있다. 이런 분들은 파트3이나 4부터 구매하는 경우가 있더라. 구매의사가 있다면 참고하기 바란다.3. 타사 언급에 대해서는 민감하지만, 내년 1월부터 다시 포큐 지옥으로 들어간다. 그간 해왔던 C#과정이라 이번에는 1인분 해낼 수 있을거라 생각한다.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의를
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스