이미 소장하고 있다면 판매해 보세요.
|
Chapter 1 아이폰 입문
1.1 애플 개발자 계정과 SDK 다운로드 1.1.1 애플리케이션 번들 1.1.2 Xcode와 인터페이스 빌더 1.1.3 뷰와 콘트롤러 1.2 기기에 올리기 1.2.1 인증과 프로파일 1.2.2 Xcode 설정 1.3 Objective-C 입문 1.3.1 클래스 1.3.2 인스턴스화 1.3.3 메시지 1.3.4 멤버 변수 1.3.5 메모리 관리 1.3.6 생성자와 소멸자 1.3.7 인터페이스 빌더 통합 1.3.8 C++와 Objective-C 혼합 1.4 결론 Chapter 2 게임 엔진 해부 2.1 애플리케이션 프레임워크 2.1.1 메인 루프 2.2 게임 스테이트 관리자 2.2.1 스테이트 머신 2.3 그래픽 엔진 2.3.1 텍스처링 2.3.2 애니메이션 2.3.3 물리 엔진 2.3.4 오디오 엔진 2.3.5 플레이어 입력 2.3.6 게임 로직 2.4 결론 Chapter 3 프레임워크 3.1 게임 스테이트 관리 3.1.1 구현 3.1.2 상태 바 제거 3.2 App Delegate 3.2.1 FPS 3.3 이벤트 핸들링 3.4 리소스 매니저 3.4.1 텍스처 포맷 3.4.2 사운드 포맷 3.4.3 리소스 배포 3.4.4 관리 3.5 렌더 엔진 3.5.1 GLESGameState 3.5.2 텍스처 3.5.3 폰트 텍스처 3.5.4 예제 스테이트 3.6 사운드 엔진 3.6.1 예제 스테이트 3.7 데이터 저장 3.7.1 간단한 데이터 저장 3.7.2 복잡한 데이터 저장 3.7.3 예제 스테이트 3.8 뼈대 애플리케이션 3.9 결론 Chapter 4 2D 게임 엔진 4.1 게임 디자인 4.1.1 기능 목록 4.1.2 사용자 입력 구조 4.1.3 학습 곡선 4.2 타일 엔진 4.2.1 유니크 타일 4.2.2 타일 그리기 4.2.3 TileWorld 클래스 4.3 애니메이션 4.3.1 애니메이션과 스프라이트 클래스 4.4 물리 4.4.1 개체 4.4.2 개체-게임 세계 4.4.3 특수한 타일 4.4.4 개체-개체 4.5 레벨 1 구현 4.5.1 gsEmuLevel 4.5.2 TileWorld 4.5.3 메인 캐릭터 4.5.4 에뮤 새끼 4.5.5 에뮤 어미 4.5.6 게임 로직 4.5.7 사운드 4.6 레벨 2 구현 4.6.1 gsLionLevel 4.6.2 TileWorld 4.6.3 McGuffin 4.6.4 메인 케릭터 4.6.5 사자 개체 4.6.6 게임 로직 4.6.7 사운드 4.7 레벨 3 구현 4.7.1 gsMazeLevel 4.7.2 TileWorld 4.7.3 버튼 4.7.4 문 4.7.5 고양이와 쥐 4.7.6 사용자 입력 4.7.7 게임 로직 4.7.8 사운드 4.8 레벨 4 구현 4.8.1 gsRiverLevel 4.8.2 TileWorld 4.8.3 악어 4.8.4 통나무 4.8.5 Tom 4.8.6 사용자 입력 4.8.7 게임 로직 4.8.8 사운드 4.9 게임 스테이트 직렬화 4.9.1 저장소 초기화 4.9.2 게임 끝내기 4.9.3 UI 수정 4.10 결론 Chapter 5 3D 게임 5.1 GLESGameState3D 클래스 5.1.1 POWERVR 5.1.2 Sprite3D 5.1.3 가속도계 5.2 3D 게임 디자인 5.2.1 그래픽 5.2.2 입력 5.2.3 카메라 5.2.4 로직 5.3 구현 5.3.1 카메라 5.3.2 Skybox 5.3.3 입력 5.3.4 고리 5.3.5 파티클 시스템 5.3.6 로직 5.3.7 최고 기록 5.4 게임 끝내기 5.5 결론 Chapter 6 게임 디자인의 고려사항 6.1 리소스 관리 6.2 사용자 입력 디자인 6.3 네트워킹 6.4 써드파티 코드 6.4.1 라이브러리 6.4.2 미들웨어 6.4.3 오픈 소스 게임 6.5 앱 스토어 6.6 결론 Appendix 참고문헌 A.1 코드 참조 A.2 물리 라이브러리 A.3 미들웨어 A.4 오픈 소스 게임 |
|
아이폰 게임을 만들려면 무엇이 필요할까? 이미 아이폰 애플리케이션을 몇 번 만든 경험이 있어도 아이폰의 제스쳐 인터페이스와 작은 크기의 화면으로 인해 게임 개발은 새로운 기술들을 필요로 한다. 이 책은 게임 개발에 필요한 그래픽과 오디오를 다루는 법, 게임의 물리를 구현하는 법, 2D와 3D 게임 개발법 등 아이폰 게임 프로그래밍의 핵심 기술들을 제공하고 있다.
미리 만들어둔 예제의 실행과 명확한 설명을 통해 아이폰과 아이팟 터치에 특화된 기술적인 설계 이슈들을 쉽게 배울 수 있을 것이다. 또한 이 책은 여러 종류의 게임에서 성능을 극대화하는 방법을 제시하고 있으며, 아이폰의 게임 프로그래밍 지원이 취약한 부분을 보충하기 위한 플러그인 클래스도 소개하고 있다. 사용자 경험을 보증하는 아이폰용 게임 개발방법을 배운다. 오브젝티브-C와 Xcode 도구 모음에 익숙해진다. 아이폰 인터페이스를 게임에 맞추는 방법을 배운다. 게임 앱에 쓸 유연하면서도 확장이 가능한 프레임워크를 만든다. 2D와 3D 그래픽 구현에 필요한 것들을 이해한다. 음악, 효과음, 메뉴, 컨트롤 추가 방법을 배운다. 앱스토어에 게임을 출시하는 방법을 배운다. 이 책의 우선적인 목표는 모든 개발자가 언제나 펼쳐볼 수 있는 아이폰 게임 개발 책을 초보와 숙련된 게임 프로그래머 모두에게 알맞은 형태로 제공하는 것이다. 이 책은 예제 게임을 빌드하고, 나아가 스스로 게임을 만들어 빌드하기 위해 알아야 하는 모든 것을 위한 소스 그 자체이다. 게임 엔진을 만드는 핵심 개념과 그것을 아이폰에 적용하는 방법 모두를 제공한다. 2D 게임을 만들기 위해 기본적인 Objective-C를 학습시켜 아이폰 SDK를 이용할 수 있도록 한다. 3D 게임을 만들기 위해 아이폰에서 사용할 OpenGL ES를 소개한다. 게임을 앱 스토어에 올리는 것이 두렵지 않게 하기 위해 인증 과정에 익숙해지도록 한다. 1장, 아이폰 입문에서는 애플 개발자 계정 생성 같은 세부 계획을 포함해서 인터페이스를 만들고 Objective-C로 코드를 만들어 본다. 2장, 게임 엔진 해부에서는 유지보수가 쉽고 재미있는 게임 애플리케이션을 제작케 하는 게임 로직과 좋은 디자인의 요소를 소개한다. 3장, 프레임워크는 애플 SDK가 제공하는 기능을 보충하기 위해 작성한 특별한 게임 구현과 중대한 클래스를 감싸는 코드를 보여준다. 4장, 2D 게임 엔진은 3장에서 만든 프레임워크를 기본으로 네 개의 레벨이 있는 완성된 게임을 만든다. 2D로 시작하는 이유는 게임 작업과 코드의 복잡함이 3D보다는 2D가 더 쉽기 때문이다. 기본 움직임, 비주얼과 오디오 이펙트, 게임 레벨 이동, 그 외의 다른 게임 프로그래밍 요소까지 다룬다. 5장, 3D 게임은 3D 게임을 만들기 위해 더 복잡한 작업을 설명한다. OpenGL 라이브러리를 사용하지만 그 목표는 3D 기초의 설명이나 OpenGL이 아니고, 게임 프로그래밍에 그것들을 사용하기 위해 필요한 고유 기술을 알려주는 것이다. 6장, 게임 디자인의 고려사항은 고급 개발자들을 위해 책을 몇 가지 큰 기준으로 간추리고 좋은 라이브러리와 미들웨어를 포함하는 더 많은 리소스를 알려준다. 부록, 참고문헌은 정보, 라이브러리, 제품의 좋은 소스를 알려준다. 학습 선행조건 책의 내용들을 모두 이해하려면 프로그래밍 지식이 어느 정도 있어야 한다. 아이폰은 Objective-C를 사용하지만 대부분의 사람들은 C/C++이나 자바에 익숙하기 때문에 기본에 익숙해지도록 1장에는 Objective-C의 기초를 넣었다. 또한 Mac이 필요하다. 아이폰 SDK는 OS X에서만 되기 때문에 아이폰 개발을 진지하게 생각하고 있다면 맥의 구입은 필수다. 다행히 기본 모델인 맥 미니는 아이폰 개발에 충분한 성능을 가지고 있고, 기존의 모니터와 키보드를 설치해서 사용할 수 있다. 반면에 맥이 있으면 Xcode IDE는 무료다. 세 번째로 필요한 건 꼭 필요한 것은 아니다. 하지만 강력히 추천한다. 아이폰이나 아이팟 터치가 있어야 한다. 책에서 아이폰이라고 말을 하지만, 아이폰용으로 만든 게임은 아이팟 터치에서도 작동한다. 어떤 이들은 아이폰 시뮬레이터만 가지고도 아이폰 게임을 만들 수 있다고 믿는다. 이렇게 하는 것은 사실 가능하고 앱 스토어에도 올릴 수도 있지만, 기기에서 개발하고 테스트할 것을 강력히 권한다. 여러분이 직접 플레이할 수도 없는 게임이 어떻게 좋은 평가를 받을 수 있겠는가? 이 세 가지 외의 다른 필요한 모든 것들을 다운받거나 배울 수 있는 곳이 있다. https://sourceforge.net/projects/iphonegamebook/에서 좋은 클래스와 예제들을 만들고 있고, 모든 예제 소스 코드를 이곳에서 받을 수 있다. 이전에 말한 것처럼 독자가 어느 정도 기초적인 프로그래밍 지식이 있을 것이라 생각한다. 하지만 게임 쇇로그래밍 경험이 없고 게임 엔진과 유저 인터페이스 디자인에 대한 기초 이론이 필요할 수도 있다. 아니면 다른 플랫폼에서 비디오 게임을 만들어본 경험이 많고, 단지 터치스크린 개념과 아이폰 SDK와 빌드 과정만 익힐 필요가 있을 수도 있다. 크로스 플랫폼 게임에 사용할 이식성 높은 코드 작성법이나 어떤 미들웨어 솔루션이 현재 존재하는지와 같은 심화 주제에 관심이 있을 수도 있다. 어느 쪽이건 이 책이 도움이 될 것이다. |