게임 개발 기술 동향은 어떻게 습득하는가?
게임 개발 관련 질문 – 저의 새 책인 <미사일 커맨더를 통해 배우는 유니티 C# 프로그래밍 연습>을 구입하신 독자 분 중에서 저에게 다음과 같은 질문을 하신 분이 계셨습니다.
“유니티 관련 최신 기술은 어떻게 습득하시나요?”
이와 관련하여 간단히 답신을 보내 드렸었는데, 생각해 보니 다른 분들과도 저의 방법을 공유하는 것이 괜찮을 듯하여 짧은 글을 하나 써 보기로 하였습니다.
공부만이 살길?
독일 베를린으로 온 이후, 지금까지 저의 모토는 (약간 웃기지만) “공부만이 살 길이다”라는 것이었습니다. 한국에서는 오랜 게임 개발 경험을 가지고 있었지만, 독일이라는 곳에서 낯선 사람들을 만나, 낯선 환경에서 함께 일을 하게 되면서 정말이지 공부를 하지 않고는 살아남을 자신이 없었습니다.
이 때문에 처음에는 기본기부터 다시 공부를 했고(C++ 이나 C# 과 같은 프로그래밍 언어 자체, 수학, 데이터 구조, 알고리즘, 디자인 패턴 등) 어느 정도 기본기에 자신이 붙게 되면서 최신 기술 동향을 파악하는데 시간을 투자하기로 하였습니다. (참고로 이 모든 공부를 영어로 해야 했습니다. 독일을 비롯, 대부분의 유럽 국가에서 게임 회사들의 공식 언어는 영어이기 때문입니다. 독일어가 아니어서 그나마 다행이었습니다.)
내가 최신 게임 기술 동향을 파악한 방법
중간 과정은 생략하고, 현재 제가 최신 게임 기술 동향을 공부하는 방법은 간단합니다. 저녁에 집에 오면 좀 쉰 다음에 컴퓨터나 TV(+ fireTV stick)를 이용하여 유튜브 앱을 엽니다.
유튜브에는 최근부터 과거에 이르기까지 중요한 유나이트(Unite) 강연이 거의 다 올라와 있습니다. 덴마크 코펜하겐에서 열렸던 유나이트 코펜하겐의 주요 세션도 현재 거의 다 올라 와 있을 정도니까요. 하루에 최소 1개 ~ 3개 정도의 강연을 듣고, 특히 질의 응답도 가능하면 다 듣습니다.
또한 가끔 유나이트 강연 듣기가 지겨우면 GDC 의 프로그래밍 세션(역시 유튜브에 공개되어 있는 것 위주로) 영상을 찾아 봅니다. 이런 식으로 몇 개의 강연을 보면 유튜브가 제가 관심 있어 할 만한 게임 기술 관련 영상들을 찾아서 제시하는데, 흥미 있는 주제가 있으면 그것도 봅니다.
현재 주목받는 기술과 방법론 파악
이렇게 유나이트나 GDC 강연 위주로 보다 보면 현재 어떤 기술이나 방법론이 가장 주목받고 있는지에 대해 알 수 있을 뿐 아니라 구체적인 구현 사례, 좀 더 전문적인 사용법에 대한 힌트를 얻을 수 있습니다.
예를 들어 최근 몇년 사이에 프로그래밍과 관련한 유나이트 강연에서 주로 등장했던 용어는 디펜던시 인젝션(Dependency Injection)과 ECS(Entity Component System)이었습니다.
ECS 의 경우는 이제 C# Job System과 Burst Compiler 와 하나로 묶여서 DOTS(Data Oriented Tech Stack)이라는 이름으로 소개되고 있지만, 여하튼 지난 3년간의 유나이트 강연을 쭉 들어 보시면 진짜 디펜던시 인젝션과 ECS 라는 용어가 정말 지겨울 정도로 (반복적으로) 이야기되고 있는 것을 알 수 있습니다.
특히 유나이트 세션이 끝나고 질의 응답하는 것을 들어 보시면, 질문자 중 상당수가, ‘강연 잘 들었다. 그런데 우리는 디펜던시 인젝션을 쓰고 있는데…’ 라는 말로 질문을 시작하는 경우가 무척 많습니다.
영어의 장벽을 돌파하자
한편, 이런 강연들을 통해 흐름을 알 수는 있지만, 이에 대한 구체적인 것은 따로 자료를 찾아서 공부해야 합니다. 이들 자료는 유니티 공식 페이지에 대부분 영어로 올라와 있습니다.
한국어 번역본은 영어 자료보다 한참 늦게 올라오거나 아예 번역 자체가 안되는 경우가 많기 때문에, 결국은 영어로 된 기술 문서를 얼마나 빠르고 정확하게 읽고 이해할 수 있느냐가 중요해집니다. 따라서 결국은 영어 실력이 관건입니다. 좀 더 구체적으로는 영어 듣기와 읽기, 이 두 가지 능력을 얼마나 향상시킬 수 있느냐가 관건이 되는 것입니다.
게임 기술 동향 파악을 위한 영어 듣기 연습법
그러면 영어 듣기는 어떻게 향상시킬 수 있을까요? 유나이트 강연이나 GDC 강연 등 게임 프로그래밍 관련 영상 및 듣기 자료들을 최대한 많이 듣는 수밖에 없는 듯합니다. 보통 아는 만큼 들린다고, 모르는 걸 아무리 들어도 영어 듣기가 늘지 않을 것 같지만(저도 처음에는 그렇게 생각했습니다), 사실 영어를 아무리 들어도 듣기가 잘 늘지 않는 이유 중 하나는 “듣는 양이 절대적으로 부족해서”입니다.
다시 말해서 “하루 30분씩 매일 꾸준히 들으면 늘겠지”가 아니라 “하루 3~5시간 이상은 매일 듣겠다”는 자세를 가져야 합니다. 그런데 그 5시간을 내 관심사와 관계 없는 자료를 듣는데 시간을 낭비할 수는 없습니다. 내 관심사에 해당하는 유나이트나 GDC 강연 같은 것을 골라서 3~5시간 들어야, 영어 공부도 하고 최신 기술 동향도 익힐 수 있습니다.
“내가 정말로 필요로 하는 내용을 영어로 들어라” <– 이것이 영어 듣기를 빠르게 향상시킬 수 있는 비결입니다.
한국어로 번역될 즈음이면 이미 최신 동향이 아니다
어째 기승전’영어’가 되어 버렸네요. 원래 그런 주제를 다루려고 시작한 글이 아니었던 것 같은데 말이죠. 어쨌건 최신 기술 동향을 빠르게 익히고자 하시면서 누군가가 한국어로 유튜브 영상을 번역해 주거나 한글로 된 책이 나올 때까지 기다리신다면, 이미 그렇게 번역된 자료는 최신이 아닐 가능성이 높습니다. 영어로된 기술 동향 자료를 접하는데 좀 더 시간을 할애하시는 것이 중요한 이유가 바로 이것입니다. ^^
p.s 최신 기술 동향보다는 현재 지배적인 트랜드를 알고 싶으시다면 링크드인(LinkedIn) 등의 사이트에 가셔서 유니티 프로그래머 구인 광고들을 쭉 보시기 바랍니다. 많은 회사의 구인 광고에서 공통적으로 요구하는 기술이 현재의 트랜드라고 보시면 됩니다.
더 공부할 자료 - 개발 능력 다양화를 위한 학습의 필요성
유니티 엔진의 대안으로서, 인디 개발자들에게 선풍적인 인기를 끌고 있는 엔진이 바로 고도 엔진입니다. 혹시 고도 엔진을 배워 보려고 하신다면, 다음의 온라인 강의를 체크해 보시기 바랍니다.