서브메뉴

본문

만들면서 배우는 iPhone Game Programming (cocos2d 2.0으로 배우는 게임 프로그램의 동작 원리)
만들면서 배우는 iPhone Game Programming (cocos2d 2.0으로 배우는 게임 프로그램의 동작 원리)
저자 : 강권학|박창민
출판사 : 한빛미디어
출판년 : 2012
ISBN : 9788979149166

책소개

cocos2d 2.0으로 배우는 게임 프로그램의 동작 원리『만들면서 배우는 iPhone Game Programming』. 이 책은 게임 화면 표시부터 시작해서 단계별로 하나의 액션 게임을 완성해가면서 게임 프로그래밍의 기본 원리를 학습하게 구성되어 있다. 또한, 게임 센터, iAd 등의 부가 기능을 게임에 추가하는 방법부터 베타 테스트를 위한 베타 앱 배포, 앱스토어 등록에서 홍보까지 다뤄서 앱 개발의 전체 주기를 경험할 수 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

이 책이 제시하는 핵심 내용
아이폰 게임 하나를 처음부터 끝까지 만들면서 배우는 게임 프로그래밍

어떤 독자를 위한 책인가?
아이폰 게임 프로그래밍에 관심 있는 개발자
cocos2d 프레임워크로 게임을 만들어보고 싶은 개발자

개정판에서 달라진 점
개정판에서는 iOS SDK 5.1, Xcode 4.3.2, cocos2d-iphone 2.0 rc0의 최신 기술을 반영했다. OpenGL ES 2.0에 기반한 cocos2d-iphone 2.0을 선택해 최신 기술의 맛볼 수 있게 했다.
게임 센터, iAd 지원 기능을 추가했으며, 코드 분석 장을 추가해서 성능과 관련된 문제도 해결할 수 있는 능력을 키울 수 있게 했다.

내 손으로 따라하면서 완성하는 아이폰 게임 프로그래밍
게임 프로그래밍은 웹 프로그래밍과는 다른 기술이 필요하다. 게임 프로그래밍은 배경 화면의 스크롤, 주인공 캐릭터의 이동, 공격 애니메이션, 타격 효과, 몹의 타격 판정, 몹의 인공지능 등을 다뤄야 한다. 이미지, 배경 음악, 사운드 효과 등을 처리하려면 미디어를 다루는 기술도 알아야 한다. 이 책은 게임 화면 표시부터 시작해서 단계별로 하나의 액션 게임을 완성해가면서 게임 프로그래밍의 기본 원리를 학습하게 구성되어 있다. 또한, 게임 센터, iAd 등의 부가 기능을 게임에 추가하는 방법부터 베타 테스트를 위한 베타 앱 배포, 앱스토어 등록에서 홍보까지 다뤄서 앱 개발의 전체 주기를 경험할 수 있다.

● cocos2d 설치와 Xcode 환경 구성
● 화면 스크롤 구현
● 캐릭터 이동과 배경 화면의 이동
● 캐릭터 애니메이션과 공격 애니메이션의 구현
● 주인공 캐릭터와 몹 캐릭터의 타격 판정
● 적 캐릭터에 인공지능 부여하기
● 화면을 예쁘게 하는 폰트 파일 제작
● 배경 음악과 사운드 효과 추가
● 게임 일시정지/계속하기 기능 구현
● 게임 저장/복원 기능 구현
● iAd와 게임 센터
● 실제 디바이스에 배포하기와 앱스토어 등록
● 앱 홍보와 광고
● GarageBand로 사운드 루프 만들기
● cfxr로 효과음 만들기

저자 서문
[1판 지은이 서문]

2007년 1월 애플 사가 처음으로 아이폰(iPhone)을 선보였을 때, 많은 사람들의 반응은 굉장히 회의적이었습니다. 물론 애플 사 자체의 기대치도 높지 않았죠. 하지만, 몇몇 전문가들은 아이팟(iPod)과 아이튠즈(iTunes)가 음원 판매 시장에 혁신을 일으켰던 것처럼 아이폰 또한 휴대폰 시장에 새로운 혁신을 이끌어 낼 것으로 전망하기도 했습니다. 2년이 채 되지 않아 아이폰은 휴대폰(cell phone)과 스마트폰(smart phone)이라는 이름으로 불리는 대신 ‘아이폰’이라고 따로 불릴만큼 큰 반향을 불러일으켰습니다.
애플 사에서 아이폰과 함께 앱 스토어(App Store)를 소개하면서 개발자에게 수익금의 70%를 돌려주는 정책을 쓰기 시작한 것은 모바일 애플리케이션 개발사 또는 개발자에게는 일대 혁신에 가까운 일이었습니다. 닫혀 있던 모바일 애플리케이션 시장이 열린 시장으로 바뀌는 시작이었습니다. 이러한 열린 정책을 통해 오브젝티브-C(Objective-C)를 조금만 익히면 누구나 아이폰 애플리케이션을 개발할 수 있게 되었고, $99에 해당하는 개발자 프로그램을 구입하면 개발한 애플리케이션을 바로 판매할 수가 있어 한순간에 개발자들의 폭넓은 관심을 이끌어 내었습니다.
저도 아이폰 3G를 구입한 후 간단한 아이디어만으로 게임 애플리케이션을 개발하기 시작하였습니다. 처음에는 Cocoa 기반의 프레임워크(framework)만 가지고 게임을 개발했는데, 시뮬레이터상에서 아주 잘 돌아갔기 때문에 디바이스에서도 별 문제없이 돌아갈 것으로 생각했습니다. 게임 개발이 거의 끝나갈 무렵 개발자 프로그램을 구입하여 디바이스에서 테스트를 하게 되었습니다. 아무 문제없이 잘 돌아갈 것으로 생각했던 나의 기대와는 정반대로, 도저히 게임을 할 수 없을 정도로 성능(performance)에 심각한 문제가 있었습니다. 가능한 모든 방법을 동원하여 문제를 해결하려고 노력했으나, 도저히 판매를 할 정도의 품질(quality)이 나오질 않았습니다. 처음부터 새로 개발을 시작하는 것 말고는 다른 방법이 없음을 깨닫고 낙담도 했으나, 큰 대가를 지불하고 좋은 경험을 한 것으로 넘기고, 새로운 방법을 찾게 되었습니다.
그러던 중 OpenGL을 바탕으로 하는 2D 프레임워크인 cocos2d에 대해서 알게 되었습니다. 생각보다 아주 수월하게 같은 내용의 게임을 처음부터 새로 개발하게 되었는데, 개발 시간은 1/3밖에 걸리지 않았고, 개발을 끝낸 후 게임의 성능도 아주 만족스러웠습니다.
이후에 첫플(thefirstgood.com)이라는 아이폰 개발자 웹사이트를 운영하기 시작했고, 여기에 게임을 개발하면서 배운 노하우를 공유하고자 온라인 강좌도 올렸습니다. 아이폰 애플리케이션 개발에 관심 있는 분들이 많아서 강좌에 대한 반응이 아주 좋았습니다. 그러던 중 몇몇 출판사로부터 25개로 이루어진 횡스크롤 게임 개발 강좌를 책으로 출간하자는 제의를 받았습니다. 그중에서 IT 관련 도서를 다수 출간한 한빛미디어와 뜻을 같이하게 되어, 지금 이렇게 결실을 맺었습니다.
원고를 작성하면서 프로젝트 파일을 새로운 버전으로 업데이트했고, 가장 최근 내용을 많이 담으려고 노력했습니다. 그러나 원고가 마감된 이후에 아이폰 4가 출시되었고, iOS의 버전도 업데이트가 되었습니다. cocos2d도 몇 번의 업데이트가 있었습니다. 원고를 다시 살피면서 새로 업데이트된 내용을 추가하여 이 책을 접하는 독자분들께 정말 유용한 책이 될 수 있도록 최대한 노력을 기울였습니다. 부족한 면도 없지 않을 것으로 생각되지만 모쪼록 아이폰 애플리케이션 개발에 관심이 있는 많은 분들이 이 책을 통해서 큰 도움을 받게 되기를 기대합니다.
이렇게 온라인 강좌가 하나의 책으로 새롭게 태어나 여러분을 만날 수 있도록 도움을 주신 한빛미디어 관계자 분들께 감사드립니다. 온라인 강좌에 관심을 갖고 문제를 지적하고 해결책을 함께 나눠주신 첫플(thefirstgood.com) 회원들께도 감사한 마음을 전하고 싶습니다. 또한, 언제나 한결같이 기도로 든든한 후원자가 되어주는 사랑하는 아내와 가족, 그리고 주위 분들께 감사합니다. 무엇보다도 많이 부족한 저에게 이렇게 큰 기회를 주신 주님께 모든 감사와 영광을 드립니다. _박창민

[2판 지은이 서문]
수많은 게임이 있지만, 그중에서 앵그리버드는 갓 돌이 지난 아기부터 성인까지 누구나 좋아하
고 아이폰 이외에도 여러 스마트폰과 PC에서도 즐길 수 있는 대중적인 게임입니다. 이 게임은
전 세계 휴대전화의 절반 이상을 독점하던 노키아의 나라인 핀란드에서 4인 게임 개발팀이 3개월이라는 짧은 시간 동안 만들었으나, 전 세계에서 가장 성공한 앱이며 캐릭터 자산가치 12억 달러에 달하는 폭발적인 성장을 했습니다(개발사인 Rovio는 앵그리버드 출시 당시에는 파산 직전의 회사였습니다). 핀란드에서 수출의 20%를 차지하던 노키아가 쇠퇴하는 반면, 소규모 앱 개발이 이 공백을 메우고 있습니다. 이 상황을 보면 모바일화되어 있는 현재와 미래의 산업 구조를 예측해볼 수 있습니다.
이런 시대적 흐름에 따라 자신의 아이디어로 게임을 만들겠다는 생각을 하게 된 사람을 많이 봅니다. 독자 여러분도 이런 생각으로 이 책을 선택했다고 생각합니다. 하지만 누구나 프로그래밍을 하고 게임을 개발한 경험이 있는 것은 아닙니다. 짜임새 있는 훌륭한 기획에서 출발해 프로그래밍 언어를 배우고, 개발에 사용하는 IDE와 프레임워크를 배우고 익혀야 실제 프로그램 개발을 시작할 수 있으며, 게임에 들어가는 훌륭한 그래픽과 사운드, 루프 등 리소스를 갖추어야 성공적인 게임 앱을 개발할 수 있습니다. 그러나 배워야 할 것이 많다고 출발이 고통스럽거나 힘들 필요는 없습니다. 이 책은 여러분이 좀 더 수월하게 출발할 수 있게 도와줄 것입니다.
원래 저는 이 책 1판의 열렬한 독자였습니다. 한 줄 한 줄 따라하면서 완성되어가는 게임을 보면서 작은 희열을 느낄 수 있었습니다. 어려운 줄로만 여겼던 다양한 게임 효과를 구현하는데 cocos2d는 정말 훌륭한 프레임워크입니다. 원래 아르헨티나 개발자가 게임 개발 경진대회에서 게임을 빠르게 만들고자 파이썬용으로 개발했던 프레임워크를 아이폰과 오브젝티브-C용으로 포팅한 것이기 때문에 게임을 빠르게 개발하기 위한 다양한 기능을 지원하고 있습니다. 그러나 빠르게 업데이트되고 있는 Xcode와 iOS SDK, 이에 발맞춰 OS X까지 지원하게 된 cocos2d는 이 책 내용을 그대로 따라하기에는 너무 많이 변해 있었습니다. 그러던 중 이 책 1판을 현재 상황에 맞게 업데이트하자고 출판사로부터 요청을 받았고, 좋아하던 책의 공저자가 된다는 일은 정말 가슴 벅찬 일이어서 거절하지 않고 요청을 받아들였습니다. 먼저 Xcode 3.2.x 버전을 4.x 버전으로 올리고, iOS SDK 5.0, cocos2d도 OpenGL ES 2.0을 지원하는 cocos2d 2.0.0 알파 버전을 기반으로 바뀐 환경에 맞춰 원고 수정 작업을 진행했습니다. 또한 오브젝티브-C와 OpenGL ES 2.0을 이해하기 위한 최소한의 설명을 책에 포함하였습니다. 그러나 원고 작성 도중 iOS는 5.0.1, 5.1로 업데이트되었고, 이에 맞춰 Xcode는 4.3, 4.3.1, 4.3.2로 업데이트되었습니다. 또한 cocos2d는 베타, 베타 2, 그리고 2012년 3월에 출시된 뉴아이패드에 맞게 아이패드 레티나를 지원하게 cocos2d 2.0 RC0이 숨가쁘게 릴리스되었습니다. 작성 중인 원고를 멈추고 새로 릴리스된 환경에 맞춰 일일이 다시 검증하고 필요한 화면을 다시 캡처하는 일은 고된 노동으로 생각되기도 했습니다. 그러나 이런 검증 과정을 거치고 가능한 최신 상태에 맞춰 설명하지 못한다면 그만큼 독자 여러분이 직접 해결해야 하는 숙제를 많이 남기게 된다는 생각에 조판이 끝난 후에도 대대적인 수정을 하는 과정도 힘들게만 느껴지지는 않았습니다.
이 책은 출판 직전까지 Xcode 4.3.2, iOS SDK 5.1, cocos2d 2.0 RC0에 맞게 검증하고 완료되었습니다. cocos2d 2.0 알파에서부터 수정되어 온 코드와 원고 양을 보면 이 후에는 큰 변화나 독자 여러분이 직접 찾아보고 수정해야 할 부분은 매우 적어질 것으로 예상됩니다. 그러나 만약 책 내용대로 원활히 실습할 수 없다면 언제든 한빛미디어 홈페이지에 의견을 주시면 가능한 빨리 업데이트된 정보를 제공해드리겠습니다.
cocos2d에 관심을 갖고 한빛미디어의 책을 선택하신 독자 여러분께 감사 인사를 드리며, 이 책이 아이폰 게임 개발을 시작하는 독자 여러분께 힘들기보다는 즐겁고 다양한 경험, 폭넓은 설명을 제공하는 유익한 책이 되길 바랍니다. 마지막으로 지금의 제가 있도록 이끌어주신 부모님, 동생 경아와 매제 최창용, 그리고 아내와 두 아들에게 감사와 사랑의 말씀을 전합니다. _강권학

관련도서 - 한빛미디어 모바일 시리즈
『Objective-C : 맥과 아이폰 애플리케이션 프로그래밍』(한빛미디어, 2009)
『Head First iPhone Development: 사용자 경험 중심의 아이폰 앱 개발 입문서』(한빛미디어, 2010)
『iPhone Advanced Projects : 아이폰 개발자를 위한 실전 프로젝트 개발서』(한빛미디어, 2010)
『iPhone Programming 제대로 배우기』(한빛미디어, 2010)
『iPhone 3D Programming(아이폰 3D 프로그래밍)』(한빛미디어, 2010)
『만들면서 배우는 안드로이드 게임 프로그래밍』(한빛미디어, 2011)
『아이폰 앱 디자인 정석: 사용자 경험(UX)을 극대화시키는 사용자 인터페이스(UI)의 비밀』(한빛미디어, 2012)
[교보문고에서 제공한 정보입니다.]

목차정보

PART Ⅰ 들어가며
01. cocos2d 앱 구조
02. cocos2d 설치
03. HelloWorld 프로젝트 살펴보기

PART Ⅱ cocos2d 스프라이트와 애니메이션
04. 메뉴 씬 만들기
05. 배경 스크롤
06. 터치 이벤트 처리
07. 주인공과 배경 스크롤
08. 애니메이션

PART Ⅲ 게임 기법
09. 유효 공격 처리
10. 적 캐릭터 인공지능
11. 점수와 캐릭터 상태 표시
12. 게임 효과음과 배경 음악
13. 게임 일시정지 및 계속하기
14. 게임 데이터 저장
15. 게임 이어서 하기

PART Ⅳ 제품화
16. 개발자 등록
17. 게임 센터
18. iAd
19. 코드 분석
20. 베타 테스트와 앱스토어에 올리기
21. 앱 홍보하기

부록 A Zwoptex: 스프라이트 시트 만들기
부록 B GarageBand: 사운드 루프 만들기
부록 C cfxr: 효과음 만들기
[교보문고에서 제공한 정보입니다.]