본문 바로가기

기술창업지식

아이디어사업화 관련 주제 및 설명을 소개하는 코너 입니다.

주제

게임제작 전문인력의 역할

작성자 : ikjaeclab 분류 : 마케팅 | 공통지식 작성일 : 2018.02.09 10:11:49 조회 : 865 키워드 : 게임제작전문인력,콘텐츠기획자,시나리오작가,프로그랴머,게임디자이너

(요약/배경)

게임제작에는 게임콘텐츠기획자, 게임시나리오 작가, 게임 프로그래머, 게임 디자이너 외에도 다양한 직업군이 참여한다. 게임 제작과정에서 이들의 역할에 대해 알고 싶다, 게임 콘텐츠 제작자의 역할을 새부적으로 알려다오.


설명

(게임제작 인력)

게임은 사업기획자. 게임콘텐츠 기획자외에도 다양한 전문직들이 참여하여 만들어지는 종합 콘텐츠이다.

게임 시나리오 작가는 게임의 스토리를 작성한다. 게임의 이야기를 만들어내고, 그 이야기를 구성하는 대사들을 창작한다. 일정한 시나리오가 없는 온라인 게임에도 시나리오 작가가 투입되어 작업을 진행하는 등 시나리오 작가의 중요성이 높아지고 있지만 전문 인력은 거의 없다.

게임 시나리오작가는 다른 게임과의 차별화된 특징, 요소들, 게임 이용자의 재미를 충족시켜 주는 요소를 기획하고, 게임 상의 사건이나 이야기의 흐름을 구상한다. 게임 플레이어의 목표와 승리 조건, 조작 방법, 공격과 방어법, 아이템 수집 방법 등과 게임에 등장하는 캐릭터로 주인공, 아군, 적군, 몬스터 등을 구상한다. 캐릭터는 게임 내에 등장하는 인물이며, 게임의 스토리에 의해 독특한 개성과 이미지가 부여된다. 게임 내에서 해당 캐릭터들이 아니면 어느 누구도 그 역할을 해낼 수 없는 특별한 능력을 부여해야 한다. 게임 배경은 게임이 이루어지는 공간적‧시간적 분위기이다. 게임의 시간적 배경에 따라 관련된 역사서, 백과사전, 현장 답사 등으로 필요한 자료를 확보한다. 게임의 공간적 배경에 따라 관련된 자연 환경적 요소들에 대한 자료를 수집, 정리한다. 확보, 정리된 자료들을 활용하여 게임이 만들어내는 세계관을 구상한다. 스토리텔링 창작에 따라 캐릭터와 사물의 역할과 종류를 구상한다. 캐릭터 유형을 설계하기 위해 외모, 성격, 배경스토리를 구상한다. 사물의 유형을 설계하기 위하여 외형, 용도, 특성을 구성한다. 플로차트는 스토리를 시퀀스(비트)별로 나눈 후, 시퀀스를 또 다시 신별(장면별)로 정리한다. 구성(플롯)은 스토리에서 드러난 캐릭터들의 행동에 의해 전개되는 사건들을 인과 관계에 의해 나열시키는 작업이다. 캐릭터와 사물을 게임 세계관에 조화롭게 설정한다.

게임의 세계관과 캐릭터를 정하고 양방향 게임 스토리텔링을 창작하여, 게임 내용의 구현에 필요한 2D, 3D, VR그래픽 데이터를 제작한다. 프로그래밍, 툴 프로그래밍, 게임프로그래밍, 데이터베이스 프로그래임, 서버프로그래밍, 웹프로그래밍을 한다. 게임 화면을 구성하고 스크립트를 작성한다. 스크립트 작성을 위해 자바스크립트, 비쥬얼 베이식, 파이썬을 사용한다. 스크립트는 게임 속에서 발생하는 사건인 퀘스트, 이벤트 등을 게임 시스템에 맞추어 작동시키기 위한 프로그램이다. 인터랙티브 스토리텔링(이벤트)에 의해, 게임에 등장하는 캐릭터, 오브젝트, 아이템 등의 다양한 행동양식들을 규정한다.

수치 기획자는 밸런싱 작업에서 난이도가 설정한다. RPG 등의 성장 개념이 있는 경우에는 수치 기획자의 역할이 매우 커진다. 방대한 아이템과 성장에 의한 변수, 많은 몬스터 등으로 인해 난이도를 컨트롤하기 힘들기 때문이다.

레벨 기획자는 캐릭터 레벨이 올라가는 경험치를 기획하는 것이 아니라 월드를 설계한다. 지형이나 지역을 설계하고 그에 맞는 조형물을 구상하고 배치하는 역할을 수행한다. 지형지물을 많이 사용하는 게임인 액션이나 FPS 게임들은 레벨 기획자의 몫이 매우 크다.

시스템 기획자는 게임의 시스템을 구상하고 구체화시키는 역할을 한다. 게임에 스크립트로 이루어진 부분을 제외하고는 대부분이 이 시스템적인 요소로 만들어진다. 타격 시스템, 액션 시스템, 대화 시스템, 아이템 시스템, 회복 시스템 등. 게임을 이루는 기초 요소이면서 특화시키는 요소를 만들어내며, 게임의 특성을 만드는 중요한 역할을 한다. 장르의 다변화 및 통합 현상이 두드러질 경우에 이러한 시스템 기획자의 기획이 더욱 중요해진다.

설정 기획자는 보통은 시나리오 작가가 겸임하는 경우도 많은데, 게임의 기초적인 설정인 세계관, 배경 스토리, 캐릭터 설정 등의 작업을 한다. 다양한 적들의 외형과 특성을 설정하고 이것을 게임 시스템에 접목시키는 역할도 수행한다. 시나리오 작가처럼 치밀한 구성을 필요로 하지는 않지만 많은 아이디어가 필요하다.

프로그래머는 기획자들이 구상한 여러 가지 기획과 그래픽 디자이너가 만들어낸 그래픽 데이터, 사운드 엔지니어가 만들어낸 효과음과 음악을 컴퓨터에서 구현한다. 프로그래머는 C/C++언어로 자료구조와 알고리즘을 구현한다.

툴 프로그래머는 툴을 만든다. 툴은 게임 전체적으로 굉장히 많이 사용되고, 꼭 필요하면서 누구도 작업하기 꺼려한다. 인터페이스란 것을 만들기 까다롭기 때문인데, 상용 게임 엔진들도 모든 툴이 제대로 구비된 엔진은 그리 많지 않다. 툴 프로그래머는 게임에서 자체적으로 개발해야 하는 다양한 툴들을 작성한다. 게임 엔진이 따로 있는 경우 엔진에 맞는 데이터 포맷으로 데이터를 가공한다. 툴 프로그래머는 엔진과 기획, 게임 모두의 연결고리이므로 게임의 전체적인 구조를 파악하기 쉽다.

엔진 프로그래머는 툴을 만들거나 게임을 만들기 위한 하부 구조를 만든다. 많은 기술들을 모아 게임에 맞게 수정하여 쓰기 좋게 포장한 것이 게임엔진이다. 엔진 작업은 혼자서 전부 작업하기 굉장히 까다롭고 분량도 많기 때문에 보통 여러 파트의 전문가들이 모여서 작업하한다.

게임 프로그래머는 엔진과 툴에서 만들어진 데이터들을 가지고 실제 게임을 만든다. 툴과 엔진만 있으면 게임을 만들 수 있을 것 같지만 실제로 가장 중요한 것은 게임 프로그래밍이다. 게임 프로그래머는 프로그래밍도 중요하지만, 기획자가 의도하는 게임의 재미를 충실히 재현하는 능력이 있어야 한다. 프로그래밍 능력보다는 게임에 관한 감각이 요구된다. 게임에 관한 감각은 몇 년 정도 게임업계에서 일하다보면 자연스럽게 익히게 된다.

게임 데이터를 효율적으로 사용하기 위해서는, 게임 수학과 물리학으로 구현하고, 게임 알고리즘을 작성한다. 물리학은 단순한 충돌뿐만 아니라 차량의 주행역학, 비행기의 항공역학과 같은 것도 처리한다. 게임 요소들을 사실적으로 움직이는 방법들을 이해하여 활용한다. 게임 요소들의 동작과 충돌처리를 수행한다. 게임을 구동하기 위한 설계된 자료구조에 맞춰 게임 로직의 절차를 설계한다. 설계된 절차에 따라 프로그래밍 언어로 작성한다. 실행 결과를 확인하여 알고리즘을 설계한다. 플랫폼 개발환경에 맞게 설계된 알고리즘을 플랫폼에 적합하게 프로그램으로 코딩한다. 자료 구조란 프로그램의 여러 구조이다. 예를 들면 리스트, 스택, 큐, 트리, 그래프 등이다. 알고리즘이란 주어진 문제를 처리하는 절차이다. 흐름도, 유사(pseudo수도)코드, 실제코드(예: C/C++)로 기술한다.

게임 프로그래밍의 순서는 툴에서 만들어진 각종 데이터를 읽고 화면에 출력하거나 게임에서 사용하는 기능을 만든다. 그래픽 데이터와 캐릭터 데이터를 사용해서 만들어진 맵 위에 캐릭터를 생성하여 게임의 룰에 따라 움직여 본다. 각종 충돌 처리 등 기본적인 처리도 여기서 처리한다. 이 부분이 끝나면 게임의 기초적인 부분은 완료된다.

​게임의 가장 핵심적인 부분이 바로 전투이다. 그 외에 전투에 파생된 각종 시스템들이 있는데, 이러한 부분을 작업한다. 게임의 게임성에 직접 영향을 주는 부분이므로 이때부터는 기획자와의 조율이 상당히 많이 필요하다.

게임 UI/UX디자이너는 ​사용자가 게임 플레이를 원활하게 진행할 수 있도록 게임 UI/UX를 분석하여 인터페이스를 설계한다. 게임은 인터랙티브한 것으로 사용자의 입력이 게임에 중요한 역할을 한다. 다양한 입력 방법을 제공하고 좀 더 쉽고 단순하고 조작하기 편리한 인터페이스를 제작할 필요가 있다. 게임의 인터페이스는 PC인 경우에는 마우스와 키보드, 게임패드, 조이스틱 등이 있으며, 게임기의 경우에는 게임패드, 레이싱 휠, 컨트롤러 등의 일반적인 입력 인터페이스와 게임 전용의 컨트롤러가 따로 있는 경우도 있다. 전용 컨트롤러를 사용하는 게임으로는 대표적으로 DDR이나 비트매니아, 철기와 같은 게임이 있다. 요즘에는 진동을 지원하는 게임 인터페이스들이 많이 제공되기 때문에 이러한 인터페이스들을 게임에 맞게 활용하고 제어하는 기술이 필요하다.

UX는 사용자가 게임을 하면서 느끼고 생각하는 사용자 경험의 구성 형태와 방향성이다. 게임 UI/UX 프로그래밍은 사용자의 이용 행태와 트렌드 및 기술 환경을 분석하고 새로운 사용자 경험(UX) 모델을 제시하여 이를 현실화 시키는 것이다. 반응형 웹을 고려하여 모든 기기에 동일한 화면 구성을 해야 한다. 모바일 웹 UI 제작을 고려해야 한다. UI 설계 검토 시 구현 환경 요소인 구현 언어, 색, 폰트 변동 등을 고려해서 설계 검토해야 한다. UI 설계 검토는 모듈화 및 재사용성을 고려해야 한다. UI 설계 검토는 유지 보수에 편의성을 고려해야 한다. UI 구현 표준 수립은 여러 사람의 작업 효율과 일관성을 유지하기 위함임을 고려해야 한다. UI 제작은 퍼블리싱, 컨테이너, 코덱, 동영상 스트리밍 및 시뮬레이션 기술 등을 고려해야 한다. UI 제작은 일정 활동 완료를 위한 작업 기간 및 경과 시간을 고려해야 한다. UI 구현 도중 변경 사항에 대한 표준 수립 및 설계와 일정을 고려해야 한다.

게임 내용은 디스플레이로 보여진다.

게임 플랫폼 응용 프로그래밍은 사용자 측의 게임 구동이 가능한 플랫폼에서 게임이 원활하게 작동하도록, 플랫폼 개발환경을 구축하고, 플랫폼 응용 프로그램을 설계하며, 플랫폼 응용 프로그램을 구현한다. 구축된 개발환경에서 필요한 상용 게임엔진의 프로그램을 작성한다. 게임 엔진은 개발을 원활하게 하기위한 라이브러리, 모듈, 툴 등을 가리킨다. 게임엔진 응용 프로그래밍이란 상용으로 판매하는 게임 엔진과 저작도구를 활용하여 게임을 제작하도록 만들어진 것이다.

구축된 플랫폼 개발환경에서 자료 구조를 설계한다. 선정된 플랫폼과 자료구조에 적합하게 게임 로직을 작성한다. 게임 로직을 플랫폼에 적합한 알고리즘으로 설계한다.

컴퓨터에 저장된 게임 데이터들을 여러 응용 프로그램들이 공유할 수 있도록 통합, 저장, 관리해야한다. 게임 데이터베이스를 설계하고, 데이터 입출력처리와 질의문을 작성하며, 게임 데이터를 관리하는 프로그램을 구현하고 유지보수해야 한다. 데이터베이스프로그래머는 설계된 게임 스키마를 관계형 데이터베이스로 생성하고 관리하는 프로그램을 작성한다. 설계된 게임 데이터 구조에 따라 비관계형 데이터베이스를 생성하고 관리하는 프로그램을 작성한다. 작성된 프로그램을 테스트하여 데이터베이스 프로그램 코드를 완성한다. 비관계형 데이터베이스의 게임 데이터 저장구조를 설계한다. 설계된 게임 데이터 구조에 따라 비관계형 데이터베이스를 생성하고 관리하는 프로그램을 작성한다. 작성된 프로그램을 테스트하여 데이터베이스 프로그램 코드를 완성한다. 완성된 프로그램 코드의 관리와 이용을 위한 매뉴얼을 작성한다. 데이터베이스 스키마(schema)는 데이터의 저장 및 표현 구조를 정하는 것이다. 네트워크상의 데이터 변화를 고려해야 하며 구현 자체보다는 안정성과 유지보수를 우선한다.

게임 웹 데이터베이스 프로그래밍이란 소켓 네트워크 통신이 아닌 http 프로토콜을 사용하여 비동기식의 캐주얼 게임과 웹 게임을 운영하도록 백엔드 단의 게임 웹서비스를 설계하고 게임 웹서비스를 구현하며, 웹서비스 응용 프로그램을 구현하는 것이다. http프로토콜 통신을 사용하는 비동기식 게임 웹서비스를 구상하고 필요한 정보를 수집하고 분석한다. 분석한 내용에 따라 게임 웹서비스 개발환경을 구축한다. 개발환경에 따라 게임 웹서비스를 설계한다.

게임 서버 프로그래밍이란 온라인게임 뿐만 아니라 플랫폼 독립적으로 유무선 네트워크를 통하는 게임의 서버 컴퓨터에서, 게임이 원활하게 운영되도록 게임 서버 시스템 설계하고, 네트워크 프로그램 구현하고, 게임 서버 응용 프로그램을 구현하는 것이다. 데이터 통신의 원리와 기초를 알고 프로세스간 통신을 구현한다. TCP/IP 통신과 UDP 통신을 구현한다. 서버와 DB, 서버와 클라이언트 간의 데이터 전송구조를 설계하고 알고리즘을 작성한다. 작성한 알고리즘에 따라 서버 플랫폼에 적합한 프로그래밍 언어로 작성한다.

게임 서버 리포팅 및 패치 프로그램을 작성한다. 게임 서버 테스트 환경을 구축하고 테스트들(CBT, OBT등)을 실시한다. 게임 서버 프로그램의 테스트 결과를 분석하여 튜닝하고, 최종 서버 응용 프로그램 코드를 완성한다. 소켓 프로그램이란 송신측과 수신측의 데이터 전송 및 연결을 관리하는 프로그램이다.

그래픽 디자이너는 그래픽을 만든다. 원화 디자이너는 캐릭터나 배경의 디자인한다. 기획에서 주어진 여러 가지 특이사항을 가지고, 디자인하여 실제 작업자들이 작업이 가능하도록 든다. 실제 데이터가 어떻게 제작되고, 제약사항이 어떠한지 파악하는 능력이 있어야 게임 내에서 제대로 소화되는 디자인을 창출할 수 있다. 그래픽 기술은 2D인 경우 2D 그래픽 데이터를 화면에 조합하여 출력시켜주지만, 3D의 경우에는 수학적으로 만들어진 3D 모델 데이터를 각종 수학연산으로 2D화시켜서 모니터에 출력해야 한다. 다이렉트X, 오픈-GL과 같은 그래픽 API를 이용하면 프로그래밍없이도 3D 모델 데이터 출력이 가능하다.

​그래픽 디자이너는 게임의 일관된 방향성에 맞춰 배경 원화를 그린다. 게임 원화 디자인을 바탕으로 2D 그래픽 소프트웨어를 활용하여 2차원 평면 형태의 캐릭터, 배경, 아이템, 코스튬 등 게임 내 시각적 이미지를 제작한다. 게임 그래픽 프로그래밍이란 게임의 구성 요소를 컴퓨터 그래픽을 이용하여 시각적으로 보여주기 위해 2D그래픽 요소와 3D그래픽 요소 그리고 다양한 렌더링 효과를 보여주는 셰이더를 설계하고 구현한다. 캐릭터 원화 디자인을 3차원 그래픽으로 표현하기 위해 그래픽 소프트웨어를 활용하여 캐릭터의 3차원 형태를 모델링을 하고, 색상과 질감을 표현하는 텍스쳐맵핑을 제작한다. 객체의 입체감과 사실감을 형성하기 위하여 2D 저작도구를 이용하여 세밀한 형태와 명암, 강조할 부분을 표현할 수 있다. 3D 배경 제작에 앞서 프로그래머와의 정보교류를 통해 폴리곤의 양을 설정한다. 폴리곤(POLYGON)이란 3D 입체를 구성하는 최소 단위의 면이다. 3D 그래픽 요소와 공간 배치를 분석한다. 분석된 3D 그래픽 요소를 컴퓨터 그래픽스로 3D 공간에 구현한다. 3D 공간에 구현된 3D 그래픽 요소를 게임의 플레이 규칙에 맞게 통합하여 게임 프로그램을 구현한다. 2D 그래픽 애니메이션을 위해서는 프레임 수만큼의 그래픽 데이터가 더 필요하다. 3D의 경우에는 수학적으로 변위만 저장하면 된다.

게임 캐릭터의 스킬이나 아이템 및 환경 특수효과를 구상하고, 2D이미지와 파티클을 이용하여 게임 엔진에 적합한 형태로 이펙트를 제작한다. 빌보드(Billboard)란 이펙트 이미지를 2D 평면 판에 적용하여 카메라의 시점을 따라가는 방식을 말한다. 메쉬(Mesh)란 3D 모델링에 텍스쳐를 적용하여 이펙트를 제작하는 방식이다. 파티클(Particle)이란 게임 엔진의 입자 시뮬레이션 툴을 이용하여 이펙트를 제작하는 방식이다. 파티클 리소스를 단계별로 LOD 작업을 한다. LOD(Level Of Detail)란 시야 거리 단계에 따른 최적화 작업이다.

캐릭터 모델러는 3D 모델링 툴을 사용해서 게임에서 사용할 수 있는 폴리곤 수 등 여러 가지 제약 조건을 가지고 캐릭터를 만든다. 캐릭터 애니메이터는 캐릭터 모델러가 제작한 모델 파일을 가지고 애니메이션을 작업하여, 캐릭터에게 생명력을 불어넣는다. 하나의 모델에 여러 가지 애니메이션이 적용되므로 대단히 많은 분량의 작업을 한다. 배경 모델러는 배경 전체 또는 배경에 사용되는 다양한 오브젝트들을 제작한다. 애니메이션이 필요한 경우, 복잡한 애니메이션이 아니라면 간단한 애니메이션은 직접 하기도 한다.

레벨 디자이너는 레벨 기획자가 레벨을 기획하면, 이것을 직접 그래픽으로 만든다. 레벨이란 사용자가 게임을 진행하는 배경으로서의 스테이지, 맵이다. 레벨 디자인이란 사용자가 게임의 시스템과 콘텐츠를 즐기는 경험을 디자인하는 것이다. 레벨 기획에 맞는 여러 가지 장치들을 편집하고, 배경 모델러들이 작업한 각종 오브젝트들을 배치한다. 실제 거의 모든 데이터들은 레벨 디자이너의 손에 의해 게임에 배치된다. 사용자가 게임플레이를 통해서 핵심욕구를 충족할 수 있도록 게임의 레벨 구조를 분석하고, 레벨의 내용과 요소를 설계하며, 게임 밸런스를 설정한다. 레벨 기획의 방향성을 정하여. 레벨을 디자인하며 밸런스를 설정한다. 스테이지(맵)을 구성하고 퀘스트, 이벤트 등의 사건과 캐릭터, 몬스터, 오브젝트 등의 개체를 배치한다. 레벨 디자인은 게임의 성격이 잘 드러나도록 일관성 있게 해야 하며, 사용자들이 역동적인 경험을 할 수 있도록 적절한 도전 과제와 난이도를 적용한다. 밸런스란, 게임의 시스템과 시스템 요소들의 구체적인 수치에 의해서 구성되는 게임 진행의 난이도이다.

조명디자이너는 조명과 공간 연출을 고려하여 콘셉트 분위기에 맞는 조명을 연출 제작한다. 정적인 그래픽 리소스에 생동감 있는 움직임을 주기 위해 동작을 구상하고, 캐릭터의 포즈와 물체의 움직이는 시간과 위치를 정의하는 키프레임 애니메이션을 제작한다. 다양한 렌더링 효과를 분석할 수 있다. 분석된 렌더링 효과를 셰이더로 설계할 수 있다. 설계된 셰이더를 셰이더 언어로 코딩하여 다양한 렌더링 효과를 프로그램으로 구현한다.

일러스트 작가는 게임을 홍보할 때 많이 사용되는 일러스트를 작업한다. 한눈에 게임의 이미지를 심어줘야 하는 만큼 게임의 이해도가 높아야 한다.

사운드 디자이너는 게임을 생동감 있게 만드는 효과음과 음악을 만든다. 일반적으로 외주업체들에서 작업을 한다. 크게 효과음 전문가와 작편곡 전문가 등 이 있다. 게임은 멀티미디어 애플리케이션이다. 시각과 청각이 모두 즐거워야 하므로 사운드 출력 기술은 중요하다. 배경음악은 예전에는 미디나 CD 음원을 사용했는데, 요즘에는 mp3 등의 압축 음원을 사용한다. 배경음악을 출력하는 기술은 이러한 압축된 음원을 얼마나 잘 출력하느냐에 따른다. 다이렉트X에서 미디어 코덱을 이용하면 구현이 가능하다. 효과음은 음악과 달리 짧은 사운드로 이루어지는데, 2D일 경우에는 단순하게 처리될 수 있었지만, 요즘은 3D 게임이 많이 등장함으로써 사운드도 3D 음원을 사용하게 되었다. 캐릭터와의 거리나 위치에 따라 사운드가 주위에서 서로 다르게 출력되는 것인데, API에 따라 5.1채널 스피커까지 지원한다. 다이렉트X의 기능 중 하나인 DirectSound를 이용해 구현이 가능하다. 게임의 진행과 분위기에 어울리는 음악을 작곡하거나 적절한 음악을 선곡한다. 작곡, 편곡, 편집을 통하여 게임 콘텐츠의 음악을 제작한다. 음악 소프트웨어나 악기를 활용하여 음악을 연주할 수 있다. 게임 콘텐츠의 효과음을 제작한다. 게임의 완성도를 높이기 위하여 효과음을 편집한다.

어떠한 게임이건 인공지능 캐릭터가 나와서 유저들을 괴롭힌다. 기획자가 요구하는 바대로 움직이는 놀라운 인공지능까지는 아니라도 인공지능 엔지니어는 여러 가지 가능성을 가지고 있는 인공지능을 설계하고 적용시켜야 한다. 인공지능의 경우에는 게임마다 적용 범위가 틀리므로 작업기간이 상황에 따라 매우 다르다. 인공지능으로 대신할 수 있는 기능들을 추출하고, 인공지능에 필요한 기능들을 인공지능 프로그램으로 작성하고 프로그램 코드를 완성한다.

인공지능 작업까지 마치면 게임의 인터페이스 작업이 진행된다. 이때 게임을 저장하고 불러오는 루틴 등도 작업한다. 게임의 연출이 필요한 부분에 사용되는 각종 스크립트를 작업한다. 미리 약속된 규정에 의해 스크립트 파일들이 생성되어 있다면 이것을 게임에 적용시켜 게임에서 스크립트 명령어들을 구현하는 작업을 한다. 끝으로 각종 효과들로 게임을 치장한다, 효과를 사용하면 게임이 상당히 느려지므로 적당한 조율이 필요하다.

데이터 작업과 프로그래밍 작업이 종료되면 버그를 잡기 위한 알파 테스트가 실시된다. 일반인보다는 회사 내에서 실시하는데 각종 버그들을 찾고 그 버그 사항을 고친다. 게임의 전반적인 부분에 대한 버그 리포트를 받고 수정한다. 알파 테스트가 종료되면 게임의 밸런스를 조절한다. 처음 만들어진 밸런스를 게임에 맞도록 조율하는데 이 때 전체적인 게임성과 난이도가 결정된다.

밸런스 조절까지 마치면 일반인이나 전문 테스터들을 대상으로 베타 테스트를 가진다. 이때는 알파 테스트 때 진행됐던 버그 테스트와 밸런스 테스트를 병행하여 진행한다. 베타 테스트를 충실하게 거쳐야 게임의 완성도가 높아진다.

게임 서비스운영은 게임의 원활한 서비스를 위하여 게임의 Q/A과정을 수행하고, 게임 서비스와 마케팅을 수행하며 사용자와 커뮤니티를 관리하는 작업이다.

 

(게임 창업사례)

유니티 엔진을 이용하면 안드로이드와 iOS 등 다양한 모바일 운영체제의 게임을 만들 수 있다. 유니티로 개발한 게임은 스마트폰과 PC 환경에서 동시에 실행돼, PC로 개발한 게임을 모바일로 변환할 필요가 없다. 쉽고 빠르게 게임을 제작할 수 있도록 개발 진입 장벽도 낮추었다.

다른 분야의 소프트웨어를 만드는 것보다 게임을 만드는 것이 가장 어렵고 힘들다. 유니티는 게임 외에도 교육, 의료, 교통, 의료, 건축, 우주, 환경, 국방, 위험 방지 등 다양한 분야의 소프트웨어를 제작할 때 이용할 수 있다.

게임개발사 밸브(Valve)는 사장 이외 350명의 모든 직원은 아무런 직책이 없다. 사무실 책상은 모두 바퀴가 달려 있다. 언제든지, 어디서든지, 누구든 함께 끌고 가 토론하기 위해서다. 밸브는 10년 이상 경력자를 뽑는다. 회사를 꾸려본 경험이 있는 시니어 피플은 가치를 부여한다. 직원은 직급이 없다. 회의를 해도 ‘장’이 없다. 다만 아티스트의 경우 직책을 가질 수 있다.

세계적인 게임사 블리자드의 아이콘이 저글링이라면, 밸브는 게임 ‘하프라이프’의 아이콘이자 밸브의 상징 ‘빠루’(표준말 노루발못뽑이)가 가장 유명하다. 밸브는 PC게임이 약해질 때 역으로 ‘다운로드’를 채택해 “스팀 자체를 플랫폼이며 게임기”로 만들었다. 밸브는 소니, MS와 거의 동등한 영향력 1위에 올라있다.

 

Tip

게임 개발이 가능하려면 유저를 중심으로 하는 게임을 만들기보다는 개발자가 재미를 느끼는 게임을 만들어야 한다. 그래야 작업이 잘 된다. 제작자와 비슷한 생각을 가진 사람들이 재미있어할 것이다.

1인 개발은 게임 구현을 미리 고려하면서 시스템을 기획할 수 있다. 커뮤니케이션 비용이 발생하지 않는다. 하지만 혼자만의 생각에 빠져 잘못된 방향으로 흘러갈 위험도 크다.

 

<참고자료·문헌>

착한 저작권 똑똑한 일자리<2013년 오익재저, 여명 간>

서울게임아카데미 http://www.seoulgame.co.kr/main/event.php?branch=seoul

게임 만들기 https://brunch.co.kr/@skykamja24/17

게임개발의 필수요소 http://www.zdnet.co.kr/

유니티 게임개발 사례 www.unity3d.com/sim , https://store.unity.com/

한경닷컴게임톡

http://gametoc.hankyung.com/news/articleView.html?idxno=17339

국가직무능력표준 http://ncs.go.kr 게임콘텐츠 제작