게임 개발이란 무엇인가?
게임 개발이란 게임을 디자인하고 만드는 과정 전체를 가리키는 말입니다. 일반적으로 게임이라고 하면 컴퓨터 게임 뿐 아니라 보드 게임도 포함을 시키지만, 이 글에서는 컴퓨터 게임으로 그 대상을 한정하도록 하겠습니다. 물론 여기에서 말하는 컴퓨터 게임에는 비디오 콘솔 게임이나 모바일 게임 개발 등도 포함됩니다.
하나의 게임을 완성하려면 프로그래밍과 같은 엔지니어링 기술, 기획과 같은 디자인 기술, 아트나 사운드와 같은 기술이 모두 요구됩니다. 하지만 이런 각 분야의 기술들은 워낙 전문화되어 있기 때문에 한 사람이 모두 맡아서 하기란 사실상 불가능합니다. 따라서 일반적으로 게임 개발은 팀 작업으로 진행됩니다.
프로젝트의 크기가 크고 복잡성이 높을 경우 게임 개발을 위해 필요한 인원 수와 전문 분야가 많아 집니다. 단순한 게임 개발 프로젝트의 경우 한 사람이 이 모든 것을 처리할 수도 있습니다. 이 경우를 우리는 1인 게임 개발이라고 이야기하기도 합니다. 하지만 일반적으로 게임을 만드는 데는 다수의 팀원들의 역할 분담이 필요합니다. 게임 개발팀의 일반적인 역할에는 게임 디자이너(게임 기획자), 프로그래머, 그래픽 아티스트, 오디오 디자이너 등이 포함됩니다.
게임 개발이란 플레이어에게 재미있는 경험을 선사하기 위한 일이기 때문에 창의성이 요구됩니다. 그리고 이러한 창의적인 아이디어를 실제로 구현할 수 있는 기술도 필요합니다.
따라서 게임 개발을 어떤 사람들은 창의성과 기술의 만남이라고 표현하기도 합니다. 다시 말해서 새로운 아이디어를 제시하고 이를 플레이 가능한 ‘게임’이라는 소프트웨어로 만들기 위한 모든 과정을 통틀어 게임 개발이라고 말하는 것입니다.
왜 게임 개발은 매력적인가?
게임 개발은 창의적인 작업이다.
게임 개발이 매력적인 이유는 그것이 개발자의 창의력을 요구하기 때문입니다. 게임을 개발하는 과정은 창의적인 아이디어가 계속적으로 떠오르는 일련의 과정을 경험하는 일이기도 합니다.
하나의 단순한 아이디어가 그 다음의 더 나은 아이디어를 촉발하고, 그 아이디어를 기반으로 만든 프로토타입 게임을 플레이하는 가운데에 새로운 아이디어가 계속 떠오릅니다. 이러한 창의적인 작업이 안겨주는 기쁨은 실제 그것을 경험해 본 사람이 아니면 알 수 없을 정도입니다.
게임 개발은 협력적인 작업이다.
게임 개발을 위해서는 일반적으로 팀 작업이 요구됩니다. 다른 사람과 함께 작업하는 가운데에 게임 개발자들은 서로에게서 새로운 것을 배울 수 있고, 자신들의 아이디어를 공유하면서 혼자 힘으로는 불가능했던 더 멋진 것을 만들어 낼 수 있습니다.
때로는 이러한 협력 작업이 어렵고 괴로울 때도 있지만, 경험이 쌓여 가는 가운데에서 정말 멋진 일은 혼자 힘이 아니라 다수가 힘을 합칠 때만이 비로소 가능하다는 것을 깨닫게 됩니다.
게임 개발은 혁신적인 작업이다.
게임 개발 분야는 끊임없이 진화하고 있습니다. 과거에는 없던 새로운 게임 플랫폼이 만들어지고 관련된 기술과 플레이 방법이 계속 소개됩니다. 예를 들어 스마트폰의 등장과 함께 손가락 터치 기반의 게임 플레이가 고안되고, 이를 바탕으로 새로운 개념의 게임들이 만들어졌습니다.
또한 VR(가상 현실) 이나 AR(증강 현실) 과 같은 새로운 게임 플랫폼과 기술이 소개되면서 포켓몬 Go 나 비트 세이버와 같은, 과거에서는 생각할 수도 없었던 방식의 게임을 만들고 플레이하는 것이 가능해 졌습니다.
이런 식으로 게임 개발자는 새로운 혁신적인 기술과 아이디어를 활용할 기회를 끊임없이 부여 받습니다. 이는 다른 어떤 분야에서도 맛볼 수 없는 놀라운 경험이 가능하다는 이야기이며, 게임 개발이 매력적인 또 다른 이유이기도 합니다.
게임 엔진 선택하기
게임을 만들기 위해 가장 먼저 알아야 할 것은 게임 엔진입니다. 과거 많은 게임 개발 입문서들이 게임 디자인(게임 기획)부터 이야기를 풀어 나갔지만 저의 경우 게임 엔진부터 시작하고자 합니다. 왜냐하면 게임 개발을 이해하기 위해 가장 좋은 방법은 당장 지금부터 무엇인가를 만들어 보는 것이기 때문입니다.
사전 지식이 충분하지 않아도 상관 없습니다. 간단한 것이라도 직접 만들어 보고 시행착오를 거치는 과정에서 여러분들은 게임 개발이 무엇인지, 그리고 이를 위해 무엇을 배워야 하는 지에 대해 스스로 깨달아 나갈 수 있을 것이기 때문입니다.
게임 개발을 위해 가장 먼저 알아야 할 것은 게임을 만들 수 있게 해 주는 도구, 바로 게임 엔진입니다. 게임 엔진이 무엇인지를 이해하고, 가장 쉽게 사용할 수 있는 게임 엔진을 이용해서 직접 무엇인가를 만들어 나가는 것이 게임 개발의 첫걸음입니다. 그럼 게임 엔진이 무엇인지에 대해 우선 알아 보겠습니다.
게임 엔진이란 무엇인가?
게임 엔진은 컴퓨터 게임을 개발하는 데 사용되는 소프트웨어입니다. 게임 엔진은 게임 개발자가 게임을 제작하고 실제 플레이 가능한 소프트웨어로 변환시키기까지 필요한 대부분의 작업을 가능하게 해 주는 일련의 도구와 리소스를 제공합니다.
게임 엔진은 일종의 도구 상자와 같다고 이해하시면 됩니다. 목수가 도구 상자를 이용해서 집을 짓거나 수리하는 것처럼 게임 개발자는 게임 엔진을 이용하여 게임을 만듭니다.
게임 엔진에는 무엇이 들어 있는가?
게임 개발자의 도구 상자(게임 엔진) 내부에는 게임 개발자가 게임을 만들기 위해 사용할 수 있는 모든 종류의 도구가 들어 있습니다.
예를 들어 게임의 지형을 생성하고 편집할 수 있는 도구, 2D 이미지나 3D 모델을 불러 와서 게임 세계 속에 배치할 수 있는 도구, 캐릭터에 애니메이션을 붙여 게임에서 움직일 수 있도록 하는 도구, 프로그래밍 코드를 작성하고 이를 이용하여 게임의 작동 로직을 구현하기 위한 도구 등, 게임을 만들기 위해 필요한 거의 모든 도구들이 이 도구 상자(게임 엔진) 안에 들어 있다고 생각하시면 됩니다.
게임 개발자가 사용하는 도구는 물리적인 세계가 아니라 컴퓨터 안에서 소프트웨어 형태로 존재한다는 점이 다를 뿐, 그 목적과 기능이라는 측면에서 보면 현실 세계의 목수가 사용하는 도구와 거의 유사합니다. 목수가 망치를 이용해서 집을 짓는 것처럼 게임 개발자는 게임 엔진에 내장되어 있는 소프트웨어 도구들을 이용해서 게임을 만들어 내는 것입니다.
이처럼 게임 엔진을 잘 활용할 수만 있다면 초보자들도 간단한 게임은 어렵지 않게 만들 수 있습니다. 과거에는 게임 엔진은 일반인들이 접할 수 없는 특수한 소프트웨어였습니다. 하지만 최근에는 누구나 고성능의 게임 엔진을 무료로 설치해서 사용할 수 있는 시대가 되었습니다.
게임 엔진 사용법도 점점 쉬워지고 있습니다. 따라서 게임 개발에 대해 알고 싶다면 일단 어떤 게임 엔진이라도 설치해서 가지고 놀아 보는 것이 중요합니다. 그러는 과정에서 자연스럽게 게임 개발에 친숙해질 수 있게 될 것이기 때문입니다.
게임 엔진의 종류
게임 엔진의 종류는 다양합니다. 초보자들이 사용하기 쉬운 게임 엔진도 있고, 좀 더 전문적인 지식이 요구되는 엔진들도 있습니다. 여기에서는 초보자들이 활용하기 쉬운 몇 가지 엔진들에 대해 소개해 보도록 하겠습니다.
유니티 (Unity)
유니티 엔진은 PC나 콘솔, 모바일, 웹, VR 등 다양한 플랫폼용 게임을 개발하는 데 사용되는 인기 게임 엔진입니다. 현재 전세계에서 가장 많이 사용되는 게임 엔진이며, 수 많은 개발자 커뮤니티와 온라인 학습 자료들이 있기 때문에 배우기도 쉽습니다.
유니티 엔진으로는 게임 개발을 위해 필요한 거의 모든 작업을 할 수 있습니다. 강력한 게임 에디터가 내장되어 있고 프로그래밍은 물론이고 사용자 인터페이스, 인공 지능, 애니메이션 편집기 등 없는 기능이 거의 없을 정도입니다.
따라서 전문가들이나 상업 게임 개발사들도 대다수 이 엔진을 사용하고 있습니다. 여러분이 자신의 게임 개발 능력을 발전시켜 향후 상업용 게임 제작에 도전하거나 게임 개발사에 취업을 하고자 한다면, 유니티 엔진으로 시작하는 것이 가장 좋은 방법일 것입니다.
고도 엔진 (Godot Engine)
고도 엔진(Godot Engine)는 오픈소스 게임 개발 엔진으로, 2D와 3D 게임을 모두 지원합니다. 완전히 무료로 제공되며, 상업적 프로젝트에서도 자유롭게 사용할 수 있어, 인디 개발자들과 소규모 팀들에게 특히 인기입니다.
GDScript라는 간편한 스크립트 언어와 노드 기반의 직관적인 개발 환경 덕분에 사용자가 빠르게 게임을 제작하고 배포할 수 있습니다. 또한 커뮤니티 주도로 개발되며, 업데이트와 기능 개선이 빠르게 이루어집니다
고도 엔진은 지금 가장 핫한 게임 엔진 중 하나입니다. 지난 2023년에 유니티가 갑자기 설치 기반 요금제를 신설하고, 가격을 올림에 따라 많은 인디 개발자와 스타트업 게임 개발사들이 고도 엔진으로 게임을 개발하기 시작했습니다(설치 기반 요금제는 2024년 9월에 유니티가 공식적으로 철회했지만 대신 가격을 인상했습니다). 따라서 게임 개발을 처음 시작하는 분들에게는 가장 추천할 만한 엔진입니다.
추가로 읽을 글: 고도엔진 책과 강의 추천
게임 메이커 (Game Maker)
게임 메이커는 초보자들을 위해 특별히 설계된 게임 엔진입니다. 드래그 앤 드롭 방식으로 설계된 비주얼 스크립트 방식의 프로그래밍 언어가 있기 때문에, 전문적으로 코딩을 배우지 않은 초보자들도 쉽게 배워서 게임을 만들 수 있습니다.
게임 메이커는 2D 게임 개발에 적합한 엔진입니다. 엔진의 역사가 꽤 오래되었고 역시 전세계적으로 수 많은 사용자들을 보유하고 있습니다.
RPG 메이커(RPG Maker)
RPG 메이커는 롤플레잉 게임 제작을 위해 설계된 게임 엔진입니다. 사용자 인터페이스가 간단하고 롤플레잉 게임 전용으로 미리 만들어진 다양한 그래픽 리소스 등이 있기 때문에 초보자가 정말 쉽게 자신이 원하는 스타일의 롤플레잉 게임을 만들어 볼 수 있습니다.
지루한 사전 공부 및 준비 단계를 거치지 않고 즉시 게임 제작에 뛰어 들고 싶다면 이 엔진으로 시작하는 것이 좋습니다.
언리얼 엔진 (Unreal)
언리얼 엔진은 엄밀하게 말하면 초보자용 엔진은 아닙니다. 하지만 기본 사용법이 점점 더 쉬워지고 있기 때문에 초보자라고 해도 이 엔진에 도전해 볼만하다고 생각되어 소개해 봅니다.
언리얼 엔진은 에픽 게임즈에서 개발한 게임 엔진입니다. 유니티와 마찬가지로 콘솔, PC, 모바일, 그리고 가상현실(VR)에 이르기까지 인기있는 거의 대부분의 게임 플랫폼에서 동작하는 게임을 만들기 위해 사용됩니다.
이 엔진은 고급 그래픽 기능으로 특히 유명합니다. 따라서 고품질 그래픽의 트리플 A 게임(AAA 게임)을 만드는 대형 게임 개발사에서도 이 엔진을 많이 사용합니다. 1인칭 슈팅 게임은 물론이고 액션 및 롤플레잉 게임을 만드는데 인기 있는 엔진입니다.
유니티와 마찬가지로 광범위한 개발자 커뮤니티들이 존재하고 매뉴얼 및 동영상 튜토리얼도 굉장히 많습니다. 따라서 초보자라 할 지라도 언리얼 엔진을 배우는 데 너무 겁 먹을 필요는 없습니다.
게임 매카닉에 대해 이해하기
일단 엔진을 선택했으면 이제 게임을 만들어 보아야 합니다. 하지만 아무런 계획 없이 게임을 바로 만들 수는 없습니다. 시작하자마자 길을 잃어 버리고 어디에서부터 무엇을 해야 할 지 막막해질 것이기 때문입니다.
따라서 게임의 목표, 그리고 그 목표를 달성하기 위한 최소한의 규칙 정도는 미리 생각해 놓은 다음에 개발을 시작할 필요가 있습니다. 여기에서 등장하는 개념이 바로 게임 매카닉입니다.
게임 매카닉이란 무엇인가?
게임 매카닉(Game mechanics)이란 게임 플레이를 지배하는 규칙과 시스템을 가리키는 말입니다. 여기에는 게임 플레이 도중에 플레이어가 선택할 수 있는 액션과 그 액션의 결과, 그리고 게임 전체의 구조와 전개 방식까지가 포함됩니다.
게임 매카닉은 잘 계획된 규칙이지만, 게임의 의외성을 부각시키기 위해 운(Luck)과 관련된 규칙을 부과하기도 합니다. 예를 들어 롤플레잉 게임에서 플레이어의 선택에 대한 결과에 영향을 미치기 위해 주사위 굴리기 매커니즘을 추가할 수도 있습니다. 이 경우, 결과에 우연적 요소가 영향을 주게 되어 게임에 흥미가 더해질 수 있습니다.
게임 매카닉 디자인의 사례
게임 매카닉에는 자원 관리, 전투 시스템, 레벨 업 시스템 등 다양한 규칙들이 포함됩니다. 초보자의 경우에는 이 모든 규칙들을 처음부터 다 만들고자 하기 보다는 만들고자 하는 가장 핵심적인 규칙을 하나 만들고 나서, 게임을 만드는 과정에서 이를 발전시키는 것이 좋습니다.
예를 들어 경험치 습득을 통한 레벨 업 시스템 하나를 만들고, 게임 엔진을 이용해서 이 기능만 만들어 보는 것입니다. 이것이 훌륭하게 작동하면, 다음으로 전투 시스템을 추가해 넣거나 아이템 관리 시스템을 추가해 넣는 식으로 게임을 단계적으로 발전시킬 수 있습니다.
이런 과정을 통해 초보자는 게임의 각 시스템이 서로 어떻게 상호 영향을 주고 받는 지에 대해 배울 수 있습니다. 따라서 가장 간단하고 기본적인 게임 매카닉을 만들고 나서 바로 개발에 뛰어 들어 보시기 바랍니다. 그것이 게임 개발 과정을 배우는 가장 빠르고 효과적인 길이기 때문입니다.
게임 디자인 원칙 이해하기
게임 매카닉을 잘 설계하기 위해서는 게임 디자인의 원칙(game design principle)에 대해 이해하는 것이 중요합니다. 게임 디자인 원칙이란 게임 디자이너(기획자)가 재미있는 게임을 만들기 위해 참고하는 지침을 가리킵니다. 다음은 게임 개발을 위한 몇 가지 디자인 원칙들입니다.
도전(challenge)의 원칙
게임은 플레이어에게 도전 의지를 불러 일으킬 수 있어야 합니다. 따라서 너무 어렵거나 쉬워서는 안됩니다. 플레이어의 테크닉과 운의 적절한 균형, 그리고 도전 난이도와 보상의 크기 등을 적절하게 조합한다면 플레이어의 도전 의식을 오랫동안 고취시킬 수 있습니다.
피드백(feedback)의 원칙
게임은 플레이어에게 시기 적절하고 의미 있는 피드백을 제공해야 합니다. 그렇지 않으면 플레이어는 자신이 지금 플레이를 성공적으로 잘 하고 있는지 아니면 실패 직전인지 알 수 없을 것입니다. 적절한 피드백은 플레이어에게 당근과 채찍으로 작용합니다. 플레이어가 스스로 선택한 행동의 결과를 즉각적으로 이해하고, 실수를 했다면 그로부터 배울 수 있도록 해야 합니다.
진행(progression)의 원칙
게임은 플레이어가 진행에 대한 감각을 느낄 수 있도록 해야 합니다. 즉, 플레이어가 게임을 통해 무엇인가를 성취해 나가고 있다는 느낌을 전달해야 하는 것입니다.
롤플레잉 게임의 레벨 업 시스템이 대표적인 예입니다. 레벨 업 시스템 등을 통해서 플레이어가 게임을 하면서 성장하고 부유해지고 있다는 느낌을 적절하게 제공하지 않으면 그들은 게임을 계속하려는 의욕을 금방 잃게 될 것입니다.
반복 플레이(replayability)의 원칙
게임은 플레이어가 반복적으로 게임을 플레이할 만한 가치를 제공할 수 있어야 합니다. 멀티 엔딩 시스템이나 선택 가능한 다양한 캐릭터, 직업, 분기점, 수집품 등 여러가지 방법을 통해 게임은 플레이어의 반복 플레이 가능성을 높일 수 있습니다.
게임 에셋 만들기
설계도(게임 매커닉)와 도구(게임 엔진)가 준비되었다면 다음으로 필요한 것은 재료일 것입니다. 게임을 만들기 위해 필요한 재료를 우리는 게임 에셋(asset)이라고 합니다.
게임 에셋이란 게임을 만드는 데 사용되는 그래픽이나 오디오 리소스 등을 가리키는 말입니다. 3D 모델, 텍스처, 오디오 파일, 스크립트 코드 등이 그 대표적인 예입니다.
이들 에셋은 일반적으로 3D 모델링 소프트웨어, 오디오 편집 소프트웨어 등을 통해 전문적인 작업자들이 만들어 냅니다. 이들이 만든 원본 리소스 파일은 게임 엔진에서 사용하는 포멧으로 변환되어 게임 에셋으로 기능하게 됩니다.
게임 개발을 처음 시도하는 초보자의 경우 이러한 고품질의 게임 에셋을 스스로 만들어내는 것은 거의 불가능하며, 사실 그럴 필요도 없습니다.
상업용으로 출시될 게임이 아니라 공부를 위해 만드는 게임의 경우 단순한 형태의 게임 에셋만 있어도 충분합니다. 유니티를 비롯한 많은 게임 엔진들은 이러한 목적으로 사용될 가장 기본적인 형태의 게임 에셋을 무료로 제공합니다.
예를 들어 유니티 엔진 사용자들은 에셋 스토어라고 하는 게임 에셋 배포 사이트에 접속해서 무료로 제공되는 수 많은 3D 캐릭터나 배경 모델, 애니메이션, 2D 이미지, 그리고 오디오 파일들을 다운로드 받아서 에셋으로 사용할 수 있습니다.
(참고로 유니티 에셋 스토어는 게임 개발 에셋을 구매하거나 판매하기 위한 온라인 마켓 플레이스입니다. 이곳에서는 타인이 3D 모델이나 텍스춰, 오디오 파일이나 스크립트 코드를 유료 또는 무료로 다운로드 받거나, 자신이 만든 파일들을 업로드해서 판매할 수 있습니다.)
스크립트 코드 작성하기
게임 에셋이 준비되었다면 다음 단계로 해야 할 것은 게임의 각 구성 요소들이 스스로의 힘으로 움직이거나, 아니면 플레이어의 조작에 자동으로 반응할 수 있도록 작동 로직을 부여하는 것입니다. 이를 위해 필요한 것이 스크립팅입니다.
게임 개발에서 게임 스크립트는 게임 플레이 매커니즘, 이벤트 그리고 기타 게임 플레이 로직을 정의하기 위한 일련의 명령들을 모아 놓은 것이라고 이해하시면 됩니다. 게임 스크립트는 일반적으로 C# 이나 자바스크립트, 루아(Lua)와 같은 프로그래밍 언어로 작성됩니다.
게임 스크립트는 캐릭터의 동작이나 대화, 적 캐릭터의 인공 지능, 물리 시뮬레이션 반응과 같은 광범위한 게임 플레이 요소들을 정의하는 데 사용됩니다. 따라서 게임 스크립트가 없다면 게임은 작동하지 않을 것이고 그저 보기 좋은 이미지 또는 영상물에 불과하게 될 것입니다.
게임 스트립트는 일반적으로 비주얼 스튜디오와 같은 전문적인 프로그래밍 도구를 이용해서 작성되거나 아니면 언리얼 엔진의 블루 프린트와 같은 특정 엔진 전용의 비주얼 스크립트 도구를 이용해서 만들어집니다. 어느 쪽이건 프로그래밍 지식이 필요하기 때문에 스크립트 작성을 위해서는 최소한의 프로그래밍 공부가 필요합니다.
과거 스크립트 작성은 온전히 프로그래머의 몫이었습니다. 하지만 최근 들어 비주얼 스크립트 도구가 일반화되고, 또한 코드 작성이 가능한 게임 디자이너(기획자)나 레벨 디자이너들이 늘어나면서 프로그래머가 아닌 사람들도 스크립트 작성을 많이 하게 되었습니다. 따라서 게임 개발을 공부하신다면 비록 프로그래머가 아니라 할 지라도 스크립트 작성 방법에 대해 공부해야 할 필요가 있습니다.
게임 테스트
게임 테스트라고 하면 게임을 다 만들고 나서 하는 막바지 작업이라고 생각하는 분이 계실 수도 있겠습니다. 하지만 현대의 게임 개발 프로세스에서 게임 테스트는 게임 개발 초기부터 마지막까지 끊임 없이 계속 해야 하는 작업으로 자리 잡았습니다. 따라서 게임 개발에 대해 처음 공부하는 분은 게임 테스트가 무엇인지, 그리고 왜 중요한 지에 대해 이해해야 합니다.
게임 테스트란 무엇인가?
게임 테스트는 게임의 품질과 성능을 평가는 프로세스를 가리킵니다. 게임에 존재하는 문제나 버그를 식별하고 수정하는 데 도움이 되기 때문에 게임을 만드는 과정에서 절대로 빠질 수 없는 핵심 작업입니다.
게임 테스트는 게임 개발 프로세스의 거의 모든 단계에서 수행됩니다. 그리고 테스트의 목적과 방법도 다양합니다.
플레이 테스트
플레이 테스트는 게임 플레이어가 게임을 플레이하면서 느낀 점에 대한 피드백을 받고 문제점을 수정하기 위한 목적으로 수행됩니다. 게임 플레이, 밸런싱, 재미 요소, 사용자 경험 및 편이성 등에 초점을 맞추는 테스트입니다.
기능 테스트
기능 테스트는 게임이 의도한 대로 작동하는 지, 그리고 게임의 모든 기능과 매커니즘이 올바르게 작동하는 지를 확인하기 위한 목적으로 수행하는 테스트입니다.
멀티 플랫폼용 게임이라면 다양한 기기에서 문제 없이 작동하는지도 테스트해야 합니다. 예를 들어 안드로이드폰과 아이폰 모두를 지원하는 게임일 경우, 안드로이드폰에서는 잘 동작하는 기능이 아이폰에서는 제대로 작동하지 않을 수 있습니다.
사용성 테스트
사용성 테스트는 게임의 조작이 쉽고 직관적인지, 그리고 배우기가 쉬운지 여부 등을 테스트하기 위한 것입니다. 이 테스트를 위해서는 일반적으로 해당 게임을 처음 해 보는 테스터들을 모집하여 그들이 혼자 힘으로 게임을 어느 정도까지 플레이할 수 있는지를 관찰하거나 피드백을 수집하는 방법이 많이 사용됩니다.
성능(퍼포먼스) 테스트
성능 테스트는 게임이 타겟 플랫폼 기기에서 얼마나 무리 없이 잘 돌아가는지를 테스트하기 위한 것입니다. 게임 프레임 속도가 너무 늦거나 로딩 시간이 너무 길다면 퍼포먼스 테스트를 통과할 수 없습니다.
간혹 게임을 테스트하다 보면 메모리 부족으로 게임이 중간에 다운되기도 하는데 이런 경우는 아주 심각한 상황입니다. 게임 개발 전 과정에 걸쳐서 퍼포먼스 테스트를 반복해서 이런 문제를 미연에 해결해 나가는 것이 필요합니다.
완성 및 배포
게임 개발을 처음 해 보는 분들이 만든 첫 번째 게임은 아주 단순하고 조잡할 것입니다. 그럼 이렇게 만든 게임을 어떻게 하면 좋을까요? 그냥 자신의 하드디스크에 저장하고 나서 다른 프로젝트를 시작하는 것이 좋을까요?
그렇지 않습니다. 게임을 만드는 주요 목적은 타인이 플레이하도록 하기 위해서 입니다. 아무리 간단하고 볼품없는 게임이라고 해도 그것을 즐겁게 플레이할 사람은 있기 마련입니다.
가장 부담 없이 게임을 선보일 만한 친한 사람들을 찾아 그들이 플레이하는 모습을 관찰해 보시기 바랍니다. 게임을 만든 보람을 느낄 수 있을 뿐 아니라 앞에서 언급한 플레이 테스트 및 사용성 테스트의 관점에서도 배울 점이 있을 것입니다.
예를 들어 친구 및 가족에게 게임 사본을 보내거나 그들 앞에서 자신이 직접 시연하는 것도 좋은방법입니다. 이렇게 하면 만든 게임에 대한 피드백을 받고 다른 사람들이 게임에 대해 어떻게 생각하는 지 파악할 수 있어서 공부에 많은 도움이 됩니다. 또한 가까운 사람들의 응원과 격려는 자신이 앞으로도 게임 개발 공부를 지속해 나갈 수 있도록 힘이 될 것입니다.
맺는 말
현업에서 활약하고 있는 경험 많은 게임 개발자들을 보면 과연 내가 저 수준까지 언제쯤 도달할 수 있을까 하고 막막한 기분이 들 수도 있을 것입니다. 하지만 모두가 처음에는 여러분과 똑같았습니다. 오히려 지금보다 훨씬 열악한 환경에서 시작했습니다. 그 때는 지금처럼 손쉽게 게임을 만들 수 있는 도구나 학습 자료도 없었으니까요.
따라서 게임 개발을 처음 시작하는 여러분도 할 수 있습니다. 첫 번째 게임이 시작입니다. 그 다음 게임은 조금 더 쉬워지고 그 다음은 더 쉬워질 것입니다. 계속 즐기면서 만들어 나가는 것, 그것이 게임 개발을 배우기 위한 가장 좋은 방법입니다. 게임 개발자로서 여러분의 발전을 기대하면서 이 글을 마치겠습니다. 감사합니다.
더 공부할 자료 - 개발 능력 다양화를 위한 학습의 필요성
유니티 엔진의 대안으로서, 인디 개발자들에게 선풍적인 인기를 끌고 있는 엔진이 바로 고도 엔진입니다. 혹시 고도 엔진을 배워 보려고 하신다면, 다음의 온라인 강의를 체크해 보시기 바랍니다.