'첫 직장' 하면 무엇이 먼저 떠오르시나요? 새로운 환경과 사람들, 난생처음 겪게 되는 새로운 문제들을 마주해야 한다는 '두려움'을 떠올리시는 분들도 적지 않을 겁니다.
<야생의 땅: 듀랑고>의 막내 개발자, 손채원씨도 마찬가지였습니다. 게임이 좋다는 이유만으로 대학 진학을 접고 공부한 프로그래밍. 게임에 대한 '열정'만큼은 누구에게도 뒤처지지 않는 그 역시, 우리와 마찬가지로 사회라는 진정한 '야생'을 맛봤죠.
이번 NDC 2017 현장에서 그는 2년간의 신입 생활에서 본인이 마주했던 혼란스러운 상황들과 자신이 찾은 해답을 공유하는 시간을 가졌습니다. 그의 이야기를 디스이즈게임이 정리해봤습니다. /디스이즈게임 김지현 기자
Q1. 나는 게임 개발을 계속해도 될까? : '좋아하는 일'을 '잘하는 일'로
처음 입사했을 때의 나는 '좋아하는 것'은 많지만 '잘하는 것'은 거의 없었다.
하지만 언젠가는 내가 좋아하는 것들은 전부 잘할 수 있으리라 믿었다. 좋아하는 것들은 누가 시키지 않아도 스스로 일을 찾아서 하기 때문이다. 누군가는 이를 보고 현실을 회피한다고 말할 수도 있다. 하지만 나는 불안한 마음이 들 때마다 이런 생각을 하며 스스로를 위로했다.
넥슨에 지원할 당시, 자기소개서에 '내 성격의 장점'을 작성하라는 항목이 있었다. 나는 '재미있는 것을 잘한다'고 작성했다. 나는 게임 만드는 것과 프로그래밍으로 문제를 해결하는 것을 정말 좋아했고, 누구보다도 잘 할 수 있다는 자신감이 있었다.
<야생의 땅: 듀랑고> 팀에 들어와서 처음 한 업무는 파도가 치는 바다를 만들거나 무기 트레일을 예쁘게 만드는 등의 작업이었다. 지금 보면 정말 간단한 작업이지만, 그 당시의 나에게는 버겁고 어려웠다.
그러나 개발 업무를 정말 좋아하고, 자꾸 따라가기 위해 노력하다 보니 어느 순간 업무가 손에 익기 시작했다. '좋아하는 일'을 꾸준히 좇다보면 '잘하는 일'이 될 거라는 믿음에 나 자신도 반신반의했던 순간이 많았지만, 경험을 통해 나의 가설은 확신으로 변했다.
이 이야기는 나뿐만이 아니라 누구에게나 해당한다고 생각한다. 그러므로 본인이 어떤 것을 좋아하는지 찾는 것이 가장 중요하다고 생각한다.
Q2. 게임 프로그래머로서 나의 역할은? : 동료와 함께 고민하는 사람
평소처럼 혼자 업무를 처리하던 어느 날, 처음으로 디자이너와 협업을 하게 됐다. 그 당시 나는 업무를 문자 그대로만 이해하고 있었다. 디자이너는 '디자인을 하는 사람', 프로그래머는 '프로그래밍을 하는 사람'이라고 말이다.
그래서 그 당시 나의 하루는 '기다림의 연속'이었다. 업무의 요청사항을 체크하고 없으면 기다렸다. 계속 기다리고, 요청사항이 생기면 디자인을 체크했다. 만약 디자인 부분에서도 빠진 사항이 있으면 채워질 때까지 기다렸다. 모든 체크사항이 전부 채워져야만 업무를 진행했다.
내가 이렇게 일했던 이유는 '몰라서'다. 어떻게 일을 해야 좋은 게임을 만들 수 있는지, 내가 디자인 업무에 참여할 수 있는지 알지 못했다. 그저 내 역할에 맞는 업무만 처리하면 좋은 게임이 나올 것이라고 생각했다.
디자이너와의 협업을 진행하던 중, 디자이너의 한 마디가 내 머리를 뒤흔들었다. "채원님은 항상 자기 말만 하고 가버린다. 함께 일하기 버겁다." 그 한마디를 들은 순간 떠올렸다. 내가 회사에 온 이유는 '주어진 문서를 코딩하기 위해서'가 아니라 '재밌는 게임을 만들고 싶어서' 였다는 것을 말이다.
그때부터 일하는 방식을 좀 더 능동적으로 개선했다. 협업하는 경우, 함께 일정과 우선순위를 조율하고 적극적으로 소통하는 시간을 가졌다. 프로그래밍 업무도 마찬가지다. 문서대로 구현하는 것에 그치지 않고 스스로 적절한 구현 방법을 고민하는 습관을 키웠다. 결과적으로 업무의 만족도와 결과가 크게 향상됐다.
게임을 함께 만든다는 것은 문서대로 구현하는 것에 그치는 것도, 동료의 전문성을 침범하는 것도 아닌, 구현 방법을 공유하고 고민하면서 최종적으로 게임이 잘 표현될 수 있도록 동료를 돕는 것이다.
Q3. 내 업무를 확장하는 법? : 주변 동료를 괴롭혀라
<야생의 땅: 듀랑고>는 섬마다 다양한 식생과 생태계를 보유하고 있는 게임이다. 그만큼 하나의 섬이 만들어지기까지 수많은 과정이 필요하다. 디자인한 문서와 그것을 수치화한 데이터가 필요하고 그것을 토대로 섬을 만들고 식생, 동물을 배치해야 한다. 그렇게 배치가 끝난 섬은 데이터베이스에 반영한 후 클라이언트에 렌더링을 진행해야 한다.
내가 처음 팀에 들어왔을 당시, 이러한 수많은 업무 중 내가 처리할 수 있는 부분은 정말 적었다. 그러다 보니 팀원들을 괴롭히게 됐다. 내가 할 수 없는 업무가 대부분이니 동료에게 요청할 수밖에 없었고, 결과적으로 동료들의 집중력과 시간을 뺏는 행동이 되었다.
그래서 나는 좀 더 적극적으로 동료를 괴롭히기 시작했다. 동료들만 처리할 수 있었던 작업을 온전히 내 것으로 만들기 위해 더욱 물어보고 배우기 위해 노력했다.
그렇게 여러 번의 질문과 학습을 통해 혼자서도 어느 정도 업무를 처리할 수 있게 되었다. 디자인을 제안하기도, 디자인에 따라 데이터를 수정하기도 하고 코드, 식생을 수정하는 등 내가 할 수 있는 업무를 늘릴 수 있었다.
나는 내 작업과 관련된 모든 일을 배우기 위해 노력했다. 그러다 보니 업무의 전반적인 프로세스를 이해하게 됐고, 의도에 더 적합한 제안을 내놓을 수 있게 되었다. 결론적으로는 내가 게임을 위해 할 수 있는 것들이 더 많이 떠오르게 되었다. 만약 내가 수동적으로 일하고 책임을 회피하려고만 했다면 떠올리지 못했을 것이다.
Q4. 재밌는 게임 만들기에 기여하는 법? : 동료들의 고민 해결사가 되어라
<야생의 땅: 듀랑고>에는 하나의 섬 위에 다양하고 아름다운 식생들이 분포한다. 그런데 디자이너 입장에서 바라봤을 때, 그들이 갈대 하나를 심기까지 얼마나 많은 고민이 필요할까?
식생을 적절한 위치에 배치하기 위해서는 온도, 습도, 양분 등 다양하고 복잡한 요소를 꼼꼼하게 체크해야 한다. 하지면 여기서 문제가 발생한다.
첫 번째는 디자이너가 '식생이 위치해야 할 적절한 위치'를 모른다는 것이다. 해당 타일이 갈대가 위치할 수 있는 온도, 습도를 충족하고 있는지 알 수 없다는 것이다.
두 번째는 예측할 수 없는 자연물 간의 경쟁이다. 갈대의 밀도를 줄이기 위해 갈대를 제거하면, 갈대가 사라진 자리에 갑자기 나무 한 그루가 자라나는 등 디자이너가 예측할 수 없는 변수가 존재한다. 세 번째는 식생의 간격 조절이 어렵다는 것이다. 지나치게 촘촘하게 자라있는 나무들의 간격을 조절하기 위해서는 타일의 온도, 습도, 양분 등을 추측해야 가능하다.
나는 최대한 이런 부분을 쉽고 간단하게 만들어 디자이너가 자유롭게 업무를 처리할 수 있도록 만들고 싶었다. 그래서 기존 시스템의 위에 '숲 시스템'을 추가로 제작했다. 숲 시스템이란 얼만큼의 영역에 어떤 식물들이 몇 개나 얼만큼의 간격을 두고 자랄 것인지를 설정할 수 있는 프로그램이다.
결과적으로 디자이너는 더 수월하고 자유롭게 업무를 처리할 수 있었고, 직접 긍정적인 피드백을 주기도 했다. 그저 디자이너의 입장에서 고민하고, 의도를 최우선으로 고려해 문제를 해결할 수 있는 아이디어를 제시한 것만으로 게임 개발에 기여를 한 것이다.
나와 같은 사회 초년생에게 전하고 싶은 말이 있다. 지금 바보같아도 괜찮다. 우리는 매일매일 변해갈 수 있는 힘이 있다. 정답을 찾는 것도 중요하지만 하루하루를 즐겁게 지내는 것도 중요하다. 모두들 좋아하는 일을 하며 즐거웠으면 좋겠다.