BEST
게임 개발

/

게임 프로그래밍

[실전 게임 코드 리뷰] 유니티 클리커 게임

실제로 출시된 2D 클리커 샘플 게임 "개미 주식회사"를 분석하면서 유니티 엔진 응용 방법에 익숙해지는 강의입니다.

(4.9) 수강평 54개

수강생 1,548명

Thumbnail

[Rookiss University] 11월 일정 모집 시작! 월(Lyra), 화(Asio Server), 목(UE5 Tool), 토(아트를 위한 프로그래밍), 일(PD학 개론)

[Rookiss University] 11월 일정! 월(Lyra), 화(Asio Server), 목(UE5 Tool), 토(아트를 위한 프로그래밍), 일(PD학 개론)

https://inf.run/1PU3V

Rookiss University 11월차 일정을 모집합니다.
월(Lyra), 화(Asio Server), 목(UE5 Tool), 토(아트를 위한 프로그래밍), 일(PD학 개론)
5 가지 강의가 개강합니다.
- 수강 희망하는 강의가 열리는 요일을 확인해서, 해당 강의의 시작 날짜로 신청해주세요!
인원 체크 및 소식 발행 등을 위해 꼭 강의 시작 날짜로 신청 바랍니다.
- 실수 방지 차원에서 신청하는 강의를 메시지에 남겨주세요.
- 일요반은 무료 강의라 별도로 신청을 받지 않습니다. 추후 Discord 링크 공개 예정
- 모든 강의 수강료는 동일하지만, 추후 바뀔 수 있습니다.
- 강의 종료 후 약 6개월 후에 인프런 통해서도 공개될 예정입니다.
- (목록에 없는) 일부 강의는 더 연습이 필요하다 판단되어 일정이 밀렸습니다.
- Dedicated Server 실전 경험이 많은 전문가를 애타게 구하고 있습니다 :)

1. Lyra 클론 코딩 (Haker) : 연재형 강의 (#2달차)

일정: 11월 6/13/20/27 (월요일 8pm~11pm)

Lyra는 Unreal Engine에서 제공하는 샘플 컨텐츠로, Epic Games에서 멀티플레이어 FPS 제작의 정석에 대한 힌트를 준 것입니다. GameAbilitySystem, DedicatedServer 및 컨텐츠 관리 등 전반적인 컨텐츠 제작 측면에서 꿀단지가 가득한 지식 집합소입니다. 하지만 당장 Lyra를 다운받아 열면, 어디부터 시작할지 하나도 모를 정도로 코드가 방대하고 어렵기 때문에 사실 손조차 대지 못하는 수준이었는데요. 매우 어려운 작업이지만, 가장 중요한 핵심 포인트를 요약해 처음부터 다시 조립하며 만드는 Clone Coding 강의가 있으면 정말 좋을 것 같다는 생각을 했고, 수소문 끝에 Haker님이 이를 맡아주시기로 했습니다. Haker님은 현재 대기업 10년 이상의 경력이 있으신 현업 클라&엔진 프로그래머이고 제가 여태 만나 본 사람들 중 열 손가락 안에 들 정도의 실력을 갖춘 분입니다. 추후 언리얼 엔진 소스 코드 분석 주제를 담당해주실 예정이지만, 현재 Lyra와 GAS가 워낙 업계에서도 화두가 되고 있는 중요한 주제라 포문은 급하게 Lyra 클론 코딩 강의로 열어주시게 되었습니다. 참고로 많은 대기업에서도 Lyra, GAS를 분석하여 차기 프로젝트부터는 이를 도입하려는 움직임을 보이고 있습니다. 이러한 기술들을 익힌다면, 취준생은 물론 현업 주니어 프로그래머들한테도 UE 심화 공부에 있어서 길잡이가 될 것입니다. 1달차 때 기본 프레임워크를 나갔지만 아직까지는 충분히 따라올 분량이라 2달차까지는 신규 모집을 열어 둡니다.

2. Asio 기반의 C++ 서버 제작 (Javawork) : 1달

일정: 11월 7/14/21/28 (화요일 8pm~11pm)

전통적으로 한국에서는 MMO 서버를 Windows Server 기반으로 제작했습니다. 하지만 오래된 회사가 아니라면 이러한 서버를 처음부터 개발하는 것은 비효율적이고 매우 위험합니다. 최근 트렌드는 검증된 외부 라이브러리를 적극적으로 활용하여 개발 속도 향상시키고, 게임이라는 ‘제품’으로 승부를 보는 쪽으로 발전하고 있습니다. 특히, AWS의 발전으로 Linux 기반의 서버가 각광받고 있고 있는데요. Asio는 유명한 C++ 서버 라이브러리이며 Windows/Linux 양쪽 진영에서 다 돌아간다는 장점이 있습니다. Asio는 추후 C++ 라이브러리에 정식 포함되는 것이 유력하기도 하고, 실제로 최근에 진행되는 프로젝트에서 Asio 기반의 서버를 운영하는 사례도 많아 장기적으로 공부할 가치가 매우 높습니다. Asio 기반으로 간단한 서버 프레임워크를 제작하고, 이를 윈도우/리눅스 양쪽에 띄워보는 실습을 진행하면 유익할 것 같다 판단했습니다. Javawork님은 NC, 네오플등 국내 대기업을 두루 거치신 20년 이상 경력의 서버 프로그래머입니다. 실용적인 서버와 DevOps쪽의 지식을 매달 전수해주실 예정입니다. 장기적으로는, 서버 프레임워크, MMO or 방 단위의 게임, 그리고 그것을 지탱하는 AWS 기술들을 학습하는 쪽으로 진행을 하고자 합니다.

3. 언리얼 툴 확장 (Pepe) : 1달

일정: 11월 2/9/16/23 (목요일 8pm~11pm)

언리얼 엔진은 다양한 기술의 집합체입니다. 단순 컨텐츠 제작 외에도 실제 프로젝트를 진행할 때 마주치는 실용적인 노하우를 전수받기 위해 많은 전문가를 컨택하고 있습니다. Pepe님은 대기업 UE5 R&D팀 소속으로 UE 기술 연구를 꾸준히 하신 분으로, 최적화나 루멘 등 세부적인 주제에 강점이 있습니다. 컨텐츠 제작에 비해 당장 눈에 보이지는 않을 수는 있지만, 기반이 되는 여러 기술들을 꾸준히 학습하면 추후 문제 해결에 큰 도움을 받을 수 있습니다. 첫 번째 주제는 가볍게 언리얼 툴 확장으로 시작을 합니다. 툴이라는 주제는 재미는 없지만 프로젝트가 커지면 필연적으로 다양한 툴을 만들어야 하는데, 굳이 외부 툴로 만들기보다는 언리얼에 내장된 형태로 사용하는 것이 현명합니다. 유니티에 비해 이쪽으로 정리된 부분이 많지 않은데, Slate 등 툴 확장을 실전에서 어떻게 사용하는지 노하우를 전수받아 추후 다른 주제를 다루기 위한 초석을 마련하고자 합니다.

4. 아트를 위한 프로그래밍 (Meerkat) : 연재형 강의 (#1달차)

일정: 11월 4/11/18/25 (토요일 1pm~6pm)

클라/서버와 함께 TA 분야를 꼭 연구하고 정복해야 하는 영역으로 생각하고 있습니다. Tech는 Art를 모르고, Art를 Tech를 모르는 순환고리를 끊고자 관련 강의를 여럿 기획하고 있습니다. [아트를 위한 프로그래밍] 강의는 코딩 지식이 전무한 아트 직군에게 기본적인 블루프린트 활용 능력을 배양하는 것을 목표로 합니다. 사실 코딩의 원리는 동일하기 때문에 어떤 언어를 공부하는지는 크게 상관이 없고, 자신의 사고 방식을 코드로 옮길 수 있는 능력이 중요합니다. 복잡한 문법에 얽매이지 않기 위해, 실용적인 비주얼 코딩 시스템인 UE5 블루프린트를 이용해 배우는 코딩을 첫 주제로 정하였습니다. 기존에 Rookiss가 연재한 코딩 강의는 프로그래머 관점에서 진행하기 때문에 진도가 빠르고 대체적으로 어렵게 진행됩니다. 조금 더 비전공자, 초보자들의 눈높이에 맞춰 강의를 진행할 전문가를 섭외하던 도중, Meerkat님을 섭외하게 되었습니다. Meerkat님은 컴투스 출신의 미들급 프로그래머이며, 특히나 기가 막힌 비유로 쉽게 설명하는 강의력이 압도적입니다. 이번 주말반의 목표는 누구 하나 포기하지 않도록, 마치 과외를 받는 느낌으로 천천히 진행하더라도 괜찮으니 기존의 코딩 강의가 어려운 분들을 케어하는 것을 목표로 합니다. 실시간 라이브 강의에서 다양한 연습 문제를 풀어보고, 수강생들 또한 개인 화면을 공유하여 강사가 어려운 부분을 확인하고 평소에 물어보기 민망한 질문들을 다 받아주는 것이 궁극적인 목표입니다. 프로그래머 지망생은 받지 않고 오로지 비전공자, 특히 기획자나 아트 직군을 대상으로 0부터 시작하는 코딩 강의를 모집합니다!

5. PD학 개론 (Rookiss) : 연재형 강의 (#1달차)

일정: 11월 5/12/19/26 (일요일 8pm~11pm)

게임 업계에 오는 사람들 대부분은 자신이 너무나도 좋아하는 게임을 떠올리며 공부를 하고 업계에 발을 딛습니다. 하지만 막상 회사에 입사하면, 기대는 산산조각이 나고 프로젝트는 항상 표류하는 것처럼 느껴집니다. 기획 직군으로 합류한 신입들은 상상의 나래를 펼치고 원대한 게임을 만들 것이라 희망에 차 있지만, 현실은 데이터의 노예가 되고 애매한 업무를 담당하는 잡부가 되어버립니다. 열심히 게임을 분석한 나의 노력은 쓸모가 없고, 매출 순위권에 있는 가챠 게임의 역기획서만 써야 하는 업무에 크나큰 회의감이 몰려옵니다. 회사를 다니면, 이러한 현실에 실망을 하는 기획자를 수도 없이 보아왔고 상당수는 프로그래머나 다른 직군으로 포지션 변경을 하기도 합니다. 놀랍게도, 일반적인 생각과는 다르게 게임 업계에서 기획자는 기획을 하는 것이 아닙니다. 애당초 창의적인 기획을 하고 방향성을 정하는 것은, 오로지 PD(디렉터)에게만 주어진 절대적인 권력이기 때문입니다.

제가 생각하는 <기획자>란 결국 PD입니다. 큰 회사에서도 프로젝트는 10개 내외이고, 그렇다면 PD의 자리도 딱 그 정도밖에 없다는 얘기이니 굳이 신경 쓸 필요는 없어 보이긴 합니다. 그러나 게임 회사에서 무엇인가를 이루기 위해서는 반드시 PD가 되거나, 혹은 훌륭한 PD를 찾아서 그 팀에 들어가야 합니다. 왜냐하면 아무리 팀원들의 능력이 출중해도, 게임의 방향이 산으로 가고 있다면 그 프로젝트는 이미 가망이 없기 때문입니다. 그렇다면 PD가 되기 위해서는 무엇을 공부해야 하고, 어떠한 재능이 필요할까요? 실제 회사에서는 PD를 어떻게 뽑고, 또 무엇을 바라고 있을까요? 너무나도 원론적이고 필수적이고 당연한 고민거리지만, 이것에 대해 명확한 대답을 얻기는 쉽지 않습니다. 왜냐하면 이러한 고민들은 일반 작업자들이 아닌, 회사 임원들이나 경영진이 주로 하기 때문이죠.

PD는 프로젝트의 방향성을 정하기 때문에 사실상 프로젝트 성공 지분의 99%를 가지고 있습니다. 이렇게 0순위로 중요한 포지션이지만 정작 PD를 체계적으로 양성하려는 노력은 보기 힘들기도 하고, 애당초 완벽한 정답도 없습니다. 어떻게 해야 재밌고 잘 팔리는 게임을 만들 수 있을지 100% 확답을 하는 사람이 있다면, 아마도 그것은 사기일 확률이 높습니다. 그리고 당연하게도 저 또한 성공의 공식은 알지 못합니다. 하지만 최소한 이러한 불확실성 속에서도 PD가 갖춰야 할 필수적인 소양은 명확하다고 봅니다.

저는 운 좋게 훌륭한 회사에서 경험을 쌓으며 <배그>라는 초대박 게임이 탄생하는 과정을 간접적으로 목격할 수 있었고, 반대로 표류하는 프로젝트들의 문제점도 경험할 수 있었습니다. 각종 사내 정치 문제와 PD 혹은 개발팀의 능력 부족으로 산으로 가는 프로젝트도 많았습니다. 회사에서도 늘 이런 고민에 대한 해답을 얻기 위해 다양한 시도를 하며, 일부는 인큐베이터 제도를 도입해 도전적인 제안을 받기도 합니다. 하지만 회사 고위층을 만나 얘기해보면 공통적으로 하소연하는 부분은, 개발을 잘 이해하면서도 감각이 좋은 PD가 없다는 것입니다. 평소에 이러한 고민을 안 해본 사원들은 현실적인 여건을 고려하지 않은, 극단적으로 이상적인 게임을 제안합니다. (ex. 와우+원신+젤다를 합친 게임을 만들고 싶어요!) 본질적으로 게임은 웹툰, 웹소설과는 다르게 <아무거나> <상상력을 동원해> 기획을 하면 안 되고 현실적인 개발 범위 안에서 최고의 가성비와 일정을 고려하여 생각을 해야 합니다.

일요일에 Rookiss가 직접 진행하는 이 과정에서는 기본적으로 PD가 알아야 하는 개발 지식, 개발 프로세스, 일정 산출, 팀 구성과 개발비 측정 등을 체계적으로 배운 후, 실제로 게임 아이디어 구상부터 시작해 출시를 목표로 현실화하는 과정을 보여드릴 예정입니다. (그리고 라이브 강의에 참여하시면 훈수를 둘 수 있습니다 :D) 예산을 짜서 개발팀을 구성하기도 하고, 일부 아트는 외주를 주면서 진행을 하기도 하고, BM 설계와 출시후 지표 확인까지 이어지는 개발 사이클을 학습하며 자연스럽게 PD의 감각을 키우는 것을 목표로 합니다.

댓글