[조경정보학과 실무] 게임을 만드는 엔진은 몇 기통인가요?

VR 그리고 조경 - 5편
라펜트l김익환, 노승민l기사입력2017-12-29
편집자주 : 제4차 산업혁명시대에 국가과학기술분류체계상 조경정보학 (LB1106, Landscape information science, 전산기술을 이용하여 조경계획, 설계, 시공 등의 과정을 더욱 용이하게 하는 기술)이라는 학술적 기반에도 불구하고, 실질적 학술연구 및 활용이 이어지지 않고 있습니다. 이에 라펜트에서는 "조경정보학과 실무"라는 기획연재를 통해 지속적인 학술연구 및 활용이 이어질 수 있도록 기여하고자 합니다. 많은 관심부탁드립니다. 
[ VR 그리고 조경 - 5편 ]
게임을 만드는 엔진은 몇 기통인가요?




_김익환 한국과학기술원 문화기술대학원 연구원
노승민 서울대 환경대학원 환경조경학과 석사과정 



게임, game. 게임은 더 이상 우리에게 낯설거나 혹은 생경한 단어가 아닙니다. 게임이 일탈과 비행의 대명사와 같이 쓰이던 시절도 있었고, 유치한 장난감을 뜻하던 시절도 있었지요. 하지만 이제 게임은 하나의 대중문화로 사회의 한 부분을 차지하고 있습니다. 단순히 문화적, 사회적으로 그럴 뿐만 아니라 그 시장 역시 우리나라 경제의 매우 큰 부분을 차지하고 있습니다. 현재 대한민국의 가장 큰 수입 흑자를 담당하는 것은 자동차도, 휴대폰 혹은 반도체도 아닌 게임입니다. 하지만 이러한 현상에 대해 부정적으로 받아들이시는 분들이 분명히 계십니다. 사람이란 무릇 자연과 신록에 둘러싸여 건강하게 생활해야하거늘, 어찌 모니터와 휴대폰만 쳐다보면서 그러한 조악한 매체의 경험에 급급하는지, 이러한 생각과 함께 작금의 현실에 분노하시는 조경 관련자분들 역시 많이 찾아뵐 수 있었습니다.

하지만 조경 역시 그 기원이 대리 만족에서 시작하였습니다. 노동자들의 주말 여가와 그 복지를 위해, 자연을 복제한 공간을 조성하던 것이 근대 조경의 시발점이 되었지요. 지금 VR과 게임에 열광하는 사람들의 심리 역시 그 당시와 크게 다르지 않다고 감히 생각됩니다. 보다 비일상적인, 그리고 누구나 꿈꾸는 낙원의 모습을 투영하기 쉬운 매체의 등장에 많은 사람들의 관심과 이목이 집중되는 것이겠지요. 게임을 통해서 이제 누구나 보다 쉽게 우주를 여행하고 황무지와 극지방에서 예전에 쉬이 경험하지 못하던 것들을 누릴 수 있게 되었습니다. 이렇듯 게임과 그 속의 가상공간은 여태 상상 속에만 존재하고 표면적으로 전달되던 공간을 직접 구현하고 그 안에서 실제 행위를 취할 수 있게 하였습니다. 아직은 기술의 한계에 인해 실제 공간을 거니는 듯 생생한 몰입감을 제공하지는 못하고 있지만, 이러한 한계는 앞서 언급되었던 무어의 법칙에 따라 우리의 상상 이상으로 빠르게 극복될 것임이 분명합니다. 지금 당장만하더라도 상용화는 되지 않았지만 보다 정교하고 다양한 VR 기술들이 연구실에서 개발을 진행하고 있으며, 이들은 길지 않은 시간 안에 보급이 될 것입니다.

그리고 지금 이 순간에도 수많은 게임들이 개발되고 있으며, 그 게임 안의 공간 역시 끊임없이 만들어지고 있습니다. 그럼 이러한 게임 속의 공간들은 누가, 무엇으로 만들고 있을까요? 지금 게임과 그 속의 가상공간들이 어떻게, 누가 만들고 있는지에 대해 파악한다면 향후 조경의 영역에서 어떻게 접근할 수 있는지에 대한 실마리를 잡을 수 있을 것입니다. 

우선 게임이라는 매체를 제작하는데에는 일반적으로 크게 세 분류의 인력들의 투입을 요구로 하고 있습니다. 아무리 작은 회사에 가더라도, 게임을 전문적으로 제작하는 업체는 그 팀을 셋으로 나누어 작업함을 알 수 있지요. 기획과 디자인, 그리고 프로그래밍입니다. 조경의 영역에서 익숙한 용어를 빌자면, 기획은 설계에 가깝고 디자인과 프로그래밍은 시공과 같을 것입니다. 그 중에서도 프로그래밍은 토목공사에 더 가까우며, 디자인은 일반적인 시공이라 할 수 있습니다. 

기획팀에서는 개발하고자 하는 게임과 그 공간에 대한 구조를 짜고 서술을 만들며, 문자 그대로 그 기획을 진행하게 됩니다. 그리고 보통 이 기획팀에 소속된 인원들은 다양한 영역에서의 전문성을 지니고 있습니다. 인문학, 인류학, 영화 및 영상학, 경영학 등등 사람들의 흥미를 구조화하고 매체를 설계하는 직종인만큼 다양한 경력을 지닌 인원들이 종사하기 마련이며, 게임을 취급하는 대기업에서 기획쪽 인원에 대한 공채를 진행할 때 보통 출신 학과에 제한을 두지 않습니다. 보통 고등학교 시절 ‘문과’에 속하는 인원들이 해당 영역에서 활동을 하며, 해당 인원들은 게임과 그 안의 경제구조, 공간 등을 기획하는 단계에서 보통 글과 참고 이미지 등을 활용합니다. 두꺼운 설정 문서와 구글링한 엄청난 양의 이미지 등을 디자인 팀에 넘기는 것이지요.

디자인 팀은, 보통 해당 게임 회사에서 가장 많은 인원들로 구성되어 있으며 세부 하위팀들로 다시 한없이 나뉘게 됩니다. 캐릭터팀, 배경팀, 컨셉 아트팀, 이펙트팀, 음향팀, 음악팀, 동영상팀 등등 개발되는 게임의 규모에 따라서 다양한 디자인 팀 혹은 아트팀이 구성되며, 해당 인원들은 대부분 그래픽아트 혹은 일러스트레이션 등을 전공한 인원들로 이루어집니다. 여기에서 맹점이 있습니다. 보통 게임 내 공간은 배경팀 혹은 레벨팀이라고 명기되는 팀에서 작업을 진행하게 되는데, 해당 팀 역시 평면 디자인을 전문적으로 훈련받은 인원들이 대부분이라는 것이지요. 가상공간 혹은 VR 공간은 3차원 공간으로써 공간학적인 해석과 그 이해가 바탕이 된 설계 및 구현이 진행되어야 하지만 아직까지 건축 혹은 조경과 같이 실공간 설계에 대한 훈련을 받은 인원들의 적극적인 참여가 이루어지고 있지 않고 있습니다. 이러한 탓에 현재 게임 속의 공간은 평면적이거나 혹은 오브제 중심의 파편적이라는 한계를 안고 있습니다. 공간에 대한 이해를 지닌 인원들이 작업을 진행한다면 훨씬 세련되고 자연스러운 방법으로 사용자의 행위를 유도하고 경험을 구현할 수 있을텐데, 이러한 점에서 항상 안타까움을 느낍니다. 그리고 이러한 부분과 그 한계에 대해서는 누구보다도 게임 업계에서 잘 체감하고 있습니다. 실제 관련 업계 인원들과 인터뷰를 하고 자료를 조사하고 있노라면, 실공간 설계에 능한 인원들을 항상 원하고 있다는 말을 반복적으로 들을 수 있습니다. 

프로그램팀, 코딩팀은 개발하는 게임의 구동이 가능하게끔 하는 구조를 구현하는 인원들입니다. 보통 컴퓨터 공학 등을 전공한 인원들이 배치되며, 게임의 코드를 짜고 이를 구동하는 역할을 맡게 되지요. 이는 게임 개발을 진행하는 업체의 규모에 따라 천차만별입니다. 엔진까지 아예 새로 만들어버리는 대형 회사가 있는가 하면, 단순 이펙트 등만 간단한 코딩으로 구현하는 회사도 있습니다. 조경이나 실공간 설계와 직접적인 연관이 있지는 않습니다만 충분한 깊이로 들어가게 되면 결국 만나게 되는 영역입니다. 

이렇듯, 보통 일반적으로 게임 업계에서는 디자인팀(혹은 아트팀), 그 속에서도 배경팀에 속하는 인원들이 공간을 만들고 있습니다. 그리고 앞서 언급하였듯이, 이러한 인원들은 공간에 대한 충분한 훈련과 숙지가 이루어지지 않은 상태에서 작업을 진행하다보니 많은 한계가 관찰됩니다. 그런 만큼 향후 조경에서 게임과 VR로 그 영역을 넓히게 된다면 이와 같은 부분에 있어 직접적인 활동이 가능할 것으로 쉽게 예상할 수 있습니다.

아트팀은 그럼 무엇을 활용하여 게임 속의 공간을 만들고 있을까요? 이는 크게 두 가지로 나뉘게 됩니다. 하나는 모델링 프로그램, 다른 하나는 게임 엔진입니다. 실제 공간에서의 조경 설계라면 산에 있는 돌을 뽑아서 공원에 배치하고 수목원의 나무를 이식하여 공원에 배치할 수 있을 것입니다. 하지만 가상공간, 게임 공간에서는 그 모든 오브제 하나하나가 기존에 있지 않은 것들이기에 하나하나의 조형작업을 요구하게 됩니다. 길거리에 굴러다니는 돌멩이 하나까지 모두 누군가 손으로 빚어야 한다는 말이지요. 물론 이를 좀 더 자동으로 편하게 작업할 수 있게끔 도와주는 에셋 리스트라던가 에셋 마켓 등이 있지만, 여전히 누군가는 직접 조형을 해야 합니다. 이렇게 가상공간의 구현은 오브제를 빚고 다듬어서 만드는 과정, 그리고 그렇게 생성된 오브제를 배치하는 과정으로 나뉘게 됩니다. 전자의 경우에는 모델링 프로그램을 활용하게 되는데, 3D-MAX, MAYA, ZBrush 등 다양한 상용 프로그램을 사용하게 됩니다. 이러한 프로그램들은 돌과 나무처럼 단순한 형태를 빚어 만드는 것은 물론, 관절과 움직임 등을 부여하여 움직이는 캐릭터와 간단한 애니메이션 등을 만들 수도 있습니다. 


[그림 1. Z brush modeling, http://www.zbrushcentral.com]


[그림 2. MAYA Tutorial, www.animationmentor.com]

이렇게 모델링을 거쳐서 색이 있는 텍스쳐를 입히고 각종 이펙트를 설정해주어 게임 공간에 배치될 수 있게끔 준비를 마친 디자인 소스를 에셋asset이라고 합니다. 그리고 이제 게임 엔진이 등장하게 되지요.

게임 엔진이라는 단어는 게임에 관심이 없으신 분들도 종종 들어보신 적이 있을 것입니다. 그리고 엔진이라니, 자동차 엔진 같은 것인가? 하는 궁금증을 가질 수도 있으실 것입니다. 게임 엔진이라 함은, 컴퓨터 및 디지털 게임을 제작하는데 필요로 하는 각종 소스 코드들의 모음을 뜻합니다. 즉, 그림을 그리는데 포토샵이나 일러스트레이터가 필요로 하고, 문서 작업을 함에 있어서는 워드 혹은 한글 프로그램이 요구되듯이, 게임 엔진은 게임을 제작하기 위하여 개발된 개발 도구입니다. 모델링 프로그램이 무언가를 ‘만든다’면, 엔진은 이렇게 만들어진 것을 ‘배치’하고 ‘편집’을 하여 게임과 그 공간을 구현하는데 활용됩니다. 

그리고 게임 엔진은 다양한, 그리고 복잡한 코드들의 집합입니다. 이러한 탓에 지금과 같이 게임 엔진이 통일되지 않았던 수년 전만 하더라도 각각의 게임들은 해당 게임을 만들기 위한 고유의 게임 엔진 제작이 먼저 요구되었습니다. 그리고 정형화된 하나의 엔진이 있다기보다는, 프로그래머들이 필요에 따라서 다양한 엔진들을 섞어 쓰기도 하고, 필요한 부분만 추려서 쓰기도 했습니다. 이러한 탓에 제작하고자 하는 게임마다 개발 환경이 판이하기도 했으며, 디자이너와 개발자 모두 골머리를 썩였지요. 그러다가 상용 판매가 가능한 전문적인 게임 엔진이 등장하게 되었고, 지금은 대부분 해당 상용 엔진들을 활용하여 게임과 그 공간을 만들고 있습니다. 물론 일정 이상 규모의 회사라면 기본적인 엔진 외에도 추가적인 엔진을 만들어 통합하기도 하고, 아예 자체적으로 엔진을 만들어서 활용하기도 합니다. 현재 대표적으로 쓰이는 엔진은 크게 세가지가 있습니다. 

우선 가장 많이 활용되는 엔진으로는 언리얼 엔진(Unreal Engine)이 있습니다. 1998년에 개발되어 지금까지 꾸준히 발전되고 있는 해당 엔진은, 현존하는 상용화된 엔진 중에서는 가장 화려한 그래픽 성능을 연출합니다. 시간 축의 흐름을 가장 자연스럽게 표현하기도 하며, 가장 정교한 엔진이기도 합니다. 이 탓에 각종 실내공간이나 점적인 공간 등에 있어서 치밀한 연출이 필요할 때 주로 활용이 되고 있습니다. 커버할 수 있는 플랫폼 역시 다양하다는 장점이 있습니다. 모바일부터 컴퓨터, 콘솔, HMD 헤드셋까지 모두 호환이 가능한 개발을 진행할 수 있습니다. 그리고 무엇보다도 가장 큰 장점 중 하나는 코딩을 진행함에 있어서 복잡한 프로그램 용어와 그 구조를 모르더라도 블루프린트 라는 기능으로 간단하게 구현이 가능합니다. 예를들어 자동문이 있어서 캐릭터가 가까이 접근을 하면 문이 자동으로 열린다, 라는 것을 구현하기 위해서 예전에는 장문의 코드를 작성했어야만 했습니다. 그리고 그러한 코드를 쓴다는 것은 훈련된 프로그래머만이 할 수 있는 일이었지요. 하지만 언리얼 엔진은 굉장히 직관적이고 쉬운 UI를 기반으로 한 블루프린트 기능을 제공하여 코딩의 문턱을 크게 낮추었습니다. 


[그림 3. 언리얼 엔진 4, www.unrealengine.com]


[그림 4. 언리얼 엔진 4의 Blue print 기능, www.unrealengine.com]

본디 언리얼 엔진은 굉장히 비싼 금액의 유료 프로그램이었습니다만, 이제 라이센스 제도로 바뀌어 누구나 부담없이 정품을 다운받아 사용이 가능합니다. 학생 및 아마추어가 제작을 하는데에는 무료이며, 업계가 해당 엔진을 활용하여 상품을 제작할 경우에는 수익을 일정 비율을 사용료로 지급하는 형식이 된 것입니다. 또한 언리얼 엔진에는 다른 엔진들과는 달리, 앞서 언급된 에셋들을 사용자가 제작하여 직접 판매를 하는 에셋 스토어가 엔진에 포함되어 있습니다. 이러한 에셋들은 보통 그 질이 매우 뛰어난 관계로, 에셋을 하나하나 만들기에 부담스러운 소규모 업계 혹은 개인 제작자들에게는 큰 도움을 제공합니다. 이러한 이유들로, 현재 게임을 만들어보고자 하는 많은 학생들과 교육기관에서는 해당 엔진을 가장 적극적으로 활용하고 있습니다.

두 번째로는 2002년에 개발된 크라이Cry 엔진입니다. 크라이 엔진은 독일에서 처음 개발이 되었는데요, 무엇보다도 자연경관과 사실적인 묘사를 연출하는데 특히 집중되어 개발된 엔진입니다. 해당 엔진은 앞서 언급된 언리얼 엔진보다는 확실히 치밀함이 덜하고 정교하지 못한 감이 있습니다만 전체적인 공간의 느낌과 통일성을 전달하는데에는 언리얼 엔진보다 낫다는 평을 종종 듣고는 합니다. 


[그림 5. 크라이 엔진을 활용한 공간의 예, www.indiedb.com]

사실 최근까지만 하더라도 게임 엔진은 크라이 엔진과 언리얼 엔진의 양립적인 대결 양상을 띄고 있었습니다. 실내공간 및 인공공간을 만들 때에는 언리얼이 더 낫고, 야외공간 혹은 야생의 공간 등을 구현할 때는 크라이 엔진이 더 효율적이라는 평을 듣고는 하였지요. 하지만 이제 그래픽적인 성능도 그렇고 여러면에서 크라이 엔진은 상당히 낙후된 모습을 보이고 있습니다. 뒤늦게 언리얼 엔진과 같은 에셋 스토어를 자체적으로 만들었으나 확실히 질적이거나 양적인 면에서 비교가 되고 있으며, 전반적인 UI 역시 상대적으로 부족한 점이 종종 엿보임을 알 수 있습니다. 그리고 무엇보다도 크라이 엔진은 현재 도산, 매각처리되어 그 서비스가 불안정합니다. 본디 독일에 본사가 있는 개발 회사였으나, 인터넷 유통업체인 아마존으로 매각되었습니다. 아마존에서 해당 엔진을 보다 발전시켜 서비스할 것으로 기대되나, 아마 다른 이름으로 새로이 발표될 것으로 예상됩니다. 

마지막으로 2005년에 개발된 유니티Unity 엔진입니다. 언리얼과 크라이와는 다르게 유니티는 마치 리눅스 운영체계처럼 오픈 소스를 기반으로 두고 있습니다. 즉 사용자가 마음대로 코드를 편집할 수 있음을 의미합니다. 이러한 면은 장점이자 동시에 단점으로 작용합니다. 사용자가 편의에 따라 개조가 가능하고 그 개조된 버전이 또 유포되는 등의 모습에서 탄력적인 활용을 꾀할 수 있지만, 동시에 그만큼 정교하게 구현된 언리얼과 크라이와 같은 기성품의 성능을 제공하지는 못합니다. 그리고 UI 역시 앞서 언급된 두 엔진에 비하면 매우 난해하고 상대적으로 어렵습니다. 실제로 게임을 제작하는 인원들의 말을 빌면 가장 다루기가 어렵고 하지만 다룰 것이 많은 것이 유니티 엔진입니다. 이러한 탓에 유니티는 보통 모바일 게임과 같이 상대적으로 덜 정교하고 가볍게 만들어야 하는 게임과 그 공간을 제작하는데 많이 활용됩니다. 물론 유니티 엔진을 활용하여 정교한 공간과 게임을 만들려면 만들 수야 있겠지만, 그럴거면 애초에 언리얼을 쓰면 되지 않느냐는 것이지요.     

개인적으로 조경을 공부하는 학생들이 시험삼아서 게임 공간을 만들어보고 싶다면, 저는 언리얼 엔진으로 시작을 하라고 말씀드리고 싶습니다. 해당 엔진은 공부를 하여 익히기도 다른 엔진들에 비하여 쉬우며, 관련된 교재 및 자료 역시 풍부합니다. 유튜브 등을 살펴보아도 간단한 공간은 쉽게 만들 수 있을 정도지요. 실제로 엔진을 활용하여 공간을 만들어보시면 그 매력이 대단함을 아실 수 있을 것입니다. 레오나르도 디카프리오가 주연을 한 영화, 인셉션을 보시면 꿈을 설계하는 사람은 실제 공간에서의 설계를 더 이상 하지 못해. 라는 대사가 나오지요. 건강한 비유는 아닐지 모르겠습니다만, 그만큼 VR 공간을 설계하는 것은 매력적입니다. 자신이 추구하는 이상적인 공간을 가장 효율적으로 구현할 수 있으며, 구현된 공간에서 상호교환적인 행위를 취할 수 있는데다가 심지어 그렇게 만들어진 공간에 수많은 사람들이 제한없이 들어올 수 있는 접근성마저 갖게 되지요. 나아가 이런 가상공간의 설계와 구현에는 시기적절하게도 여러분과 같이 실공간 설계를 훈련받은 인원들을 지금 절실히 요구하고 있습니다. 4차 산업 혁명과 더불어 더욱 많은 시장이 창출될 것이고요. 

물론 쉽지는 않을 것입니다. 여러분이 첫 세대가 되는 만큼 스스로 연구하고 익히고 고군분투하시게 될 것입니다. 하지만 그만큼 그 어느 세대보다 의미 있는 한 걸음을 나아가실 수 있을 것입니다. 그리고 언젠가 한국조경대전에서 가상공간이 설계 영역으로 제시되는 때가 온다면, 여러분들은 누구보다도 큰 보람과 자긍심을 느끼실 수 있으리라 감히 생각합니다. 감사합니다. 새해 복 많이 받으세요.


Reference
이만재. "온라인 게임 엔진 기술 동향." 정보과학회지 20.1 (2002): 12-18.
Petridis, Panagiotis, et al. "An engine selection methodology for high fidelity serious games." Games and Virtual Worlds for Serious Applications (VS-GAMES), 2010 Second International Conference on. IEEE, 2010.
권용만. "게임업계 맞춤형 인력양성 사례연구." 한국게임학회 논문지 13.2 (2013): 71-80.
윤석현. "Unity 엔진의 분석 및 유용성에 대한 검토." 한국컴퓨터정보학회 학술발표논문집 22.1 (2014): 323-326.

Image
1. Z brush modeling 중, http://www.zbrushcentral.com
2. MAYA Tutorial 중, www.animationmentor.com
3. 언리얼 엔진 4, www.unrealengine.com
4. 언리얼 엔진의 Blue print 기능, www.unrealengine.com
5. 크라이 엔진을 활용한 공간의 예, www.indiedb.com


저자 김익환 한국과학기술원 문화기술대학원 소속 연구원은 석사 과정까지 조경 설계와 경관에 대해 배우고 익혔으며, 현재 가상공간 설계방법론이라는 주제의 박사 논문을 작성 중에 있다. 공동저자 노승민 현재 서울대학교 환경대학원에서 환경조경학과 석사 과정생은 향후 가상공간을 본인의 졸업 작품으로 다루고자 연구 중에 있다.
_ 김익환  ·  한국과학기술원 문화기술대학원
다른기사 보기
iikimss3@gmail.com
_ 노승민  ·  서울대학교 환경대학원
다른기사 보기
이메일nsm9343@snu.ac.kr

기획특집·연재기사

관련기사

네티즌 공감 (1)

의견쓰기
매우 흥미로운 기사네요! 예전에 1인칭 시점의 3D 게임(ex.WOW)을 할 때, 조경설계를 이런 방식으로 재현하고, 클라이언트가 직접 주인공이 되어 공간을 체험하면 어떨까라는 생각을 했었는데요; 실제로 응용이 되기까지 얼마남지 않아보이네요! 건투를 빕니다.
2018-01-02

가장많이본뉴스최근주요뉴스

  • 전체
  • 종합일반
  • 동정일정
  • 교육문화예술

인기통합정보

  • 기획연재
  • 설계공모프로젝트
  • 인터뷰취재

커뮤니티