〈온앤오프〉 코너는 컴투스 그룹 사우분들의 회사 안과 밖의 모습을 조명합니다. 회사 안에서의 다양한 직무와 하는 일, 회사 밖에서의 개성 넘치는 모습을 살펴봅니다. 이번 편 주인공은 게임 엔진을 개발하는 ECO실 엔진팀 임용식 사우입니다.


Keword1 | Career | 엔진 개발자

게임 개발자가 마라토너라면, 엔진 개발자는 페이스메이커

어떤 직무를 담당하고 계신가요?

안녕하세요. 컴투스만의 자체 게임 엔진을 개발하는 ‘엔진 프로그래머’ 임용식입니다. 저는 엔진팀에서 게임 엔진을 개발하고 있고, 그중에서도 엔진의 렌더링을 주로 담당하는 렌더 파트에서 근무하고 있습니다. 

게임 엔진이 생소하신 분들도 계실 텐데요. 게임 엔진은 게임 개발자들이 보다 손쉽게 게임을 제작하고 완성할 수 있도록 핵심적이고 필수적인 기반 코드들과 기능들을 제공해 주는 소프트웨어라고 이해해 주시면 됩니다. 많은 게임사가 유니티와 언리얼 엔진으로 대표되는 상용 엔진들을 사용하고 있는데요. 컴투스 엔진팀은 이러한 상용 엔진이 아닌 자체 게임 엔진을 만드는 데 목표를 두고 달려 나가고 있습니다. 

다소 생소한 엔진 개발, 구체적으로 어떤 일을 하는 것인가요?

스마트폰으로 게임을 플레이한다고 할 때, 앱 아이콘을 터치하는 순간 컴투스 로고를 시작으로 게임이 그려지기 시작합니다. 또, 화면을 터치하면 그 위치의 게임 요소들과 각종 이벤트나 반응 등의 상호작용을 할 수 있죠. 거의 모든 게임에서 공통적이면서도 필수적으로 필요한 이러한 핵심 기능들의 코드 혹은 코드를 제공하는 프로그램, 그게 바로 ‘게임 엔진’입니다. 쉽게 말해 게임 제작의 필수 부품과 도구들을 제공하는 공구 상자와 같은 프로그램이라고 할 수 있어요.

자동차에 엔진이 존재하지 않으면 운행이 불가능한 것처럼, 게임도 엔진 코드들이 존재하지 않으면 정상적으로 플레이할 수 없습니다. 그렇지만 엔진 코드들을 게임 제작 때마다 매번 작성하려면 많은 시간과 비용이 발생하게 되므로, 엔진 프로그래머들은 이러한 기능들을 미리 개발해서 게임 개발자들에게 제공하는 역할을 맡고 있습니다. 뿐만 아니라 개발자들이 게임을 만드는 동안 최대한 편하고 효율적인 환경에서 개발할 수 있도록 자체 엔진의 다양한 기능 개선이나 기술 가이드라인을 제공하기도 하고, 그 과정에서 이미 존재하는 엔진들의 기능들을 분석, 연구하기도 합니다.

정리하자면, 게임 엔진을 개발한다는 것은 게임 개발 과정에서 개발자들을 지원하기 위해 게임에 직/간접적으로 영향을 미치는 다양한 프로그램을 개발하는 것이라고 할 수 있습니다.

엔진 개발자는 클라이언트·서버 개발과 어떻게 다른가요? 

게임 개발이라는 마라톤에서 클라이언트, 서버 프로그래머가 골인을 목표로 하는 마라토너라면, 엔진 프로그래머는 그 옆에서 함께 뛰지만 골인보다는 그들이 좋은 기록을 낼 수 있도록 도움을 주는 페이스메이커와 같다고 볼 수 있습니다.

모두가 프로그래밍을 통해 게임 개발이라는 프로젝트에 참여한다는 점은 동일하지만, 엔진 개발자는 클라이언트, 서버 개발자분들과 달리 직접적으로 게임을 플레이할 때 보이는 각종 콘텐츠들을 작업하지는 않습니다. 오히려 콘텐츠를 만들기에 앞서서 필요한 필수적이고 재사용 가능한 기능들을 개발해 제공하고, 그렇게 만들어진 엔진을 통해 게임 개발자 분들이 게임 개발의 시작부터 빌드까지의 모든 구간에 걸쳐 보다 쉽고 빠른 개발이 가능하도록 돕습니다. 그러한 점에서 엔진 개발은 게임 개발의 시작과 끝이라고도 볼 수 있을 것 같습니다.

Keword2 | Career | 모험가

무한동력과 같은 불가능에 도전하다

자체 엔진을 개발하는 엔진팀, 왜 국내에서 찾아보기 어려운가요?

자체 게임 엔진을 개발한다는 것 자체가 ‘하이 리스크 하이 리턴’ 전략이기 때문인 것 같습니다. 게임 소프트웨어에 사용되는 기술이 방대하고 정교해짐에 따라 그것들을 지원하는 엔진의 규모도 매우 거대해졌습니다. 그리고 자사의 니즈에 부합하는 엔진 구조를 설계한다는 것 자체가 ‘정답’이 없는 새로운 길을 걷는 것이기에, 필연적으로 많은 시행착오를 거칠 수밖에 없죠. 그러면서 마주치는 다양한 문제들을 해결하기 위해 많은 비용이 들지만, 자체 엔진 그 자체는 게임의 재미와 흥행에 거의 영향을 미치지 않잖아요.

그렇지만 앞서 하이 리턴이라고 말씀드렸듯이, 이런 불확실성에도 불구하고 자체 엔진을 보유하게 되면 따라오는 이익도 매우 큽니다. 우선 외부의 변화에 휘둘리지 않는 안정적인 개발 환경을 얻을 수 있습니다. 둘째로, 출시한 게임이 흥행하면 지불해야 하는 막대한 엔진 사용 로열티를 절감할 수도 있죠. 셋째로, 사용하는 엔진에 문제가 발생하거나 도움이 필요할 때 외부 엔진에 비해 매우 빠르고 편리하게 기술 지원을 받을 수 있습니다. 무엇보다 자체 엔진 개발을 통해 축적한 기술력은 그 자체로 회사의 자산으로 남기 때문에 이러한 이익들이 일회성에 그치지 않는다는 점이 가장 큰 장점입니다.

개발 중인 컴투스의 자체 엔진을 소개해 주세요.

저희 엔진팀은 ‘Lv1 Engine’이라는 자체 엔진을 개발하고 있습니다. 게임 속에서 Lv1 캐릭터로 모험을 떠나는 과정은 처음엔 굉장히 막막하죠. 하지만 클리어하는 순간 되돌아보면 그때가 가장 설레고 호기심 가득한 순간이었다는 것을 깨닫게 되곤 하는데요. 엔진 개발을 할 때도 마찬가지인 것 같습니다. 매 순간 낯설고 무한한 세계에 Lv1으로 내던져진 느낌을 받지만, 도전과 실패 끝에 결국 기능들을 만들어내고 그 과정에서 설렘과 호기심을 느낀다는 점에서요. 이처럼 ‘Lv1 Engine’이라는 이름은 저희 팀이 엔진을 개발하는 과정에서 가지는, 그리고 지향하는 태도를 표현합니다. 그리고 저희가 개발하면서 느끼는 만족감과 설렘을 게임 개발자분들이 개발의 시작에서부터 함께 느낄 수 있도록 돕는 것을 목표로 하는 엔진입니다.

저희 Lv1 엔진은 컴투스 게임 개발에 적합한 핵심적인 기능들을 제공하고, 불필요한 기능들은 배제하거나 패키지화하여 다른 엔진들에 비해 가볍고 효율적인 사용이 가능하다는 장점이 있습니다. 사용성이 직관적이고, 당연히 멀티 플랫폼도 지원하죠. 이 외에도 저희 엔진을 사용하실 게임 개발자분들이 복잡한 설정이나 무거운 환경에 얽매이지 않고 창의적인 아이디어를 구현하는 데 집중할 수 있도록 ‘Lv1 Engine’을 고도화해 나가고 있으니, 엔진팀에 많은 응원 부탁드리겠습니다 🙂

엔진팀은 어떤 팀이라고 정의할 수 있을까요?

‘수제화를 만드는 장인’과 같은 팀이라고 정의하고 싶습니다. 대부분의 사람들이 공장에서 나온 브랜드 신발을 신는 세상이지만, 수제화 장인들은 여전히 한 사람의 발에 집중해 만든 수제화만이 줄 수 있는 특별한 가치가 있다고 믿고 그 가치에 집중하죠. 그리고 그 가치를 고객에게 전달하기 위해 부단히 노력하시잖아요. 그런 장인들처럼 저희 팀도 팀원 모두가 공감하는 가치와 목표를 갖고 있습니다. 그리고 그 가치를 실현시키기 위해 끊임없이 도전을 거듭하고 하나씩 실현시키는 설렘을 느끼며 일하고 있죠. 앞으로 컴투스의 개발자분들이 그 가치를 함께 느끼며 더 편하고 효율적으로 게임을 개발할 수 있도록 돕는 페이스메이커로서 나아갈 예정입니다. 

Keword3 | Career | 인피니트

완벽한 소프트웨어는 존재하지 않는다. 끊임없는 개선이 필요할 뿐.

용식님이 생각하는 엔진 개발의 마침표는 어떤 것인가요?

사실 마침표는 없다고 생각해요. 저희 엔진뿐만 아니라 모든 엔진을 바라볼 때, 현재의 엔진에 적용된 기능들이 최선의 방식으로 개발됐다고 확신할 수 있는 경우가 많지 않거든요. 끊임없이 개선해 더 나은 성능, 더 편리한 사용성을 제공하기 위해 노력해야 하죠. 그렇기에 ‘완벽한 소프트웨어는 존재하지 않는다’라고 말하는 수많은 소프트웨어공학 서적들의 주장처럼, 변화하는 환경 속에서 컴투스가 계속 도전하는 한 엔진 개발에 끝은 없다고 생각합니다. 

그렇지만 느낌표는 있는 것 같아요. 컴투스의 다양한 스튜디오에서 저희 엔진을 사용해 하나둘 게임을 개발해 출시하고, ‘Lv1Engine으로 게임을 개발하면 편하고 안정적으로 게임을 개발할 수 있다’라고 느껴주실 순간이요. 그 순간이 바로 저와 저희 팀을 포함한 모든 게임 엔진 개발자가 느낄 수 있는, 그리고 느끼고 싶어 하는 최고의 느낌표라고 생각합니다.

끝이 정해지지 않은 길, 정답조차 존재하지 않는데 어떻게 잘 해낼 수 있을까요?

정말 지극히 제 개인적인 생각이지만, 정답이 존재하지 않는다면 적어도 스스로는 본인이 제출한 답이 정답에 가장 근접하다는 확신을 가져야 한다고 생각합니다. 스스로 의심하며 내린 결론에 공감해 줄 수 있는 타인은 많지 않을 테니까요. 이런 확신은 기술과 커뮤니케이션에서 나오는 것 같습니다. 사용자와의 커뮤니케이션을 바탕으로 ‘왜’, ‘얼마나’라는 질문에 대해 답을 내릴 수 있고, 기술에 대한 깊은 이해를 바탕으로 ‘어떻게’라는 질문에 답할 수 있게 될 테니까요. 처음 보는 기술과 지식을 직면했을 때 그 기술의 끝을 보겠다는 태도로 달려드는 열정이 필요하죠. 그리고 이 외에도 가장 필요한 태도로는 바로 지금 내가 하고 있는 일이 가치있는 일이라고 믿어야 한다는 점입니다.

앞으로의 임용식 ON, 어떤 모습일까요?

확신할 수 있는 건 하나도 없지만, 자체 엔진 개발이 가치 있는 일이라고 믿는 한 계속 이 일을 하고 있었으면 좋겠습니다. 컴투스 입사 시 작성하는 자기소개에 목표를 적는 항목이 있었는데 그 당시엔 ‘든든한 시니어 엔진 프로그래머’라고 적었었어요. 상당히 추상적인 문장이었는데, 지금 그 항목을 다시 작성하라 하면 ‘저희 팀 동료들 같은 엔진 프로그래머’라고 적고 싶습니다. 팀의 막내로 일하면서 팀원분들께 정말 많은 것들을 배우고 있거든요. 그래서 이 일을 계속하고 있다면 바라는 모습은, 경력이 쌓였을 때 후배 프로그래머들이 똑같이 제게서 많은 것들을 배울 수 있는 시니어 프로그래머입니다.

Keword4 | INSIDE | 아마추어 사진작가

현실 세계를 렌더링

퇴근 후 용식님의 OFF 모습이 궁금해요.

원래 저는 코딩 자체가 취미에요. 그래서 집에서도 회사에서도 코딩하면서 일과 삶의 경계 없이 살아왔는데요. 최근에는 둘을 좀 분리하는 것도 좋겠다는 생각이 들어서 일부러 다양한 취미 활동을 해보고 있습니다. 컴투스밴드에서 베이스를 연주하고, 집에선 체스나 전략 게임들을 즐기기도, 주말엔 필름카메라를 들고 출사를 나가기도 합니다. 평소 컴퓨터와 관련된 책들을 즐겨 읽는데, 요즘엔 일과 전혀 관련 없는 책을 읽어보며 나름의 소소한 일탈을 해보고 있습니다.

그중 가장 즐겨하는 취미는 무엇인가요? 그 매력도 소개해 주세요.

모든 취미들이 각자의 매력이 있지만, 개인적으로 출사를 다니는 게 가장 재밌는 것 같아요. 필름카메라로 마음에 드는 3차원 장면을 바라보고 셔터를 누르면, 그 순간 우주 저 멀리 존재하는 광원에서 방출된 가시광선이 그 풍경을 구성하는 각각의 사물들에 부딪혀요. 그리고는 무수한 파편으로 반사되고, 그중에서 렌즈를 향해 들어온 입자들이 카메라 내 장치들을 거쳐 2차원의 필름에 기록되죠. 이 과정 자체가 그 무엇보다도 사실적인 실시간 렌더링 파이프라인이잖아요. 이렇게 사진을 찍는 순간의 상호작용이 마치 모든 것에 통달한 완벽한 프로그래머가 만들어 놓은 렌더링 엔진 코드가 실행되는 느낌이 들어서 경외감이 듭니다. 개인적으로 다양한 프로그래밍 분야에서 그래픽스 프로그래밍 분야를 가장 좋아하기도 하고요. 사진을 찍다 보면, 언젠가는 이런 아름다운 렌더링을 표현하기 위한 게임이나 게임 엔진을 만들고 싶다는 생각이 들어요. 그래서 출사라는 취미가 저희 `Lv1 Engine`을 향한 의지를 다시금 불태우는 계기가 되기도 하더라고요.

Keword5 | INSIDE | 컴투스 소믈리에

지식으로 음미하는 술의 세계

초록창 지식IN에 버금갈 만큼 술에 대한 많은 지식을 갖고 계신다고 들었습니다.

다들 자신만의 힐링 방법이 있으시겠지만 저는 퇴근하고 바에 가서 한잔할 때 행복함을 느끼는 편입니다. 평소에 좋아하거나 새로 맛보고 싶은 위스키, 칵테일을 한 잔 시키고 멍하니 앉아 있으면 그렇게 평화롭고 좋을 수가 없더라고요. 제겐 이런 시간이 어떻게 보면 일종의 명상인 것 같아요. 스마트폰과 스마트워치를 잠시 넣어두고 시간이 흐르는 대로 있는 거죠. 그러다 가끔씩 바텐더분이나 저와 같이 혼자 오신 분들과 한두 마디 대화를 나누게 되곤 하는데요. 제겐 이러한 생각지 못했던 대화가 마치 게임 속 랜덤 이벤트가 발생한 것처럼 재미있습니다. 그렇게 바에서 이야기를 나누다 보면 술에 대한 다양한 지식을 자연스럽게 배우게 되더라고요. 물론 지갑도 그만큼 가벼워지지만요.

사우분들께 연말을 따뜻하게 보낼 수 있는 술을 추천해 주세요!

위스키는 재료나 숙성 방식, 제조 국가 등으로 여러 카테고리에 따라 분류가 가능한데, 저는 나라별로 소개를 해드리고 싶어요. 각 나라마다 위스키를 정의하는 기준이 달라서 그 자체로도 맛의 차이가 많이 나거든요. 보통 세계 5대 위스키 하면 아일랜드, 스코틀랜드, 미국, 캐나다, 일본을 꼽는데요. 개인적 취향으로 세 국가의 입문 위스키를 소개해 드릴게요. 

먼저 아이리쉬 위스키는 ‘부쉬밀 10년’과 ‘제임슨 스탠다드’를 추천드립니다. 둘 다 아이리쉬 위스키의 대표적인 특징인 부드러운 맛과 달달한 향을 느껴보실 수 있는 제품이고요.

아이리쉬보다 다소 거칠지만, 그만큼 풍부한 향과 맛을 즐길 수 있는 스카치 위스키는 ‘글렌피딕 12년’이 좋은 것 같아요. 싱글 몰트 스카치 위스키 중에 가장 많이 판매되는 브랜드인데, 그럴 만한 술이라고 생각합니다. 튀거나 독특한 느낌 없이 무난하게 즐기실 수 있을 것 같아요. 

다음은 미국의 버번 위스키인데요, 미국에서만 생산하는 버번은 앞선 두 위스키와 달리 호밀과 옥수수가 들어가고 태운 오크통을 쓰기 때문에 특유의 거칠고 강렬한 맛이 있습니다. 버번의 세계에 입문하시려고 한다면 추천드리는 제품은 ‘버팔로 트레이스’랑 ‘와일드터키 101’입니다. 버팔로 트레이스는 버번이라는 카테고리에서 밸런스를 잘 잡은 최고의 입문 위스키인 것 같아요. 반면 와일드 터키는 버번에서도 호밀 비율이 조금 높아서 스파이시함과 자극을 약간 더 느낄 수 있는 것 같습니다. 

이렇게 카테고리별로 입문 라인의 위스키를 하나씩 드셔 보시면 내 입맛에 맞는 카테고리가 어렴풋이 정해질 텐데요. 그럼 그때부터는 바에 가셔서 해당 카테고리의 술을 바텐더분께 추천받아 하나씩 즐겨보시면 좋을 것 같습니다.

10년 후 회사 밖의 나, 어떤 사람이 되어 있고 싶나요?

인터뷰에서 10년 뒤에 되고 싶은 모습을 기록했는데, 10년 뒤에 이루어져 있지 않으면 좀 슬플 것 같아서요. 구체적으로 10년 뒤의 모습을 미리 기대하는 것은 보류하겠습니다. 다만 어떤 상황이든 건강하고 행복하게 살고 있었으면 좋겠습니다. 주변의 사랑하는 사람들을 만나고, 주어진 일에 집중하면서 무난하면서도 소소한 행복으로 가득찬 삶을 살고 있기를 바랍니다.


스튜디오 ♥️시현하다♥️와 함께하는

<온앤오프> 다음 주인공은 누가 될까요?

많은 지원 부탁드립니다.

이재연 기자

임용식 사우님이 저희 엔진팀의 얼굴이어서 너무 자랑스럽습니다! 항상 도전하는 마음으로 초심 잃지 마시고 존 카맥 같은 개발자가 될 수 있게 바로 옆에서 항상 응원하겠습니다:) Lv1 화이팅! 임용식 화이팅!!


TOP