게임개발 알아두면 좋은 팁들

게임을 개발하기 위해서는 알아야 할 것들이 무척이나 많습니다. 대부분 아이디어는
있지만 개발을 어떻게 해야 할 지 모르는 사람들을 위해서 작성된 글들이 없으며
많은 것들이 생략된체로 게임 개발 과정을 설명하거나 이미 게임을 개발한 사람들이기에
당연하게 생각하는 부분들이 많기 때문에 막상 게임을 개발하다 보면 초보자에게는
의외로 많은 생각지도 못한 문제점들이 들어나기 시작합니다. 이 글은 게임을 처음 개발하는
사람들이 입문을 할 때 알아두면 좋은 팁들을 정리하여 작성한 글이며 이 카테고리에서
종종 게임 개발에 대한 팁들을 써볼까 합니다.
게임 개발 엔진은 대체 어떤것을 선택하는 것이 좋은가?

게임 개발 엔진의 종류는 유명한 것을 제외 하더라도 엄청나게 많은 수의 엔진이
존재하며 게임엔진의 종류와 특징을 설명한 글들도 많고 과거 블로그에서도 언급하여
특집을 다룬적이 있으며 지금까지도 새로운 엔진이 탄생할 정도로 많습니다.
게임 엔진은 자신이 주로 어떤 게임을 만들 것인지를 먼저 정해야 합니다. 예를들어
2D게임을 주로 만들고 싶다. 혹은 3D만 만들고 싶다. 2.5D 혹은 둘 다 만들고 싶은지를
정해야 엔진의 선택의 폭이 좁아집니다. (엔진마다 지원하지 않는 것이 존재하기 때문)
다음에는 유료 엔진인지 상업적 목적으로 쓸 것이지만 무료도 가능한지의 여부와
그 외에는 인터페이스 및 자신이 쉽게 이해 가능한 코딩 언어, 작업 방식들을 찾아보고
만져보면서 취향에 맞아야 오랜 시간동안 붙들고 연구하며 게임 개발에만 몰두 할 수 있습니다.
(쉽게 이것저것 엔진을 교체하기만 하면 헷갈리기 시작하며 실력이 늘지 않음)
처음부터 방대한 계획을 세우지 말 것

엔진을 선택했다면 게임 개발에 대한 이해도를 높이기 위해서 튜토리얼이나 간단한
게임들을 따라 만들면서 익숙해져야 합니다. 아무것도 모르는 상태에서 갑자기 루트파밍 슈터나
엄청난 대작 RPG를 만들겠다고 생각하는 순간 알고리즘만 찾다가 끝나버릴 수 있고
혹은 시스템만 만들다가 1년이 지나버릴 수 있습니다. 고난이도 시스템은 잠시 잊고
캐릭터를 어떻게 움직이는 것인지, 점프나 간단한 액션의 구성은 어떻게 하는지등을 차근차근
배워가면서 타이틀 부터 엔딩까지 간단한 실행에서 종료까지의 루프를 배워가는 것이 중요합니다.
아직 게임을 만들지 않았다면 무엇이 궁금한지도 모르는 상태이지만 시작을 하게 되면
생각보다 정말 아무것도 모른다는 것을 깨닫게 됩니다. 예를 들어 게임 메뉴는 어떻게 만들지?
게임 저장은? 게임 불러오기는? 키보드나 마우스 제어는 어떻게 하지? 캐릭터 애니메이션은
어떻게 재생시키고 정지시키지? 등등 계속해서 궁금증이 생겨나면서 하나씩 해결하며
배우는 과정이 필요합니다. (그러니 계획은 일단 접어두고 배웁시다)
팀 작업 or 1인 개발?

당연히 팀 작업이 개발의 효율성이나 각자 맡은 임무를 수행하면 되기에 편합니다.
하지만 많은 사람들이 모일수록 각자 목표나 생각이 다르기 때문에 많은 문제점들이 발생합니다.
예를들면 팀원이 처음에 작업을 하다가 도중 탈퇴할 경우 그 빈자리를 매꾸기 위해서 다시
사람을 찾아야 하고 또는 작업자 중 한 명이 스케줄을 따르지 않거나 놀경우 진행이 되지 않거나
혹은 서로 만들고 싶은 게임이 다르고 게임에서 만족하는 성향도 다르기 때문에 의견충돌이 일어나
팀이 깨지는 경우도 생깁니다. 1인 개발의 경우 그래픽 디자인 및 애니메이션 + 이펙트 , 프로그래밍,
시스템 기획 및 디자인 기획, 음악, 시나리오등등 혼자서 모든 것을 해야 하기 때문에
적어도 3가지 이상 주특기가 있어야만 가능해집니다. (나머지는 AI도움을 받더라도 힘듬)
처음부터 완벽하게 하지 말것

실제 게임회사에서 조차도 프로토타입이라는 것을 설계하고 만듭니다.
그래픽은 그냥 사각형이라도 상관없고(플레이어 : 파란 사각형, 적 : 빨간 사각형) 만들고 싶은
게임을 그래픽이나 음악, 효과, 이펙트가 심지어 없어도 재미있다면 그 때부터 본격적으로
캐릭터 디자인이나 효과들을 입혀가며 완성도를 높여가는 방식으로 개발해야 완성이 됩니다.
하지만 대부분의 초보자들이 하는 실수는 처음부터 개쩌는 캐릭터, 지릴것 같은 그래픽과 효과를
만들고 시작하고 싶어하다 보니 게임 개발과 핵심적인 재미가 있는 시스템에 대해선 뒷전으로
점차 게임이 아니라 아트만 하고 있다거나 그 작업에서 이미 지쳐버려 게임의 완성은 점차
멀어져 갑니다. 그렇기에 프로젝트의 시작과 프로젝트를 접는 일들을 모두 프로토타입에서 결정되야 합니다.
확실하게 노선을 정하고 개발하기

아무리 천재적인 프로그래머라고 해도 모바일 게임을 만들 것이라고 초기에 노선을 정했는데
갑자기 4k 해상도를 지원하는 PC, 콘솔 게임으로 전향하려고 한다면 이것은 수정이 아니라
거의 다시 만들어야 하는 수준까지 달라집니다. (불가능 하진 않지만 나라면 그냥 때려치우겠음)
혹은 처음부터 키보드 마우스만 지원하는 게임이었는데 갑자기 게임 패드 지원을 해야 한다면
많은 코드를 찾아보며 다시 수정해야 하고 당연히 2D게임인데 갑자기 탑뷰에서 쿼터뷰나 다른 뷰로
연출을 해야 한다는 것도 불가능한 일입니다. (3D라도 많은 구성이 달라집니다)
그 외에도 처음부터 정해야 하는 것들은 게임을 플레이 하는 대상의 명확한 타겟층을 정하거나
특정 장르 유저를 겨냥해야 하고 그래픽의 스타일이나 전체적인 방향성을 정하고 바꾸지 않아야 합니다.
이 이야기를 하는 이유는 사람이기 때문에 최근 유행하는 것들을 발견하거나 갑자기 마음이 바뀌는
상황들이 계속해서 발생하기 때문입니다.
개발자 마인드 vs 게이머 마인드

인디 게임 개발의 시작은 독립적으로 만들고 싶은 게임을 만들기 위해 시작되었더라도
게임 개발의 목적에 수입이 없다면 대부분 그만두게 됩니다. 처음 게임을 만들게 되면
유저의 입장에서 바라본 상황으로 게임을 만들며 ‘왜 이렇게 안만들지?!’ 라고 생각하게 되는
몇 가지 패턴들이 존재합니다. 예를 들어 쉽게 게임 내에서 쓰이는 재화로 모든 것들을
사버리게 해버리면 게임의 플레이 타임이 빠르게 줄어버리거나 반대로 게임에서 너무나
많은 반복과 고통을 주면 플레이어가 이탈하게 되기 때문에 어떻게 재미있으면서도
게임 콘텐츠를 적절한 시간동안 유지하고 불편을 줄일지 고민해야 합니다.
또한 유저 피드백은 중요하지만 전부 수용하고 받아들이면 제작자가 생각한 초기 목적과 방향성을
쉽게 잃어버리게 되고 상처만 받고 돈도 벌지 못하고 게임이 망가져 가는 과정을 겪게됩니다.
게임의 홍보를 위한 작업도 필수인 시대
과거에는 게임이 별로 없었기 때문에 게임을 잘 만들고 나면 어떻게든 게임이 알려지고
결국 판매가 될 수 있었지만 현재에는 하루에도 2000개 이상의 게임이 등장하고 앞으로는
더 많은 게임들이 나올 것이 분명하기에 홍보가 생명이 된 시대가 되었습니다.
게임 개발 과정을 보여주는 SNS활동, 계속해서 게임의 특징이나 매력을 어필하는 유투브
영상이나 숏폼에 올리기, 게임을 판매하는 많은 플랫폼에 올려 데모나 위시리스트 받기,
혹은 충분한 방문객들이 있는 사이트나 커뮤니티에 홍보활동, 유명 인플루언서들에게
무료로 게임을 배포하는등의 노력을 해야 합니다.
성공한다는 보장은 없다는 것을 알아야한다

자 이제 위의 모든 것들이 해결되었다면 당연히 게임이 인기를 끌고 잘 팔리거나
앞으로도 계속 다음 작품을 만들 수 있을거라 기대하지만 인디 게임의 경우에는 실패는
곧 다음 작품이 없음을 의미합니다. (다시 하려면 생계활동을 위해서 다른 일을 해야함)
게임회사에서 조차도 제대로 된 성공적인 프로젝트가 아닌 경우 다른 팀에 팔려가거나
혹은 프로젝트 중단과 함께 팀이 해체되어 다른 회사를 알아봐야 할 정도로 위험합니다.
생각해 보면 수 많은 게임들이 절대로 못 만들어서 성공하지 못한 것이 아님을 인식해야 합니다.
오히려 게임은 그냥 그렇지만 홍보를 잘했거나 사람들에게 입소문이 타서 팔리는 경우도
있고 혹은 2년 전에 나온 게임이 갑자기 빛을 발하며 성공하는 사례등 알 수 없는 것이
게임의 성공과 실패입니다.
이야기를 마치며
이 이야기는 겁을 주려거나 포기하게 만들기 위함이 아니며, 현실적인 이야기와 함께
알아두어야 한다는 것을 직설적으로 설명한 글입니다. 인디 게임 개발이나 게임의 개발을 해보고 싶다면
미루지 말고 조금이라도 젊은 시절에 시작해야 한다고 생각하며 아직까지도 AI가 딸깍하고
게임을 만들어주는 시대만 기다리고 있다면 게임의 개발 노하우, AI가 만들어 줬다고 해도 수정이나
유지관리, 게임의 배포나 홍보 방법, 자기만의 색깔이 있는 게임 제작은 못하게 됩니다.
경험을 쌓고 실력을 기르기 위한 게임 개발을 위해 힘쓰길 바라며 긴 이야기를 마칩니다.


