게임에 대한 아이디어가 있고 직접 만들고 싶지만, 처음 해보는 초보 개발자라면 어디서부터 시작해야 할지 막막할 수 있다. 프로그래밍 경험이 어느정도 있는 개발자라고 해도 게임개발에는 애니메이션, 렌더링 등 고려해야 할 측면이 더 많다는 것을 알게 되기 때문에 섣불리 시작하기 어려울 수 있다.
그렇다면 게임 개발은 어떠한 방식으로 진행해야 좋을까? 캘리포니아 로스앤젤레스에 위치한 e스포츠 저널리즘 인벤글로벌(invenglobal)은 다음과 같이 초보자를 위한 게임 개발 가이드를 전했다.

◇ 게임 개발의 주요 구성요소를 살펴보자
먼저 게임에는 스토리와 캐릭터, 오디오, 예술, 조명, 레벨 등 주요 구성 요소가 필요하다.
스토리: 플레이어의 행동에 따라 게임 플롯이 변경된다.
캐릭터: 플레이어가 플롯을 연기하는 데 사용하는 개체로 외모, 능력, 성격 등이 있다.
오디오: 배경 음악, 캐릭터 보이스 오버 및 검을 뽑는 것과 같은 동작으로 인해 발생하는 모든 소리를 포함한 사운드를 말한다.
예술: 질감, 색상 또는 자연 현상의 표현과 같은 모든 시각적 요소를 말한다.
조명: 따뜻한, 차가운, 중성, 음소거 또는 밝은 톤으로 분위기를 설정하는 또 다른 시각적 요소를 말한다.
레벨: 다양한 층, 건물, 국가 또는 난이도가 증가하는 기타 위치를 통해 달성할 수 있는 게임 플레이 요소다.
◇ 게임 개발에 필요한 소프트웨어를 선택하자
게임에는 많은 시청각 요소가 포함된다. 그래픽 도구와 함께 이러한 요소를 구현하려면 게임 개발 환경도 필요하기 때문에 게임엔진, 아트프로그램, 3D모델러, 오디오 도구 등에서 다음의 소프트웨어들을 기억할 필요가 있다.
*게임 엔진
jMonkeyEngine – 자바로 작성되었으며 3D 개발용으로 특별히 사용된다.
Unity – 모바일 게임 제작에 널리 사용되는 2D 및 3D 크로스 플랫폼 엔진이다.
Phaser – 웹 게임을 위한 2D 프레임워크다.
*아트 프로그램
Adobe Photoshop – 세계에서 가장 인기 있는 그래픽 편집 도구 중 하나다.
Pixelmator – Mac용 그래픽 편집기다.
GIMP – 래스터 그래픽용 크로스 플랫폼 및 오픈 소스 이미지 편집기다.
*3D 모델러
Cinema 4D – 모션 디자인 및 애니메이션을 위한 3D 제품군이다.
ZBrush – 캐릭터 생성을 위한 조각 도구다.
Blender – 3D 및 시각 효과를 위한 오픈 소스 도구다.
*오디오 도구
Audacity – 오픈 소스 오디오 편집기다.
FMOD – 음향 효과를 만들기 위한 엔진이다.
Fabric – Unity의 오디오 구성 요소다.
◇ 게임 엔진에 사용하기 좋은 프로그래밍 언어를 선택하자
인벤글로벌(invenglobal)은 다음과 같이 초보자가 참고하기 좋은 게임 프로그래밍 언어를 소개했다.
jMonkeyEngine용 자바(Java): 2D 게임을 만드는 데 일반적으로 사용되는 다목적 객체 지향 언어로, jMonkeyEngine과 함께 사용하면 놀라운 3D 세계를 개발할 수 있다.
Unity용 C++: C 언어의 확장인 C++는 객체 지향 패러다임도 지원하는 범용 언어로 Unity에서 가장 많이 사용되는 언어 중 하나다.
◇ 게임 프로토타입을 만들자
게임 개발은 미래 게임의 핵심 메커니즘인 MVP(최소 실행 가능한 제품)를 구축하는 것으로 시작된다. 캐릭터를 아무런 문제 없이 움직이게 하면(회전, 점프 등) 아트와 사운드를 레이어링할 수 있다. 이러한 자산을 직접 만들거나 itch.io 또는 OpenGameArt와 같은 사이트에서 적절한 기성품을 찾을 수 있다.
또한 게임이 실제 게임처럼 보이려면 게임 루프를 구현해야 한다. 게임 루프는 승, 패, 다시 시작과 같이 계속 플레이하고 싶게 만드는 요소다. 게임 개발을 진행하다 어려움을 느낄 경우에는 깃허브(GitHub), 스택오버플로우(StackOverflow) 및 레딧(Reddit)과 같은 웹사이트의 커뮤니티에 도움을 요청하는 것도 방법이 된다.
[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]