흔히 고등학교에서는 학생들을 문과, 이과, 예체능 정도로 단순화해서 구분하곤 한다. 그리고 대학에 들어가 세부적인 전공이 정해지고 나면 그들은 그야말로 '서로 다른 세상'에서 살아가게 된다. 기본으로 취급되는 지식 분야도 달라지고, 그러다보면 자연스레 관심 분야도 달라지기 마련이니까.

그래서 조금 망설여졌던 것도 사실이다. 게임 프로그래밍의 영역을 다루는 사람에게 묻고 싶었던 것은 많았지만, 어떤 내용을 어떻게 물어봐야할지 감을 잡을 수가 없었다. 게다가 기자와는 전혀 다른 분야의 이야기인만큼 설명을 듣는다해도 쉽게 이해할 수 있을 거라는 보장도 없었다.

NHN 넥스트의 구승모 교수를 만난 것은, 그 고민에 대한 답을 도저히 찾을 수 없어 어느 정도 생각을 접었을 즈음이었다. 엔씨소프트와 블루홀 스튜디오를 거치며 서버 프로그래머로서 커리어를 쌓아온 그는 현재 게임서버에 대한 자신의 경험을 다른 사람들에게 전하고 있다.

2011년 초에 출시되어 미려한 그래픽과 완전한 논타겟팅 전투 시스템으로 한때 많은 주목을 받았던 '테라'. 비록 콘텐츠 및 게임 전반에 걸친 문제점들로 몸살을 앓긴 했지만, 심리스(Seamless) 월드 안에 구현된 논타겟팅 전투 시스템의 완성도에 이의를 제기하는 사람은 드물 것이다. 구승모 교수는 바로 그 '테라'의 논타겟팅 전투를 만들어낸 사람 중 하나다.

가능할 거라는 생각이 들었다. 게임 분야에서 매우 의미있는 경력을 갖춘 데다가 누군가를 가르치는 직업을 가지고 있는 사람이니만큼 게임 프로그래밍의 영역에 대한 궁금증을 알기 쉽게 설명해줄 수 있을 것 같았다.


■ Part 1. '서버 프로그래머'는 어떤 직군인가?


'게임 프로그래머'라는 말은 많이 들어봤다. 하지만 '서버 프로그래머'라고 하면 뭔가 확 와닿지 않는 사람도 있을 것.

온라인 네트워크를 기반으로 하는 게임들은 '서버'와 '클라이언트', 두 가지 요소를 가지고 있다. 이중 서버 부분, 그 중에서도 서버의 구축을 담당하는 사람을 가리켜 서버 프로그래머라 한다.

그렇다면 서버에 관련된 직책은 무엇무엇이 있는가? 또, 서버 프로그래머와 클라이언트 프로그래머는 어떤 부분에서 다른가?




만나뵙게되어 반갑습니다. 과거 경력과 현재 하고 계신 일에 대한 소개를 좀 부탁드립니다

2006년부터 게임 서버 프로그래머로 일하기 시작했고, 지금은 NHN NEXT에서 게임 전공 분야의 교수로 재직하고 있으며, 게임 서버 제작에 관련된 강의를 하고 있습니다.

그 이외에도, 게임 디자인이나 프로듀싱 등 게임을 만들기 위해 필요한 주변 지식과 프로세스를 알려주기 위한 관련 수업도 하고 있고요. 구체적으로 게임 제작 개론, 프로그래밍 언어(C++), 운영체제 실습, 서버 프로그래밍, 게임 서버 아키텍처 등의 과목을 맡고 있습니다.


'서버 프로그래머'라는 직책은 정확히 게임 개발에서 어떤 일을 맡게 되나요?

그 부분을 설명하자면 먼저 '서버'라는 것에 관여하는 사람들의 분류를 알고 가시는 게 좋을 겁니다. 게임을 개발하고 서비스하는데 있어서 서버에 관련된 직책은 크게 나누자면 서버 프로그래머, 플랫폼 프로그래머, 시스템 엔지니어가 있습니다.

'플랫폼 프로그래머'를 먼저 설명하자면, 과금 시스템이라든가 홈페이지와의 데이터 연동 등 주로 서비스와 관련된 것들을 만들게 됩니다. GM들이 모니터링할 수 있도록 하는 툴 같은 것도 플랫폼 프로그래밍의 영역이고요. 주로 게임 개발사보다는 퍼블리싱을 전문으로 하는 업체에 많은 편입니다.

'시스템 엔지니어'는 말 그대로 실제 서버를 관리하는 직책입니다. 하드웨어 관리, 서버 설치, 디도스 방어 등등 서버 관리의 최전방에 서있는 사람들이죠. 게임 뿐만 아니라 웹 서비스 업종에서도 필요로 하는 직군입니다.

'서버 프로그래머'는 실제 '서버 환경'을 만드는 일을 합니다. 온라인 게임의 경우 게임 콘텐츠를 비롯한 대부분의 로직(logic, 프로그램 상의 논리적 연산 과정)이 서버 안에 구현되는데요. 몬스터 AI나 스킬 시스템, 전투, 경제 시스템 등등 게임 내 거의 모든 콘텐츠의 실제 동작 구조를 서버 프로그래머가 만듭니다. 반면에, 이런 동작 구조들이 눈으로 보이도록 만들어내는 것이 클라이언트 프로그래머의 영역이죠.

즉, 온라인 게임의 경우는 게임의 데이터와 플레이 과정에 관한 대부분의 로직이 서버에 들어가있기 때문에 소위 '핵'이라고 불리는 클라이언트 조작 프로그램을 사용하기가 어렵습니다. P2P 게임이나 패키지 게임의 경우 대개 클라이언트 안에 대부분의 로직이 들어있기 때문에 이런 조작 프로그램이 먹히는 것이고요.


서버 프로그래머는 클라이언트 프로그래머와 어떤 점에서 차이가 있습니까?

아무래도 겉으로 드러나지 않는 일들을 주로 하게 됩니다. 사실상 콘텐츠의 상당 부분을 프로그래밍하지만, 실제로 그것들은 클라이언트를 통해서 드러나기 때문에 서버 프로그래머의 역할은 눈에 잘 띄지 않는 경우가 많죠.

컴퓨터로 비유하자면 조작과 관계된 키보드, 마우스 등의 입력장치나 연출에 관계된 모니터 등의 출력장치가 클라이언트 영역에 속합니다. 그리고 실제 입력과 출력 과정을 처리하는 컴퓨터의 본체가 서버의 영역이 되겠네요.

게임 화면을 떠올려보세요. 예를 들면, 걸출한 광원 효과나 섬세한 텍스쳐 렌더링 등 눈으로 딱 봤을 때 "우와~" 소리가 나오는 부분에 대한 프로그래밍은 클라이언트 프로그래머의 영역입니다.

WoW같은 게임에서의 기절 효과를 예로 들어볼까요? 스킬을 사용해 적을 기절시켰을 때 머리 위에 별이 빙빙 도는 효과를 보여주는 연출은 클라이언트의 영역입니다. 하지만 실제 '몇 초 동안 행동이 불가능하다'와 같은 실질적 효과는 서버의 영역입니다. 화면 상단에서 깜빡거리는 디버프 아이콘이 카운팅되는 것이 곧 서버에서 해당 상황을 처리하고 있다는 표현입니다.

바꿔 말하면, 서버 프로그래머가 자신의 작업 결과를 확인하려면 클라이언트를 통해야 한다는 의미입니다. 그래서 서버 프로그래머들은 작업할 때 클라이언트를 함께 띄워놓고 하는 경우가 많습니다. 통상적으로 개발사에서 어떤 자리에 컴퓨터가 3대 정도 놓여있는 것을 보게 되신다면 서버 프로그래머의 자리일 확률이 높습니다.

▲ 눈으로 보이는 그래픽적인 요소들은 클라이언트 프로그래밍의 영역


▲ 실제 게임 안에서 체력이 깎인다거나 그로 인해 사망하는 등의 처리는 서버에서 이루어진다



■ Part 2. 서버 프로그래머, 구체적으로 이런 일들을 한다

설명을 들어 보니 '서버 프로그래머'라는 직업에 대해 어느 정도 윤곽은 잡힌다. 게임 구동에 필요한 로직을 프로그래밍하는 것이 주된 일이라는 것. 그렇다면 콘텐츠나 시스템 상의 업데이트 작업도 맡게될 것이고, 버그를 비롯한 문제가 발생했을 때도 핵심적인 역할을 하게 될 것이다.

그렇다면 실질적으로 유저들이 게임을 플레이하면서 마주하게 되는 '문제'들은 어떤 원리로 발생하는 것이며, 이때 서버 프로그래머는 어떤 작업을 하게 될까?


보통 웹사이트만 해도 수많은 서버가 운용되는 것을 보면 게임도 수많은 서버를 필요로 할 것 같은데요. 일반적으로 유저들이 말하는 '서버가 터졌다'라는 것은 어떤 상황이며, 어떤 과정으로 복구되나요?

많은 분들이 기억하는 디아블로3 사태의 경우, 유저들의 계정정보가 들어있는 계정 서버에서 '병목 현상'이 발생한 경우입니다. 만약 WoW에서 아즈샤라 서버에 접속이 되지 않는다면 그것은 '아즈샤라'라는 월드를 담고 있는 월드 서버에 문제가 생긴 것이죠.

서버가 다운되는 것에는 수많은 이유가 있습니다. 누군가 해킹에 대해 예외 처리를 제대로 하지 않았을 수도 있고, 말 그대로 엄청난 수의 유저가 접속함으로써 발생하는 '과부하'가 문제일 수도 있죠. 또, 운영 상의 실수로 터지는 경우도 있습니다. 예를 들어, 운영자가 어떤 유저를 찾기 위해 검색을 하는데, '전체 유저 검색'과 같이 다소 무리한 작업을 반복 수행할 때가 이런 경우에 해당합니다.

서버 다운이 발생하면 우선적으로 운영자 또는 시스템 엔지니어(SE)가 서버를 재부팅시켜 서비스를 지속합니다. 이 때, 다운된 서버에서는 크래시(Crash) 덤프 파일(Dump File, 다운되는 순간의 메모리 정보 등이 담긴 파일)이 나오는데요. 그것을 분석하는 것, 즉 왜 서버가 다운됐는지를 알아내고 그 원인을 수정하는 일을 서버 프로그래머가 하게 됩니다.

덤프 파일을 보고 찾은 원인이 꽤 복잡하거나 위험한 상황임을 알게 되면, 서버를 재부팅해서 서비스를 지속하지 않고 수정이 완료될 때까지 임시점검을 걸어놓게 됩니다. 임시점검이 오래 걸린다면 그만큼 상황이 복잡해서 문제의 원인이 무엇인지 쉽게 찾지 못하고 있다는 의미입니다. 대개 서비스를 오래한 게임들은 이런 경우가 많지 않고요, 오픈한지 얼마 안되는 초창기 게임들은 이런 경우가 종종 있습니다.


WoW 이야기가 나와서 말인데요, 초창기의 '모내기 렉'은 어떤 원리로 생긴 현상인지 설명해주실 수 있을까요?

서버의 입장에서 아이템을 줍는 행위는 몇 가지 단계로 나눠볼 수 있습니다. 먼저, '특정 아이템을 줍게 되면' '서버 상에 있는 해당 캐릭터의 데이터베이스에 그 아이템을 집어넣게 되고' 클라이언트에게 '아이템을 획득했음을 알려주게' 됩니다. 이 과정이 끝나면 클라이언트를 통해 '캐릭터가 다시 일어나는' 모습을 연출하는 것인데요.

이 때, 서버 데이터베이스에 과부하가 걸려 획득한 아이템을 집어넣는 명령이 수행이 안되는 상황이 생긴 겁니다. 즉, 클라이언트에게 '아이템을 획득했다'라는 정보를 알려주지 못하고 있는 거죠.

WoW의 경우는 캐릭터의 움직임에 대한 처리를 클라이언트가 하기 때문에, 아이템 획득 명령이 완전하게 처리되지 않은 상태로 캐릭터를 움직이게 되면 꿇어앉은 채로 이동하는, 이른바 '모내기 렉' 현상을 보게 되는 겁니다.


그렇다면 '롤백'은 어떤 경우에 이루어집니까?

롤백이란 서버 전체의 데이터를 특정 시점으로 회귀시키는 것입니다. 현재 발생한 문제가 도저히 복구 불가능하다고 판단됐을 때 내리는 결정이죠. 복합적인 요소가 얽혀서 도저히 원인의 실마리를 찾을 수 없을 때, 비교적 정상적이었던 시점으로 서버를 되돌리는 것입니다.

롤백이 결정되는 가장 대표적인 이유는 아이템 복사가 되돌릴 수 없을 정도로 많이 일어난 경우인데요. 서버 프로그래머에게 있어서는 최고의 적이라고 할 수 있습니다. 서버가 어떤 문제로 인해 다운되면 보통은 다시 리부팅해서 서비스를 계속 합니다만, 아이템 복사가 발생했을 때는 오류를 찾을 때까지 임시점검을 걸고 서비스를 재개하지 않습니다. 그 정도로 심각하게 받아들이는 사안이라는 의미입니다.


'테라'의 논타겟팅 시스템을 작업하신 바 있는데요. 심리스 월드에서 이루어지는 논타겟팅 전투를 프로그래밍 하는데는 어려움이 많으셨을 것 같습니다. 어떤 원리로 구현되나요?

MMO게임에서의 논타겟팅 전투 시스템은 MO게임에서의 논타겟팅 시스템 또는 기존 MMO의 타겟팅 시스템과 근본적으로 다릅니다.

MO게임에서는 동시 플레이어 수가 많지 않기 때문에 모두 다 처리하거나 클라이언트가 직접 처리하면 되고, 타겟팅 방식 MMO의 경우에도 유저가 지정한 특정 대상에 대한 타격판정만 진행하면 되지만, MMO게임에서의 논타겟팅은 그보다 훨씬 복잡한 상황이 적용됩니다.

예를 들어, 특정 지역을 향해 검을 휘두르는 공격을 가했을 때를 생각해보세요. 해당 범위 안에 있는 대상이 만약 우호적인 유닛이라면 공격판정 없이 그냥 지나가고, 적대적인 유닛이라면 데미지를 입히는 계산이 진행됩니다. 게다가 한 쪽에서 다른 한 쪽을 향해 휘두르는 공격일 경우에는 먼저 맞는 개체와 나중에 맞는 개체 간의 시간차 판정도 고려해야하죠.

스킬에 따라서는 스킬 한 번에 판정이 10번 이상 필요한 경우도 있습니다. 즉, 클라이언트의 물리 엔진에서나 가능한 판정을 서버에서도 어느 정도 비슷하게 흉내내야(시뮬레이션 해야)한다는 겁니다.

이런 논타겟팅 전투를 존 방식에서 처리할 경우는 특정 존에 대해서 나누어 처리하면 되지만, 심리스의 경우는 월드 전체에 대해 이런 처리를 해야합니다. 테라의 라이브 서버 같은 경우는 지금 이 순간에도 수천수만 건의 논타겟팅 판정이 이루어지고 있다고 보시면 됩니다. 그래서, 처리량 자체가 기존 타겟팅 방식의 MMOG에 비해 월등히 많습니다.

논타겟팅 전투 시스템은 서버 프로그래머는 물론이고, 기획자, 아티스트 등 모든 분야에 엄청나게 어려운 일입니다. 애니메이션을 하나하나 일일이 만들어야하고, 몬스터 볼륨에 따른 부분 타격판정도 일일이 만들어야하니까요. 가급적이면 추천하고 싶지 않습니다(웃음).

논타겟팅 전투 시스템의 구현 원리에 대해서는 GD 매거진(Game Developer Magazine)이라고, 게임 개발에 관한 이야기들을 다루는 해외 잡지에 실린 적도 있습니다.



▲ '타겟팅'과 '논타겟팅'은 단 한 글자 차이지만 근본적으로 다른 시스템이나 마찬가지


▲ Game Develop Magazine 2012년 5월호에 기고한 글이 실리기도 했다



■ Part 3. 서버 프로그래머가 되고 싶다면 알아두어야 할 것

서버 프로그래머가 무엇을 하는 직업이고 실무에서 어떤 역할을 하는지까지 알았다. 그렇다면 서버 프로그래머가 되려면 무엇을 준비해야할까? 어떤 이론을 공부해야하고, 어떤 활동을 해보는 편이 좋을까?

구승모 교수는 자신 역시 처음부터 게임업계에 몸담았던 것은 아니었다고 말했다. 그는 어떤 계기로 이 일을 시작하게 됐으며, 무엇을 공부했더니 도움이 되더라는 이야기를 전해주었다.


서버 프로그래머라는 일을 언제부터 생각하게 되셨나요?

음, 초등학교 2학년 정도일때부터 독학으로 Apple2와 PC 도스 환경에서 간단한 게임들을 만들어본 경험이 있었습니다. PC통신 동호회 활동도 했었고요. 그래서 어릴 때부터 게임 만드는 것에는 계속 관심을 가지고 있었습니다.

전공이 컴퓨터 아키텍쳐와 전산 병렬처리 쪽이어서 처음에는 관련 일을 하는 기업으로 취업을 했었습니다. 그런데 2005년 즈음부터 연구실 후배의 소개로 WoW에 빠져들게 됐습니다. 게임을 좋아하는 입장에서 '이건 정말 아름답다'라는 생각을 하게 됐죠.

그때부터 정말 게임을 만들어봐야겠다는 생각으로 여기저기 발품을 팔며 돌아다녔습니다. 당시 나이가 20대 후반 정도였는데 막상 게임을 개발해본 경력이 없기 때문에 문전박대도 좀 당해봤습니다(웃음). 한 3개월 정도 돌아다니며 면접을 본 것 같네요.

여기저기 지원 서류를 보내는 와중에, 마침 엔씨소프트의 L3 팀과 연결이 되어 찾아 갔다가 그 자리에서 바로 채용계약을 하고 왔습니다. 지금 생각해보면 비록 경력은 없지만 게임을 만들고자 하는 의욕과 가능성을 높게 보고 뽑아주셨지 않나 싶네요. 그 후 회사 사정으로 L3 팀이 해산되면서 블루홀 창업멤버로 합류하게 됐습니다.


블루홀 스튜디오에서는 어떤 일들을 하셨으며 언제부터 NHN 넥스트에서 일하셨나요?

블루홀로 터전을 옮긴 이후 처음에는 프로그래머로서 서버의 코어 밑바닥부터 새로 설계하고 구현하는 일을 맡았습니다. 그 이후, 테라의 논타겟팅 전투 시스템의 상당 부분을 클라이언트 작업까지 맡아서 진행했었고요.

게임 오픈 이후에는 Co-Director로서 디렉팅 업무를 했고, 차기 콘텐츠 업데이트 팀을 맡기도 했습니다. 그러다가 건강 문제로 좀 쉬게 됐고, 작년(2012년) 가을부터 NHN 넥스트에 자리를 잡게 됐습니다.

기존에는 서버 프로그래머를 전문적으로 양성하는 기관이 없기도 했고, 게임업계에서 서버 프로그래머가 정말 부족한 편이기도 했습니다. 그래서 이 곳에서 서버 프로그래머를 기초부터 튼튼하게 제대로 키워보자는 생각으로 오게 됐습니다.


서버 프로그래머가 왜 이리 부족하다고 생각하시나요

지금까지를 살펴보니 게임 프로그래머가 되고자 하는 사람들도 처음부터 서버 프로그래머를 목표로 한다기보다는 게임 프로그래밍쪽 일을 하다가 서버 프로그래밍에 관심을 가져 넘어오는 경우가 대부분이었습니다. 사실상 업계 자체에 인원이 매우 적은 편이고, 그러다보니 공급이 적어서 몸값(?)이 비싼 편이죠.

일단 무엇보다도 내가 한 일이 눈에 잘 보이지 않는다는 부분이 큽니다. 뿐만 아니라 일 자체가 어렵기도 합니다. 하드웨어 밑바닥부터 운영체제의 내부 동작 원리까지 제대로 이해하고 있어야 되는 경우가 많아서 입문 자체를 꺼리는 경우도 있고요.

게임업계에 오고 싶어하는 사람들 중에는 겉으로 보이는 것을 보고 오는 경우가 굉장히 많은데요. 그래서 서버 프로그래머의 존재 자체를 입사한 뒤에 알게 되는 경우도 많습니다. 그때쯤 관심을 갖거나 적성에 맞아 전향하는 경우가 대부분이다보니 상대적으로 숫자는 적은 편이죠.

▲ 현재 서버 프로그래밍에 관한 내용은 물론 게임의 기본적 이론도 가르치고 계신다고



서버 프로그래머로서 가장 힘들 때가 있다면 언제일까요?

동시다발적으로 일이 몰리는 상황이 종종 있다는 것이 힘듭니다. 다음 콘텐츠 업데이트를 빠르게 준비해야하는데, 지금 당장 서버에 여러 가지 문제가 동시에 생긴 경우 몇 가지 일을 거의 동시에 처리해야 하거든요.

아무래도 현재 서버의 문제 해결을 좀 더 우선으로 하기 때문에 업데이트를 미루고 문제 상황의 해결부터 하는 편입니다. 하지만 만약 서버의 문제가 복잡한 것일 경우는 업데이트 일정도 그만큼 밀리게 되죠. 시간적인 압박과 복잡하게 꼬인 문제를 해결해야 하기 때문에 물리적으로 힘이 듭니다. 서버가 1시간 내려가면 서비스가 그만큼 멈추는 것이고, 그것은 곧 수익 감소로 직결되는 상황이 될 수 있거든요.

이렇게 서버에 심각한 문제가 생긴 상황에서, 퍼블리싱 업체가 눈치를 주거나 다른 영역을 담당하는 개발자, 혹은 경영진 분들이 서버 팀 쪽만 바라보고 있을 때는 정말 부담스럽죠.


반대로 가장 보람을 느낄 때는 언제인가요?

몇 가지가 있는데요. 가장 먼저 서버 하나에 동접이 많이 이루어졌을 때도 정상적으로 서비스가 돌아가면 뿌듯함을 느낍니다.

또, 굉장히 복잡하거나 어려운 특정 시스템을 구현하는 등 다른 사람들이 인정해주는 결과물을 내놨을 때도 기분이 좋죠. 특히, 대체 어떻게 만들었는지 다른 사람들이 잘 모를 때라거나 혹은 만드는 법을 알더라도 정말 어렵고 복잡해서 시도해보기 힘든 것을 만들었을 때 가장 보람을 느낍니다.

그 다음으로는 '내가 한 행동이 이 세상에 영향을 미치고 있구나'라는 생각이 들 때입니다. 이와 관련된 에피소드가 하나 있는데요. 인터넷 회선에 문제가 생겨서 수리 기사 분을 부른 적이 있었습니다. 그런데 그 분께서 요즘 해볼만한 게임이라며 제가 참여해서 만든 게임을 권유하시더군요(웃음).




게임서버 프로그래머가 되려면 어떤 부분을 많이 공부해야할까요?

기본적으로는 수학, 컴퓨터 알고리즘, 컴퓨터 아키텍쳐, 컴퓨터 네트워크, 운영체제, 데이터베이스, 프로그램 언어론 등 전산학의 기본 전공에 해당하는 이론을 충실히 알고 있어야 합니다. 실제 프로그램을 스스로 많이 만들어보는 것도 중요하고요.

또, 무엇보다도 게임 그 자체를 좋아해야 한다고 생각합니다. 처음 입문하고자 하는 신입의 경우에는 현재 게임들에 존재하는 세부적인 최신 기술을 파고드는 것보다는, 기초 전공과목들에 대한 이해를 확실히 체득하는 편이 훨씬 도움이 되고요. 아니면 NHN 넥스트의 게임서버 전공을 지원하셔도 됩니다(웃음).


게임 프로그래머에 적합한 적성이나 성격 스타일은 뭐라고 생각하시나요?

클라이언트와 서버의 경우 공통적으로 필요한 것은 기본기를 확실히 하는 것고요. 스스로 알아서 찾아가며 공부하고 자기 계발을 지속적으로 해나가는 것이 필요하다고 봅니다.

반면, 클라이언트 프로그래머와 서버 프로그래머의 약간 다른 점도 있습니다. 클라이언트 프로그래밍은 호기심과 섬세함, 감각, 적응력, 임기응변 등을 갖추고 있으면 유리하다고 생각하고, 서버 프로그래밍은 계획적이고, 끈기가 있으며, 추론 능력, 직관력, 정공법을 선호하는 성격 등이 더 잘 맞는 듯합니다.


공부와 연구도 계속 해야 할 것 같은데, 도대체 언제 쉬시나요?

게임 프로그램은 소프트웨어 개발 중에서는 최고 난이도에 속합니다. 새로운 기술도 계속 나오고 변화와 발전이 빠르기 때문에 항상 긴장을 곤두세우고 있어야 하죠. 그래서 다른 어떤 분야보다 튼튼한 기초를 필요로 합니다. 최신 트렌드는 계속 바뀔지라도 기초 베이스는 잘 바뀌지 않고, 수시로 바뀌는 트렌드는 대개 기초를 토대로 응용하는 것이거든요. 기초가 튼튼하면 아무리 새로운 것도 더 빨리 적응할 수 있게 마련입니다.

끊임없는 공부와 연구를 필요로 하기 때문에 사실 여유가 그리 많지는 않습니다. '가상의 세계를 내 손으로 창작한다'는 즐거움으로 버티는 셈이죠. 정말 바쁘고 많은 체력을 요하는 일이기 때문에 진정으로 게임을 좋아해야하고 게임을 만들어 가치를 인정받을 때 행복을 느낄 수 있어야 이 일을 오래할 수 있다고 생각합니다.