유니티 엔진이라는 이름을 처음 본 순간
유니티 엔진이라는 이름을 처음으로 본 순간을 저는 아직도 생생하게 기억하고 있습니다. 날짜까지는 기억하지 못하지만 그 때는 2008년이었고 미국에서 열렸던 GDC(게임 개발자 컨퍼런스)에 참가했다가 돌아오던 비행기 안에서였습니다.
당시에 게임 개발자 컨퍼런스에 가면 현장에서 많은 게임 관련 잡지들을 무료로 받을 수가 있었습니다. 그 잡지 중의 하나가 지금은 절판된 게임 디벨로퍼 (Game Developer)라는 잡지였습니다.
게임 디벨로퍼 잡지에 소개된 유니티 엔진
저는 그 때 게임 개발과 관련된 다양한 기술, 디자인, 개발 트랜드 등이 실려 있던 이 잡지를 하나 들고 왔었는데, 한국으로 돌아오는 비행기 안에서 펼쳐 보다가 유니티 엔진 이라는 처음 보는 소프트웨어에 대한 기사를 발견했습니다.
그 때 저는 후배와 함께 2인 인디 게임 개발사를 차려서 일하고 있었는데, 저는 게임 기획자였고 제 후배는 그래픽 아티스트였기 때문에 프로그래머가 없었습니다.
첫 게임은 아는 프로그래머의 도움을 받아서 어렵게 출시할 수가 있었지만, 이후에는 더 이상 도움을 받을 수가 없어서 독학으로라도 프로그래밍을 공부해야 할 상황이었습니다. (이와 관련한 상세한 배움의 과정이 다음 글에 실려 있습니다. – 마흔 살 기획자 프로그래머 되다 )
초기 유니티는 맥 (Mac) 전용이었다
그러던 중에 유니티 엔진이라는 이름의 소프트웨어에 대한 기사를 읽어 보니 저와 같은 상황에 처한 사람이 배워서 사용하면 많은 도움이 될 것 같았습니다. 하지만 문제가 하나 있었습니다. 당시 유니티는 비교적 초기 버전이었고 맥(Mac) 전용으로 만들어져 있었습니다.
지금에야 맥북이나 기타 맥 계열의 컴퓨터를 사용하는 사람들이 많지만 그 당시에는 맥을 사용하는 사람은 주변에서 찾아 보기 어려웠습니다. 저도 만져 본 적이 없었으니까요. 이 때문에 기사에서 아무리 유니티 엔진의 장점을 이야기해도 저에게는 그저 그림의 떡에 지나지 않는 기분이었습니다.
이것이 저와 유니티 엔진과의 첫번 째 만남이었습니다. 실제로 보지는 못했고 게임 디벨로퍼 잡지 기사를 통해 이름과 특징 정도에 대해서만 알게 되었던 순간이었습니다.
게임 개발자 컨퍼런스에서 다시 만난 유니티
제가 유니티 엔진을 직접 보고 다루어 본 것은 그 다음 해인 2009년이었습니다. 운이 좋아서 저는 2009년의 게임 개발자 컨퍼런스 (GDC 2009) 에 다시 참가할 수 있었습니다.
당시 GDC 현장에는 그리 크지 않은 전시장이 있었는데, 지스타나 게임스컴, E3와 달리 게임 개발자들을 대상으로 하는 전시였기 때문에 다양한 개발용 소프트웨어나 하드웨어가 주로 출품되었습니다.
유니티 엔진을 본 것은 그 전시장의 한 부스였습니다. 1년 전 잡지에서 봤던 바로 그 소프트웨어가 설치된 컴퓨터와 모니터가 있었고 유니티의 직원이 나와서 엔진의 장점을 소개하고 있었던 것입니다. 너무나도 반갑고 신기해서 엔진을 살펴 보다가, 이 엔진은 아직도 맥에서만 돌아가냐고 물어 보았습니다.
MS 윈도우에서 유니티 엔진을 직접 다루어 보다
그 때 정말로 반가운 대답이 들려왔습니다. 윈도우용 버전이 나왔으니 이제 윈도우에서도 유니티 엔진을 설치해서 사용할 수 있다는 것이었습니다. 너무나 기쁜 나머지 저는 한국으로 돌아오자마자 유니티를 받아서 설치해 보았습니다. (당시 유니티는 지금처럼 무료가 아니었고 유니티를 경험하기 위해서는 데모 버전 정도만 설치해서 사용해 볼 수 있었던 것으로 기억합니다. 하지만 이 기억이 정확한지는 모르겠습니다.)
여하튼 유니티를 처음 설치해서 튜토리얼을 보고 따라해 본 기억이 납니다. 당시에는 이런 본격적인 게임 개발용 소프트웨어를 다루어 본 적이 없었기 때문에 튜토리얼을 보고 따라하는 것 자체도 무척이나 힘들었습니다. 게임 기획은 많이 했지만 프로그래머 역할을 해 본 적은 없었기 때문입니다.
어렵게 튜토리얼 하나를 따라해 보기는 했지만, 처음 접한 유니티 엔진은 저에게 매우 어렵게 느껴졌고 더 이상 배워서 무엇인가를 만들어 보아야겠다는 생각은 더 이상 들지 않았습니다. 그리고 얼마 지나지 않아서 언인스톨을 하고 말았습니다.
그런데 PC에 설치되었던 유니티 데모 버전을 지웠던 그 순간에는 전혀 상상하지 못했습니다. 제가 나중에 유니티를 다시 배워서 책도 쓰고 강의도 하고, 독일과 영국의 게임 회사에 가서 유니티로 게임을 개발하게 것이라는 사실을. 그저 잠시 스쳐가는 인연 정도라고만 여겼던 것 같습니다.
플래시 액션 스크립트와 코로나 SDK
유니티를 잠시 만져 봤다가 포기한 뒤, 저는 프로그래밍을 본격적으로 배우고 연습해야 하겠다는 생각이 들어서 당시에 급격한 인기를 얻기 시작했던 플래시 액션 스크립트 3.0을 공부했습니다.
플래시를 통해 게임 프로그래밍을 좀 더 쉽게 이해하게 된 저는 이를 이용해서 상업용 게임도 만들어 보았고, 나중에 다시 1인 개발로 독립한 뒤에는 스마트폰용 게임과 앱을 만들기 위해 코로나 SDK 와 루아 (LUA) 를 배웠습니다. 그리고 간단하지만 많은 앱과 미니 게임들을 만들었습니다.
그러던 중, 플래시 액션 스크립트의 전망이 더 이상 밝지 않다는 것을 느꼈고 (스티브 잡스가 아이폰에서 플래시를 완전 제거하겠다고 공언을 했죠) 유니티 게임 엔진을 사용해야겠다는 생각을 다시 하게 되었습니다.
다시 배우기 시작한 유니티
유니티를 다시 설치해서 공부하기 시작하자 이번에는 무엇인가 달라진 것을 느낄 수 있었습니다. 약 2년 정도의 기간 동안에 유니티 엔진 자체도 발전을 했지만, 저 역시 플래시 액션 스크립트 및 루아 프로그래밍을 통해 실제로 많은 실전 연습을 거쳤기 때문에 유니티를 배우는 과정이 훨씬 쉬웠습니다.
어떤 하나의 프로그래밍 언어라도 익숙해지게 되면 다른 언어를 배우는 것도 어렵지는 않다는 사실을 깨달았지만, 그래도 유니티 엔진은 기존에 제가 사용하던 툴이나 소프트웨어와는 다른 점이 많았기 때문에 배우기 위해 많은 연습이 필요했습니다. (이 배움의 과정에 대해서도 앞에서 소개한 ‘마흔 살 기획자 프로그래머 되다’ 라는 글에서 상세하게 설명하고 있으니 읽어 보시기 바랍니다.)
유니티, C# 이냐 자바 스크립트냐
지금은 유니티가 공식 스크립트 언어로 C# 만을 지원하지만, 제가 유니티를 처음 배우던 시절에는 유니티가 지원하는 언어가 3가지나 되었습니다. 자바스크립트, C#, 그리고 Boo 라고 하는 언어가 그것이었습니다.
일단 Boo는 제쳐 두었고, 중요한 선택은 자바스크립트로 유니티를 배우느냐 C#으로 배우느냐 하는 것이었습니다. 당시 자바스크립트가 더 쉽다는 이유로 초보자들 대상의 교재들은 C#이 아니라 자바스크립트를 이용해서 설명하는 경우가 많았습니다.
하지만 저에게는 앞으로 C#이 더 유용할 것이라는 어떤 느낌이 있었고 자바스크립트가 아닌 C#을 선택해서 유니티를 공부하고 게임을 만들었습니다. 이후 유니티가 자바스크립트 지원을 중단하고 C#을 단일 언어로 채택하게 되자 저의 판단은 옳았던 것으로 판명되었습니다.
C#을 선택한 것은 완전히 운이 좋았던 것이지만, 여하튼 그 덕분에 저는 유니티로 계속 게임을 개발하고 기술을 발전시켜 나갈 수 있었습니다.
유니티 엔진으로 인생이 바뀌기 시작하다
유니티를 다루는 것에 익숙해지면서 이런 저런 게임들을 1인 개발로 만들어 보았는데, 아무래도 이를 통해 생활을 유지하는 것은 불가능했습니다. 이 때문에 고민하던 중, 어느날 고심 끝에 하나의 아이디어를 떠 올렸습니다.
“게임 기획자들을 대상으로 유니티를 강의하면 어떨까?”
제가 당시 프로그래머들을 대상으로 강의할 실력은 안된다고 판단했던 것도 이유였지만 무엇보다 제가 게임 기획자 출신이었기 때문에 기획자들이 유니티를 배울 때는 어떤 식으로 코칭을 하면 좋을 지 잘 알고 있었습니다. 이에 시험삼아 ‘게임 기획자를 위한 유니티 코칭 프로그램’이라는 유료 강의를 개설했는데 놀랍게도 10명이라는 인원이 금방 모였습니다.
이렇게 시작한 유니티 강의가 계속 인기를 얻게 되었고, 나중에는 기업에서도 저를 초청해서 직원들에게 유니티를 강의해달라고 요청하였습니다. 그리고 이 과정에서 많은 좋은 분들을 만났는데, 저의 수업에 와서 유니티 강의를 들었던 분이 1인 개발자로 출시한 게임이 엄청난 히트작이 된 적도 있었습니다. (그 분은 그 게임의 성공을 바탕으로 자신의 게임 개발사를 설립하여 현재까지 수 많은 히트작들을 내면서 회사를 건실하게 키워 나가고 있습니다.)
그 외에 유니티 엔진을 이용한 게임 개발 방법을 다루는 온라인 강의나 1인 출판 전자책들을 만들 수 있었고 생활을 유지하면서 하고 싶은 일을 할 수가 있었습니다. 유니티를 다른 사람들보다 비교적 빨리 공부한 것이 저에게는 큰 행운으로 다가왔던 것입니다.
유니티 엔진 덕분에 대학 교수가 되다
이렇게 유니티로 개발 및 강의를 하면서 지내던 중, 경기도 이천시에 있는 한 대학으로부터 게임 학과 초빙 교수직 제안을 받게 되었습니다. 게임 기획 파트의 교수직이었는데, 게임 기획자 출신으로 유니티 및 유니티 C# 프로그래밍도 커버할 수 있다는 점이 학교 관계자 분들의 마음에 들었던 것 같습니다.
그 덕분에 저는 전에는 상상도 못했던 좋은 경험을 할 수 있게 되었습니다. 2년 정도의 짧은 기간이었지만, 대학에서 게임을 전공하는 학생들과 시간을 보내면서 많은 것을 나누고 배울 수 있었습니다. 유니티 엔진이 저에게 또 하나의 선물을 준 것 같았습니다.
독일 베를린으로 가다
비록 정교수는 아니었지만 대학에서 교수 생활을 한 것은 저에게 또 다른 기회의 문을 열어 주었습니다. 대학의 여름 방학, 겨울 방학은 꽤 긴데, 초빙 교수라고 해도 방학 동안 급여가 계속 나왔기 때문에 마음에 여유가 생겼습니다. 그래서 어느 겨울 방학 기간에 가족과 함께 첫 유럽 여행을 다녀 왔는데, 독일 베를린에 들렀다가 ‘여기 와서 살아야겠다’는 생각을 하게 되었습니다.
그리고 다음 해, 저는 학교에 사표를 냈고 반년 정도 준비하다가 무작정 독일로 가족과 함께 떠났습니다. 독일 게임 회사에 취업한 것도 아니고, 비자가 있었던 것도 아니었는데 무슨 배짱으로 가족들을 다 데리고 독일로 갔는지 지금도 저 자신을 이해할 수가 없습니다.
여하튼 일단 독일에 왔으니 정착을 해야 하는데, 취업 밖에는 답이 없었습니다. 비자를 받아야 정착이 가능하니까요. 하지만 저의 형편 없는 영어 실력으로 인터뷰를 통과하기란 거의 불가능했습니다. 대답은 고사하고 질문 자체를 이해 못하는 경우도 많았기 때문입니다.
독일 게임 회사에 취업하다
하지만 이 때 저를 구해준 것 역시 유니티였습니다. 당시 베를린의 게임 회사들 대부분은 유니티 엔진을 다룰 줄 아는 프로그래머들을 많이 찾고 있었는데, 그나마 제가 유니티를 할 줄 안다는 점 때문에 영어가 부족함에도 불구하고 일자리를 구할 수 있었던 것입니다. (이 과정에서 겪은 수 많은 우여곡절에 대해서는 다음 기회에 제대로 글을 쓰고 싶습니다.)
제가 취업한 독일 게임 회사는 소규모의 스타트업이었는데, VR 게임을 개발하는 회사였습니다. 입사 직후에 기존의 유니티 코드를 급히 수정하고, 추가 기능을 넣어 빌드해야 하는 상황이 발생했는데, 그 코드를 작성한 프로그래머는 아직 회사에 합류하기 전이라 회사 경영진은 저에게 그 일을 부탁했습니다.
처음 보는 코드였지만 그래도 유니티에 익숙한 저는 바로 그들이 원하는대로 기능을 추가해 주었고, 그 때 아주 좋은 인상을 남겼던 것 같습니다. 당시에는 6개월 수습 기간의 초기였는데, 그 일이 있고 나서 회사에서는 수습기간을 3개월로 줄이고 바로 시니어 게임 프로그래머 직급으로 계약하자는 제안을 했습니다. 유니티 엔진 덕분에 처음 취업한 독일 게임 회사에서 빠르게 인정을 받을 수 있었고 그것을 계기로 유럽 생활에 정착할 수 있었던 것입니다.
마치는 글
현재 저는 독일에서의 5년간의 생활을 끝내고 영국으로 와서 게임 개발을 계속 하고 있습니다. 이 모든 과정이 돌이켜 보면 2008년 비행기에서 유니티 엔진에 대한 기사를 처음으로 읽었던 순간으로부터 시작된 것 같기도 합니다.
물론 유니티 외에도 많은 요소들이 작용해서 현재의 제 모습을 만들었겠지만, 그래도 유니티 엔진과의 만남이 없었더라면 해외 생활이라는 것은 상상도 할 수 없었을 것 같습니다. 따라서 이 신기하고 고마운 인연에 대한 기억을 남겨 보고자 여기에 이 글을 적어 보았습니다.
또한, 혹시라도 이 글을 읽으시는 분들 중에 지금 유니티 혹은 언리얼, 기타 게임 엔진 및 프로그래밍 관련 공부를 하시는 분이 계시다면 제가 격려 드리고 싶습니다. 공부하는 과정은 지루하고 힘들 수 있지만, 지금 여러분이 하시는 공부가 훗날 여러분에게 지금은 상상도 못할 새로운 가능성을 열어 줄 수 있을 것이라 생각합니다. 어떤 미래가 나에게 펼쳐질까를 기대하면서 기왕이면 조금이라도 더 즐거운 마음으로 공부하시면 좋을 듯합니다. 🙂
더 공부할 자료 - 개발 능력 다양화를 위한 학습의 필요성
유니티 엔진의 대안으로서, 인디 개발자들에게 선풍적인 인기를 끌고 있는 엔진이 바로 고도 엔진입니다. 혹시 고도 엔진을 배워 보려고 하신다면, 다음의 온라인 강의를 체크해 보시기 바랍니다.