본문 바로가기

book

[book] 5가지 실전 게임으로 배우는 코코스2d-x 모바일 2D 게임 개발

처음으로 소개드릴 책은 

로저 잉글버트 지음, 박지유 옮김, 에이콘 출판사의

'5가지 실전 게임으로 배우는 코코스2d-x 모바일 2D 게임 개발'

입니다.

이 책을 구입한 이유는 cocos2d-x라는 게임엔진을 알게된 시점에서 가장 신간의 책이었기 때문입니다. 크게 별 다른 이유는 없습니다.

우선 저자인 로저 잉글버트씨는 온라인 게임 개발 경력이 10년이 넘는 게임 개발자라고 소개되고 있습니다. 다음 장의 기술 감수자들 역시 짧게는 2년에서 길게는 12년 동안 개발 일을 하고 계시는군요. 옮긴이 역시 1990년대 부터 IT업계에 종사해오셨다고 소개됩니다. 평소 경력이 실력을 말해주지 않는다는 것을 너무나 잘 알고 있기 때문에, 특별한 성과는 없고 경력기간이 대부분인 소개글이 크게 와닿지는 않습니다. 저도 공식적으로 7년 경력을 가지고 있지만 그다지 훌륭한 개발자는 아니거든요. 물론 저는 게임과는 그다지 관련없는 분야의 일을 하고 있습니다.

작년부터 게임개발에 관심을 가지게 되어 안드로이드 플랫폼에서 "드래곤 플라이트"를 완전 베낀 "드라군 플라이트" 라는 습작게임을 만들었습니다. 신기함과 함께 자신감도 생기게 되었죠. 무료 2D 게임엔진의 존재를 모르고 만들어서 노가다가 많기는 했지만, 즐겁게 만들었던 기억이 남아있습니다.

드라군 플라이트, 드라군은 나오지 않습니다..--;

자신감 충만한 상태에서 '필드러너'와 같은 디펜스게임을 만들어 보고 싶었습니다. 목적지까지 길을 찾기 위해 A*(A Star) algorithm 이라는 것을 이해 및 구현해야 했고, 캐릭터, 음악, 배경, 무기 등등등... 이런건 도대체 혼자서 어떻게 해야되나... 하고 생각한 시점에서 그만두었습니다.

모두가 비웃은 제목도 없는 나만 신기한 디펜스 게임

이 즈음해서 혼자서 게임을 개발할 수 있는 방법을 찾기 시작했죠. unity가 있었고, cocos2d가 있었습니다. 당연히 무료인 쪽을 택했습니다. 

다시 책으로 돌아오면, 대단하지는 않지만 이런 경험이 있는 상태에서도 읽어나가기가 어려운 책인 것 같습니다. 책 뒷표지에 적힌 "| Beginner's Guide 시리즈의 특징 |" 이란 문구가 무색하게도 단순히 책을 보고 따라하기식의 구성도 아니고, 코드 설명도 친절하지 않아서 대부분의 코드를 초보자가 바로 이해하기가 쉽지는 않을 것 같습니다. 기본적인 게임의 구성 및 동작 등의 대한 설명이 조금이라도 있었으면 좋았을 것 같습니다. 

이 책에는 치명적인 단점이 몇 가지가 있는데요. 첫 번째로 옮긴이도 지적하고 있지만, 원서 집필 당시, cocos2d-x는 2.0.4 버전이었고, 번역본이 집필되는 시점에는 2.1.5 버전이 안정화 버전이었습니다. 그리고 안타깝게도, 이 책이 출시된 2013년 10월 말 경에는 2.2 버전이 나왔죠. '1_설치' 부분을 한 장 넘기는 순간부터 아무 것도 따라 할 수 없었습니다. 상당히 많은 부분에 대해 변경된 것이 많아서, 짜증나는 상황이 자주 발생합니다.

두 번째로 크게 불만이 있는 점이라면, 코드 편집이 엉망진창입니다. indent가 일정하지 않습니다. 예를 들어 if문이 여러 개 중첩된 경우에 이 코드가 어떤 if문에 포함되는지, 이 else는 어떤 if에 대한 건지 이런 구분이 매우 어렵습니다. 번역본 만의 실수인지는 모르겠지만, 코드 편집에 특히 신경쓰시는 분들에게는 꽤나 거슬리는 부분이 아닐 수 없을 것 같습니다. 다행히, 공유되는 실습코드에는 정상적으로 작성되어 있으니 코드를 직접 확인하는 편이 좋습니다.

물론, 단점만 있는 책은 아닙니다. 저와 같이 간단한 게임은 만들어 봤지만, 게임엔진 활용은 해보지 않는 사람들에게는 도움될 만한 정보가 많이 있습니다. 친숙한 형태의 게임들을 직접 개발해보면서 게임엔진을 통한 게임개발의 감을 익힐 수 있고, 게임 개발에 필요한 다양한 도구들도 알 수 있습니다. 또한 Box2D라는 물리엔진도 간략하게 소개하는 등 한정된 지면에서 많은 내용을 소개하려는 노력이 보입니다. 책에서 소개하는 게임의 퀄리티가 그리 높지는 않지만, 이 정도의 게임을 직접 개발하는 수준이라면 현재 출시중인 모바일 게임 정도는 무리없이 만들 수 있지 않을까 하는 생각이 듭니다.


... 여기서 끝.