Home / Articles

첫 작품을 출시하기까지 6년이 걸린 내가 알려주는, 게임을 완성하는 방법의 글 이미지

첫 작품을 출시하기까지 6년이 걸린 내가 알려주는, 게임을 완성하는 방법

공개일: 2020/06/23 업데이트일: 2021/07/14

안녕하세요, 마키히로(@makihiro_dev)입니다.

게임 개발은 정말 어렵습니다. 세상에서는 흔히 이렇게 말하곤 하지요.

게임을 만들고 싶어 하는 사람은 1000명

실제로 만들기 시작하는 사람은 100명

계속 게임을 만드는 사람은 10명

게임을 완성하는 사람은 1명

그만큼 게임 개발은 어렵습니다.

이 글에서는 제 경험을 바탕으로 게임을 완성하는 방법을 설명하겠습니다.

그 전에, 먼저 제 게임 개발 경력을 간단히 말씀드리겠습니다.

제 경력

저는 6년째 게임을 만들고 있습니다. 혼자 개발하고 있습니다.

처음 5년 동안은 게임을 하나도 출시하지 못했습니다. 그동안 10개가 넘는 프로젝트가 사라졌습니다.

그리고 6년째가 되어서야 드디어 첫 게임을 출시했습니다.

https://twitter.com/makihiro_dev/status/1234444358067216387?s=20

이제 본론으로 들어가겠습니다.

게임은 완성되지 않는다

먼저, 게임을 끝까지 완성하지 못하는 사람들이 흔히 품고 있을 오해를 바로잡고 싶습니다.

게임은 완성되지 않습니다.

게임을 만들다 보면 “이것도 하고 싶다”, “저것도 추가하고 싶다”, “이 부분을 더 다듬으면 훨씬 좋아지겠다” 같은 생각이 계속 떠오릅니다. 아주 작은 미니게임을 만들 때조차, 작업을 이어가는 동안 아이디어가 계속 생깁니다.

이미 출시한 제 게임 _Treasure Rogue_에도 아직 50개가 넘는 작업이 남아 있습니다. 그 대부분은 출시 후에 생긴 것들입니다. 그 작업을 다 끝낼 무렵이면 또 다른 50개쯤의 새 작업이 생겨 있을 것입니다.

게임을 개발하는 한, 이런 작업은 끝없이 생겨나는 것이라고 생각해야 합니다.

게임 개발은 무한 작업 지옥입니다.

게임 개발에는 진짜로 끝이라고 할 수 있는 지점이 없습니다.

게임을 완성한다

이제 “완성”이라는 개념이 없다고 생각하고, 대신 게임을 완성하는 것으로 바꿔야 합니다.

쉽게 말하면, 최소한의 게임 루프, 최소한의 콘텐츠, 최소한의 그래픽을 갖추고 실제로 플레이할 수 있는 상태까지 만드는 것입니다.

그 정도까지 도달했다면 저는 그냥 출시해도 된다고 생각합니다. 오히려 그 시점에 출시하지 않으면 무한 작업 지옥에 빠지게 되니, 차라리 출시하는 편이 낫습니다.

실제로 저는 _Treasure Rogue_를 최소한의 게임 루프, 최소한의 적·아이템·맵 수, 최소한의 그래픽 상태에서 스토어에 출시했습니다.

솔직히 로그라이크 게임치고는 꽤 빈약하지만, 무한 작업 지옥에 빠져 아예 출시하지 못하는 것보다는 훨씬 낫습니다.

그리고 무엇보다 가장 비난받아야 할 것은 “끝났다”는 기준을 정하지 않는 것입니다.

저 역시 그랬습니다. 무엇을 완성으로 볼지 정하지 않은 채, 막연한 “완성”이라는 환상만 쫓았습니다. 그렇게 하면 무한 작업 지옥에 갇혀 게임은 결코 완성되지 않습니다.

게임을 만들기 시작할 때는 먼저 “이 정도면 완성이라고 말할 수 있다”는 구체적인 기준을 정해 두어야 합니다.

그냥 게임을 완성해서 출시하세요.

출시된 형편없는 게임은, 출시되지 않은 걸작보다 가치가 있습니다.

게임이 완성되지 않는 이유

이제부터는 제가 과거에 흐지부지되어 버린 프로젝트들을 돌아보며, 게임이 완성되지 못한 이유를 정리해 보겠습니다.

MP를 너무 많이 쓰는 작업

사람에게는 작업에 쓸 수 있는 MP가 한정되어 있습니다. 그런데 MP가 떨어지면 머리도 몸도 무거워져서, 하고 싶어도 더는 작업할 수 없게 됩니다.

그러니 MP 소모를 가능한 한 낮게 유지해야 합니다.

어떤 작업이 MP를 얼마나 소모하는지는 사람마다 다르므로, 정답은 하나가 아닙니다.

예를 들어 저의 경우는 “모델링”과 “스테이지 제작”에서 MP를 많이 소모하므로, 가능한 한 게임 개발에서 그런 작업을 빼려고 합니다.

  • 모델링이 문제라면 가능한 한 단순한 모델을 사용합니다.
  • 스테이지 제작이 문제라면 스테이지를 자동 생성합니다.

요약하면, 자신에게 MP를 많이 소모시키는 작업은 극단적으로 줄여야 합니다.

뒤에서 소개할 많은 원인들도 결국은 MP 소모가 크다는 데서 비롯됩니다.

실패담

스테이지를 클리어하는 데 초점을 둔 퍼즐 게임을 만들려고 했지만, 스테이지를 만들지 못해서 포기했습니다.

써 본 적 없는 기술을 쓰려는 것

한 번도 써 본 적 없는 기술을 쓰려고 하면, 설계가 쉽게 엉망이 됩니다.

설계가 꼬이면 프로젝트를 만들고 유지하는 일이 괴로워지고, 결국 쓸데없이 MP만 소모하게 됩니다.

써 본 적 없는 기술은 쓰지 마세요. 많아야 하나 정도로 제한하고, 아니면 프로토타입으로 익히는 편이 좋습니다.

AssetBundle을 도입하지 않은 이야기

예를 들어 지금의 _Treasure Rogue_에서는 AssetBundle로 에셋을 불러오지 않습니다. 저는 AssetBundle을 사용해서 게임을 끝까지 완성해 본 적이 없기 때문입니다.

AssetBundle을 쓰면 앱 용량을 줄일 수 있고, 요즘에는 Addressables처럼 편리한 시스템도 있으니 써 보지 않은 기술에 손이 가기 쉽습니다. 하지만 저는 게임을 완성하는 것을 더 우선합니다.

그래서 Unity 오브젝트 참조는 단순하게, Inspector에서 드래그 앤 드롭으로만 처리하고 있습니다.

실패담

써 본 적 없는 기술을 한꺼번에 넣었다가 MP가 너무 많이 소모되어 결국 포기했습니다.

애착이 생기지 않는 것

다소 낭만적으로 들릴 수 있지만, 애착은 꽤 중요합니다.

게임에 애착을 느끼지 못하면, 계속 만들고 싶다는 동력을 잃게 됩니다.

게임을 만들고 싶은 동력이 떨어진다는 것은 최대 MP가 줄어든다는 뜻입니다.

그래서 게임의 그래픽이나 게임플레이처럼 처음 정하는 요소는, 진심으로 만족할 때까지 충분히 고민해 둘 가치가 있습니다.

실패담

제가 만든 모델에 애착을 느끼지 못해서, 결국 포기했습니다.

충분히 생각하지 않고 새 게임을 시작하는 것

게임을 만들고 싶다는 마음이 너무 앞서서, 생각하지도 않고 새 게임을 시작해 버리는 유형입니다.

특히 프로젝트 초반은 매우 재미있기 때문에, 지금 만들고 있는 게임에 대한 동력이 떨어지기 시작하면 새 게임 아이디어의 유혹에 특히 약해집니다.

이 유혹에 절대로 넘어가서는 안 됩니다.

이렇게 충동적으로 시작한 게임은 개발 도중에 어딘가에서 써 본 적 없는 기술이 잔뜩 들어가 있거나, 다른 치명적인 결함이 드러나는 경우가 많습니다.

또 이런 유혹에 넘어가면 흔히 “일단 지금 멈춰 둔 게임은 나중에 다시 하면 되겠지”라고 생각하지만, 제 경험상 중단한 게임은 다시 시작되지 않습니다.

결국 예전에 스스로 만들어 둔 뒤엉킨 프로젝트를 다시 건드리고 싶어 하지 않게 됩니다.

그리고 다시 “유혹에 졌다, 생각 없이 새 게임을 시작했다, 결함을 발견했다…”는 식의 연쇄에 빠지게 되므로, 새 게임을 시작할 때는 반드시 잘 계획하고 유혹에 지지 마세요.

완성하는 힘을 기르는 법

“완성하는 힘”은 말 그대로 게임을 완성하는 능력입니다.

“게임 개발 초보”와 “게임을 끝까지 완성하지 못하는 사람”은 먼저 완성하는 법부터 배워야 합니다.

튜토리얼을 해 보기

Unity 공식 튜토리얼이든 초보자를 위한 게임 개발 서적이든 상관없습니다. 끝까지 가는 길이 분명한 튜토리얼을 적어도 한 번은 해 보세요.

그러면 시작부터 끝까지의 흐름을 이해하는 데 도움이 됩니다.

저는 “첫 작품은 반드시 내 오리지널 게임이어야 한다!”는 쓸데없는 고집을 부리면서, 개발 4년 차가 될 때까지 튜토리얼을 전혀 하지 않았습니다. 게다가 만들고 있던 게임도 복잡했기 때문에, 결국 완성하는 힘을 기르지 못했습니다.

그런 집착은 일을 멈추게 할 뿐이니, 정말 전혀 필요 없습니다.

덧붙이자면, 지금의 저는 “Treasure Rogue는 첫 작품이고, 튜토리얼은 연습작이었다”라고 자연스럽게 나누어 생각할 수 있습니다. 그래서 지금 돌아보면 “그때의 고집은 정말 전혀 필요 없었다”고 느낍니다.

필요 없는 집착은 지금 바로 버리세요. 미래의 자신이 알아서 그럴듯하게 구분해 줄 것입니다.

1주일 안에 게임 하나를 만들어 보기

튜토리얼로 게임 개발의 흐름을 익혔다면, 이제 1주일 안에 자신만의 게임을 하나 만들어 보세요.

이렇게 하면 완성하는 힘을 단숨에 기를 수 있습니다.

실제로 저는 이렇게 한 뒤 4개월 후에 _Treasure Rogue_를 출시할 수 있었습니다.

처음 해 봤을 때는 “완성하는 힘”이 확실히 늘어난 것이 느껴졌고, 두 번째 해 봤을 때는 그 힘이 완전히 자리 잡았습니다.

여기서 중요한 것은 최소한의 게임 루프만 먼저 만드는 것입니다. 다시 말해, 게임을 완성하는 것입니다.

저는 2년 전에 unity1week라는 이벤트에 참가했지만, 그때는 게임을 최소한이라도 플레이할 수 있는 수준까지 만들지 못했습니다.

그럼에도 “일단 공개해 두면 게임을 완성하는 마음가짐을 얻을 수 있을지도 모른다”는 생각으로 그 상태의 게임을 공개했습니다. 하지만 경험상 효과는 별로 좋지 않았습니다. 결국 그때부터 제대로 출시하기까지 다시 2년이 걸렸습니다.

그러니 개발 허들을 스스로 “이게 너무 적은 것 아닌가?” 싶을 정도로 낮추세요.

“스테이지 1개만 플레이 가능하게 한다. 무기는 1종류만 구현한다. 적도 1종류뿐이다.” 이 정도면 충분합니다. 솔직히 이 정도조차 아직 높을 수 있습니다.

공개하기

게임을 완성했다면, 반드시 실제로 공개해야 합니다.

형편없는 게임이라도 마찬가지입니다.

공개하지 않으면 “게임이 완성되었다”는 감각을 진짜로 얻지 못하고, 결국 끝없이 계속 손보게 되어 무한 작업 지옥에 빠집니다.

게임을 공개해서 한 단락을 마무리하는 것은 매우 중요합니다.

아래 이미지는 제가 unityroom에 올린 게임 목록입니다. 튜토리얼 작품부터 1주일 게임까지 모두 공개했습니다.

Makihiro | unityroom

플레이어가 실제로 게임을 즐길 수 있게 되기 전까지는, 여전히 게임 개발의 일부입니다.

마무리

이것으로, 첫 게임을 출시하기까지 6년 동안 겪은 시행착오를 정리한 글을 마칩니다.

게임을 끝까지 완성하는 데 어려움을 겪는 분들께 도움이 되면 좋겠습니다.

덧붙임

이 글의 한 문장이 트위터에서 맥락 없이 퍼져 나갔기 때문에, 이를 보완하는 후속 글을 따로 썼습니다.

“출시된 형편없는 게임은, 출시되지 않은 걸작보다 가치가 있다”에 대한 보충 설명

공유

Twitter