Top

코코스2d 게임 프로그래밍 [스마트폰을 위한 오픈소스 모바일 게임엔진 Cocos2d]

  • 원서명Cocos2d for iPhone 1 Game Development Cookbook (ISBN 9781849514002)
  • 지은이네이선 버바
  • 옮긴이박기성
  • ISBN : 9788960773530
  • 33,000원
  • 2012년 10월 23일 펴냄
  • 페이퍼백 | 508쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍, 모바일 프로그래밍

책 소개

코코스2d(Cocos2d)는 스마트폰용 2D 게임 개발을 고려할 때, 가장 먼저 선택할 수 있는 유용한 오픈 소스 게임 엔진이다. 이 책은 상용 제품에 바로 활용할 수 있는 살아 숨쉬는 예제들을 통해, 자연스럽게 독자들을 강력한 코코스2d의 세계로 이끌어준다. 이 책의 예제들은 기본적인 그래픽 처리에서부터 데이터 처리, 2D 조명, 3D, 폴리곤 텍스처 처리, 멀티 플레이 네트워크, 물리엔진, 인공지능 등 고급 주제들까지 망라하고 있다. 이 책은 아이폰 버전용으로 집필되었지만, 안드로이드 버전에도 응용 가능하다.


[ 소개 ]

상용 게임에 바로 활용할 수 있는 실전적이고 유용한 예제들이 가득!

『코코스2d 게임 프로그래밍』에는 스프라이트 그리기에서부터 AI 경로 탐색과 고급 네트워크 기법에 이르기까지 무엇이든 설명해 주는 90가지가 넘는 기법이 실려 있다. 첫 번째 장인 그래픽부터 시작해서, 게임 개발의 모든 주요한 기법을 익힐 수 있다. 이 책은 간단한 기법과 복잡한 기법을 모두 망라하고 있으며, 완벽하게 동작하는 사례에 역점을 두었다.


[ 이 책에서 다루는 내용 ]

■ 게임 개발의 모든 영역이 망라된 코코스2d, OpenGL ES 및 iOS 고급 기법 공개
■ 탑다운 아이소메트릭 게임, 횡스크롤 플랫폼 게임 그리고 현실감 넘치는 조명을 넣은 게임 개발 방법 학습
■ 코코스2d 스프라이트, 원시 도형 및 파티클을 렌더링, 조작, 애니메이션 및 최적화
■ 2D 조명, 렌더링, 텍스처 입힌 폴리곤 및 3D 원시 도형 모양 그리기를 비롯한 고급 기법 학습
■ 데이터, 네트워크 등을 위해 서드파티 라이브러리 활용
■ 박스2D 물리 엔진에 대한 깊은 이해 습득
■ 멀티플레이어 네트워크 게임과 지능적인 AI 액터가 등장하는 게임 제작


[ 이 책의 구성 ]

1장 '그래픽'에서는 다양한 범위의 주제를 다룬다. 이 장은 우선 스프라이트의 기본적인 활용법을 살펴보는 것으로 시작한다. 이어서 2D 및 3D 원시 도형, 동영상 재생, 파티클 효과, 변속 액션, 텍스처 입힌 폴리곤, 팔레트 스와핑, 조명, 시차 스크롤 등에 대한 예제를 제공한다.

2장 '사용자 입력'에서는 iOS 게임 개발에서 흔히 사용되는 다양한 유형의 입력 예제가 제공된다. 여기에는 탭, 홀드, 드래그, 버튼, 방향 패드, 아날로그 스틱, 가속도계, 핀치 줌 및 제스처가 포함된다.

3장 '파일과 데이터'에서는 데이터 보존 기법을 논의한다. 여기에는 PLIST 파일, JSON 파일, XML 파일, NSUserDefaults, 아카이브 오브젝트, SQLite 및 코어 데이터가 포함된다.

4장 '물리 구현'에서는 박스2D 물리 엔진의 다양한 활용 사례를 다룬다. 예제에는 디버그 드로잉, 충돌 반응, 다양한 모양, 드래그, 물리 속성, 추진력, 힘, 비동기적 물체 소멸, 관절, 차량, 캐릭터 이동, 총알, 밧줄 그리고 마지막으로 탑다운 아이소메트릭 게임 엔진이 포함된다.

5장 '씬과 메뉴'에서는 사용자 인터페이스 구현 사례가 제공된다. 씬 관리에 관련된 예제부터 시작해서 레이블, 메뉴, 알림 대화 상자, UIKit 래핑(wrapping) 같은 일반적인 UI 요소로 주제를 옮긴다. 이후에는 드래그 가능한 메뉴 창, 스크롤 가능한 메뉴, 슬라이드 메뉴, 로딩 화면 및 미니맵으로 이동한다.

6장 '오디오'에서는 각기 다른 난이도를 지닌 광범위한 오디오 관련 주제를 다룬다. 여기에는 사운드, 음악, 오디오 속성, 페이딩(fading) 오디오, 녹음, 스트리밍, 아이팟 음악 재생, 미디 신디사이저 제작, 음성 인식 및 문자 음성 변환이 포함된다.

7장 'AI와 로직'에서는 지능적인 AI 액터를 게임에 추가하는 기법을 살펴본다. 여기에는 경유지 처리, 움직이는 표적을 향한 발사체 발사, 시선 및 보이드(Boids)를 활용한 군집 행동이 포함된다. 경로 탐색 문제는 4개의 개별적인 기법 즉, 격자, 박스2D, TMX 타일맵 및 횡스크롤에서의 A* 경로 탐색으로 다뤄졌다. 마지막으로, 이 장에서는 루아 스크립트 지원, 스크립트의 동적 로딩 및 대화 트리에서 루아 활용에 대해 논의한다.

8장 '팁, 툴 및 포팅'에서는 코코스2d 아이폰 테스트베드, Zwoptex, 타일드(Tiled), JSONWorldBuilder 및 코코스빌더(CocosBuilder) 같이 흔히 사용되는 툴의 활용 사례를 제공한다. 또한 코코스2d-X를 이용해서 코코스2d 프로젝트를 C++로 이식하는 방법과 코코스3D를 활용해서 3D iOS 게임을 개발하는 방법을 논의한다. 마지막으로, 애플 앱스토어에 자신의 앱을 출시하는 과정을 논의한다.

저자/역자 소개

[ 저자 서문 ]

아이폰용 코코스2d(Cocos2d for iPhone)는 아이폰용 2D 게임 프레임워크로 활용되기에 충실하면서도 간편하다. 빠르고, 유연하며, 무료인 데다가 앱스토어의 승인까지 받았다. 많은 베스트셀러 게임을 비롯해서 이미 2500개가 넘은 앱스토어 게임이 코코스2d를 활용하고 있다. 자신의 코코스2d 게임 개발 기술을 더욱 높은 수준으로 끌어올려 좀더 전문적인 코코스2d 게임 설계를 하고 싶은가?

이 책은 독자들이 한 단계 높은 수준에 올라가는 데 보탬이 될 것이다. 이 책에는 스프라이트 그리기에서부터 AI 경로 탐색과 고급 네트워크 기법에 이르기까지 무엇이든 설명해 주는 90가지가 넘는 기법이 실려 있다. 이 책은 완벽하게 동작하는 사례에 역점을 두었다.

그래픽을 다루는 첫 장부터 시작해서, 게임 개발의 모든 주요한 기법을 익힐 수 있다. 이 책에는 간단한 기법과 복잡한 기법이 모두 망라되어 있다.

각 기법은 자주 부딪치는 문제에 대한 해결책(동영상 파일 재생, 가속도계 조종)이거나 멋진 고급 기법(3D 렌더링, 텍스처 입힌 폴리곤)이다.

이 책에 담긴 실제로 동작하는 폭넓은 예제 코드들은 독자들이 전문적 수준의 iOS 게임을 빠르게 개발하도록 도와줄 것이다.


[ 저자 소개 ]

네이선 버바(Nathan Burba)
게임 개발자이자, 학생, 프로듀서 겸 기업가다. 2008년 이타카 대학(Ithaca College)에서 컴퓨터과학 학사 학위를 받고 졸업했으며 2011년 남가주대학 영화예술학교(University of Southern California School of Cinematic Arts)에서 미술 석사 학위 수업을 시작했다. 그는 2011년 로지컬 익스트림 스튜디오(Logical Extreme Studios)를 설립했으며, 2012년 초에 자신의 첫 번째 iOS 게임인 골든 에이지 베이스볼(Golden Age Baseball)을 출시할 예정이다.


[ 옮긴이의 말 ]

우리나라는 스마트폰 보급이 이런저런 사정으로 늦어졌지만, 대중화 되는 속도는 아마 전세계에서 가장 빠른 속도일 것이다. 스마트폰 대중화에 따라, 모바일 게임 개발 환경도 엄청난 변화를 겪고 있는 중이다. 안드로이드, iOS 개발 환경에 맞춰 네이티브 앱 개발이 폭발적으로 늘어나고 있으며, 개발 생산성 향상과 좀 더 인상적인 시각 연출을 위해 게임 엔진이 본격적으로 활용되고 있는 것이다.

스마트폰 시대에 가장 각광받는 게임엔진이 유니티3D(Unity3D)임은 부정할 수 없다. 하지만, 3D 게임들이 스마트폰 신제품 데모나 게임 전시회에서 맨 앞줄을 차지하며 화려한 스포트라이트를 받고 있는 동안, 실제 개발사들에게 돈을 안겨주는 게임은 대부분 2D 게임들이다. 실제로도, 현재 iOS와 구글 플레이의 매출 순위를 보면 2D 게임이 대다수를 차지한다.

스마트폰 하드웨어 발전에 따라 앞으로 3D 게임의 비중이 좀더 높아지겠지만, 모바일이라는 환경 특성상 2D가 계속 중요한 역할을 하리라는 것이 역자의 개인적인 예상이다. 이러한 2D 환경에서 현재 선택할 수 있는 가장 대표적인 게임 엔진이 바로 코코스2d다.

현재 가장 각광받고 있는 유니티3D와 비교할 때, 2D 환경에서 코코스2d는 나름대로의 강점을 가지고 있다. 오픈소스이기 때문에 상용 제품인 유니티3D에 비해 편의성이란 부분에서는 약점이 있지만, 무료이며 원하는 대로 커스터마이징해서 사용할 수 있다는 점이 본격적인 상용 제품 개발에서 큰 강점이다.

이 책은 아마도 현재까지 출간된 코코스2d 책 중에서, 가장 실전적인 책이라 할 수 있다. 이 책의 탁월한 장점은 상용 게임 제품에도 바로 써먹을 수 있는 실전적이고 유용한 예제들로 가득 차 있다는 점이다. 이 책의 예제들은 기본적인 그래픽 처리에서부터 데이터 처리, 2D 조명, 3D, 폴리곤 텍스처 처리, 멀티 플레이 네트워크, 물리엔진, 인공지능 등 고급 기법들까지 망라하고 있다. 코코스2d를 처음 접하는 개발자들이라도, 이 책의 살아 숨쉬는 예제들을 살펴보다 보면, 당장이라도 이런 기법들을 활용해서 게임을 만들고 싶어질 것이다.

아울러 저자는 이 책의 예제들이 동작되는 앱을 3개로 나누어서 친절하게 앱스토어에 올려 놓았다. 앱스토어에서 cocos2d cookbook이라고 검색하면 예제 앱을 찾을 수 있다. 이 책을 구입할까 고민이 된다면 이 예제들을 미리 살펴보기 바란다.

나날이 새로운 용어가 출현하는 IT 분야 도서 번역에서 가장 고민이 되는 점은 역시 대응되는 한글 용어가 정착되지 않은 기술 용어의 번역이다. 실제 현장에서는 대부분 영어 발음 그대로 사용하는 편이 일반적이지만, 한글표현이 어느 정도 정착된 경우에는 가급적 한글 용어로 옮겼고, 그 외의 경우에는 영어 발음 그대로 음차 표현을 사용했다.

참고로 이 책의 원제는 『Cocos2d for iPhone 1 Game Development Cookbook』으로 아이폰 버전을 기준으로 하고 있지만, 엔진의 활용 원리는 똑같으므로, 안드로이드 개발자들도 자신의 프로젝트에서 응용할 수 있는 많은 아이디어를 얻을 수 있다. 또한 실무 개발자라면 간단한 포팅 과정을 통해 안드로이드 프로젝트에도 바로 응용할 수 있다. 국내외를 막론하고 안드로이드 전용 코코스2d 도서가 없는 상황에서, 이 책은 안드로이드 개발자들에게도 큰 도움이 될 것이라고 본다.

이 책이 코코스2d로 스마트폰 게임이라는 새로운 기회를 잡고 싶은 개발자들에게 실전적인 도움이 될 수 있으리라 기대한다.


[ 옮긴이 소개 ]

박기성
주로 게임개발을 중심으로 IT업계에 20년째 근무하고 있다. 최근에는 다수의 스마트폰 게임 개발 프로젝트를 진행하고 있다. 번역서로는 에이콘 출판사에서 출간한 『Gamification & 소셜게임』(2011년), 『두 얼굴의 구글』(2012년)이 있다. 가장 즐거운 시간은 첫 아들인 지유와 함께 시간을 보낼 때이다.

목차

목차
  • 1장 그래픽
    • 개요
    • 스프라이트 그리기
    • 스프라이트 채색
    • 스프라이트 애니메이션
    • OpenGL 원시 도형 그리기
    • 동영상 파일 재생
    • 격자, 파티클 및 모션 잔상 효과
    • 레티나 디스플레이 모드 활용
    • 1D 및 2D 변속 액션
    • 3D 모양의 렌더링과 텍스처 처리
    • 텍스처 입힌 폴리곤의 렌더링
    • 텍스처 입힌 폴리곤의 애니메이션
    • 레이어를 활용한 팔레트 스왑
    • CCTexture2DMutable를 활용한 팔레트 스왑
    • 블러(blur)와 글꼴 그림자를 위한 AWTextureFilte의 활용
    • 스크린샷의 캡처와 활용
    • CCParallaxNode의 활용
    • glColorMask를 활용한 조명
  • 2장 사용자 입력
    • 개요
    • 탭, 홀드 및 드래그 입력
    • 뎁스 테스트 입력
    • 버튼 제작
    • 방향 패드 제작
    • 아날로그 스틱 제작
    • 가속도계를 활용한 운전
    • 가속도계를 활용한 3D 회전
    • 핀치 줌(pinch zooming)
    • 제스처 수행
  • 3장 파일과 데이터
    • 개요
    • PLIST 데이터 파일 읽기
    • JSON 데이터 파일 읽기
    • XML 데이터 파일 읽기
    • NSUserDefaults를 이용한 간단한 데이터 저장
    • 아카이브 파일 내의 오브젝트 보관
    • 중첩된 메타데이터 변경
    • PLIST 파일에 데이터 저장
    • SQLite 데이터베이스에 데이터 저장
    • 코어 데이터를 활용한 데이터 저장
  • 4장 물리 구현
    • 개요
    • 박스2D 설정 및 디버그 드로잉
    • 충돌 반응 루틴 제작
    • 다양한 모양의 활용
    • 드래그와 충돌 필터링
    • 물리적 속성 조작
    • 추진력의 적용
    • 힘의 적용
    • 비동기적 물체 소멸
    • 관절의 활용
    • 차량 제작
    • 캐릭터 이동
    • 총알 시뮬레이션
    • 밧줄 시뮬레이션과 렌더링
    • 탑다운 아이소메트릭 게임 엔진 제작
  • 5장 씬과 메뉴
    • 개요
    • 씬 전환
    • 씬 간의 전환 효과
    • CCLayerMultiplex 활용
    • CCLabel 활용
    • CCMenu 활용
    • 그림자 처리된 메뉴 레이블 제작
    • UIKIt 경고 대화 상자
    • UIKit의 포장
    • 드래그 가능한 메뉴 창 제작
    • 수평 스크롤 메뉴 제작
    • 수직 슬라이드되는 메뉴 격자 제작
    • 표시기가 등장하는 로딩 화면 제작
    • 미니맵 생성
  • 6장 오디오
    • 개요
    • 사운드와 음악 재생
    • 오디오 속성 수정
    • 사운드와 음악의 페이드 효과
    • 게임 내에서 오디오의 활용
    • 게임 내에서 위치 연동 오디오의 활용
    • 배경 음악의 미터 표시
    • 애니메이션용 미터 표시 대화
    • 오디오 스트리밍
    • 오디오 녹음
    • 아이팟 음악 라이브러리 활용
    • 미디 신디사이저 제작
    • 음성 인식과 문자 음성 변환
  • 7장 AI와 로직
    • 개요
    • AI 경유지 처리
    • 움직이는 표적에 발사체 발사
    • AI 시야
    • 보이드를 활용한 AI 군집
    • 격자상의 A* 경로 탐색
    • 박스2D 월드의 A* 경로 탐색
    • TMX 타일맵의 A* 경로 탐색
    • 횡스크롤 게임의 A* 경로 탐색
    • 루아 스크립트 실행
    • 루아 스크립트의 동적 로딩
    • 대화 트리를 위한 루아 활용
  • 8장 팁, 툴 및 포팅
    • 개요
    • 코코스2d 아이폰 테스트베드 접근
    • Zwoptex를 활용한 텍스처 묶기
    • 타일드를 이용한 레벨 제작
    • JSONWorldBuilder를 이용한 레벨 제작
    • 코코스빌더를 이용한 씬 제작
    • 코코스2d-X의 활용
    • 코코스3d의 활용

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안