코코스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 게임 프로그래밍』에는 스프라이트 그리기에서부터 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 게임을 개발하는 방법을 논의한다. 마지막으로, 애플 앱스토어에 자신의 앱을 출시하는 과정을 논의한다.
목차
목차
- 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의 활용