열린 개발
“게임 개발은 작품을 만드는 것이 아니라 돈을 버는 게임을 만드는 것이다. 즉, 돈 잘 버는 게임이 명품 게임이다.”
열린 개발(open dev)의 의미는 개발자들의 경험과 지식을 바탕으로 다양하게 해석될 수 있다. 필자가 제시하는 방법은 경험을 통해서 완성된 방법은 아니다. 그래서 사례를 제시하고 설득력 있게 독자들에게 동감을 얻어내기에는 많이 부족하다.
게임 개발 관련 업무를 하면서 끊임없이 머리에 맴도는 단어는 ‘게임 성공’이란 단어다. 성공하기 위해서 또는 성공하지 못하더라도 좀 더 남는 게 있는 게임 개발을 어떻게 하면 할 수 있을까?라는 고민은 가끔 밤잠을 설치게 했다. 그래서 고민했던 부분을 좀 적극적으로 공유하고 실험정신을 바탕으로 결과를 만들고자 노력하려 한다.
먼저 정의를 통해서 열린 개발(open dev)의 핵심적인 개념이 시작하고자 한다. 열린 개발(open dev)을 진행하면서 문제가 생겼을 때 해결방법을 찾을 수 있고, 진행사항 점검을 통한 기준이 될 수 있다.
첫째, 게임 유저는 똑똑하지 못하다. 고로 유저가 원하는 방향으로 게임을 개발하면 게임은 결국 망한다.
게임 플레이어 즉, 게임 유저를 폄하하려는 의도가 아니다. 필자조차도 게임 유저이기 때문이다. 유저는 솔직하지만 항상 자기중심적으로 게임 개선 의견을 주장한다. 이를 인지하고 열린 개발을 시작해야 한다. 이것을 인정하지 못하면 열린 개발은 성과를 내는 방법이라기보다는 불편한 방법으로 여겨지게 될 것이다.
한편, 유저는 무식하다는 생각이 과한 개발자들은 유저의 의견을 아예 받아들이지 않고, 개발자가 만드는 대로 따라와도 충분히 게임이 재미있다는 개발자도 있다.
자존감이 강해서 아예 게임 유저를 배제하려는 개발자들도 주위에서 심심치 않게 경험할 수 있다. 반대로 유저가 곧 법이다. 유저가 재미없으면 재미없다는 생각으로 유저의 의견을 100% 받아들여서 개발해야 한다고 주장하는 개발자들도 있다.
항상 보면 게임 개발도 극과 극을 달리는 경우가 참 많다. 정치판에서 보는 좌파니 우파니 하는 용어와 비슷하다.
개발 방법은 개발자들의 경험과 지식에서 깨달음의 결과로 귀결되는 것은 자명한 사실이다. 그래서 게임 개발에 있어서는 극단적인 선택보다는 중용을 선택해야 한다고 생각한다.
둘째, 기획한 가이드 범위에서 하나의 기능(시스템)을 여러 가지로 개발해서 게임 유저가 선택한 것을 결정하여 개발하는 것.
내가 생각해도 좀 어려운 정의이다. 부가적인 설명을 하면, 개발 공정은 기획, 설계, 구현, 테스트 의 일반적인 방법을 따른다.
일반적인 소프트웨어 개발에서는 중요하게 생각하는 기획 단계에서 요구사항 분석이라는 단계를 게임 개발에서는 개발자의 경험에 의해서 결정되고, 게임을 플레이하고 즐기는 유저의 의견은 반영되지 못하는 경우가 많다.
이러한 개발 방법은 개발 완료 시점에 문제가 생기면 문제를 수정하는데 비용과 일정이 많이 소요되는 것은 뻔한 사실이다.
그래서 열린 개발은 유저의 의견을 받아들이는 방법을 이렇게 제시한다. 의심되는 하나의 기능(시스템)을 가능한 여러 개로 빠르게 개발하고, 게임 유저에게 선택할 수 있도록 하는 방법을 선택하는 것이다. 여기서 주의해야 할 점은 여러 개를 만들 때 만약 이미지 등이 포함된 완벽한 구현을 통해서 유저가 선택하는 것이 아니다, 유저에게 양해를 구하고 핵심 기능과 게임 플레이가 가능한 정도 즉, 의견을 받을 수 있을 정도의 개발을 말하는 것이다.
개발자가 빠르게 개발하고, 선택된 것 이외의 개발물은 버려도 아깝지 않도록 생각해야 한다. 물론 이러한 방법을 모든 기능과 시스템에서 활용한다면 개발 기간이 길어지는 문제가 발생될 것이다. 그래서 PD, 즉 디렉터는 시스템 별로 이러한 방법을 사용할지 안 할지를 결정해야 한다.
확실한 기능을 이러한 방법으로 진행하는 것보다는 전통적인 방법으로 구현하는 것이 좋고, 뭔가 께름칙하고 확신이 없을 때는 이런 방법으로 유저 의견을 받으면 좋은 결과를 만들 수 있다.
셋째는 유저의 다양한 의견을 분석해서 근본적인 원인을 개선하는 것.
유저의 의견은 서비스를 경험해본 개발자라면 양적으로 엄청나게 많다는 것을 알 것이다. 해당 게임의 개발자가 아니더라도 게임 개발사 홈페이지마다 있는 게시판을 읽어보면 유저들이 게임을 해보고 남긴 의견들을 쉽게 찾아볼 수 있다. 이러한 의견을 하나하나 개선한다는 것은 어렵다.
열린 개발에서는 많은 유저 의견을 분석해서 근본적인 문제 해결을 해야 한다. 근본적인 해결을 하지 못하면 유저는 점점 줄기 시작할 것이며, 당연히 매출 하락으로 이어지는 결과가 나타날 것이다. 필자의 경험상 다양한 유저의 의견을 분석하다 보면 몇 가지 문제로 귀결된다. 이러한 문제를 해결하는 개발팀과 유저의 하나하나의 의견을 개선하려는 개발팀의 결과는 설명하지 않아도 짐작이 가능할 것이다. 막상 서비스에 시작하게 되면 마음이 급급한 나머지 후자의 방법으로 진행하는 경우가 있다. 서비스나 개발 경험이 그다지 많지 않은 경우에 이러한 실수를 많이 한다.
점점 경험과 연륜이 쌓이면서 전자의 방법을 시도하고 성공 확률을 높이게 된다. 또한 PD의 존재가치는 이러한 상황에서 제대로 발휘된다.
3가지의 정의는 열린 개발의 핵심이다. 열린 개발은 유저의 의견을 최대한 반영해서 개발자가 만들고 싶은 게임을 개발하는 것이 아닌, 개발자가 의도한 게임을 유저의 의견을 받아 더 완성도 있는 게임을 개발하는 것이다.
앞으로 좀 더 구체적으로 경험을 풀어나가려 한다. 앞으로 열린 개발 방법에서 생기는 많은 의구심이 이 "정의" 부분에서 많이 해결이 될 것이다.