Top

iOS 5 게임 프로그래밍

  • 원서명Building iOS 5 Games: Develop and Design (ISBN 9780321786623)
  • 지은이제임스 서그루
  • 옮긴이김홍중
  • ISBN : 9788960773400
  • 22,000원
  • 2012년 09월 19일 펴냄 (절판)
  • 페이퍼백 | 220쪽 | 188*235mm
  • 시리즈 : 게임 개발 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

iOS 5용 게임을 디자인하고 프로그래밍하는 방법의 핵심을 추려 소개하는 책이다. 복잡한 개발 기법이나 규모가 큰 게임 엔진을 활용하는 대신 기초적인 게임 디자인 기법과 iOS 5가 기본으로 제공하는 GLKit만을 사용해서 머리 속에 있던 아이디어를 플레이가 가능한 게임으로 만들어 내는 전체적인 과정을 보여준다. iOS용 게임 개발을 처음 시작하려는 개발자라면 읽어 볼 가치가 있는 내용이다.


[ 소개 ]

인기 있는 iOS 게임은 매일 수만 회의 다운로드를 기록한다고 한다. 게임 개발자로 살기에 더없이 좋은 시절이다. 자신의 개발 능력을 iOS에 쏟을 마음의 준비가 끝났다면 제임스 서그루(James Sugrue)에게 개발을 시작하는 데 필요한 기본 지식을 배울 수 있다.

이 책에선 따라 하기 쉬운 간단한 프로젝트를 사용해서 고전적인 액션 게임을 만드는 과정을 소개한다. 각 장을 통해 아이디어를 발전시키고 디자인을 계획하는 데서 시작해서 실제로 코드를 작성하는 단계에 이르기까지 게임 제작의 각 단계를 보여준다. 책의 내용을 따라 함으로써 스프라이트를 만드는 방법과 터치, 가속도계, 가상 조이스틱을 사용해 주인공을 움직이는 방법을 손쉽게 배울 수 있다. 또 충돌 판정을 프로그래밍하고 게임 AI를 구현하는 방법을 배우고, 애플의 게임 센터뿐만 아니라 트위터를 사용해 게임에 소셜 기능을 추가해본다. 책을 다 읽고 나면 자신만의 프로젝트를 만들 준비가 끝날 것이다.


[ 이 책에서 다루는 내용 ]

■ 노련한 앱 개발자의 수준 높은 설명
■ 기본 원리를 쉽게 적용할 수 있는 간단하고 명확한 예제
■ 실제로 플레이가 가능한 게임 구현
■ GLKit, ARC 등 iOS의 새로운 기술에 관한 설명

저자/역자 소개

[ 저자 서문 ]

iOS용 게임을 만들어서 자신의 창의적인 아이디어를 실현하려면 지금이 가장 좋은 때다. 애플의 앱스토어는 개발자가 만든 게임을 수백만 명의 고객에게 선보일 수 있는 엄청난 기회를 제공한다. 지금까지 이렇게 손쉽고도 널리 게임을 배포할 수 있는 방법은 없었다.

수백만의 잠재 고객에게 다가갈 기회는 물론 최첨단 개발 툴과 하드웨어를 사용할 기회도 주어진다. 아이폰과 아이팟 터치는 사실상 수년 전의 데스크탑 컴퓨터를 능가하는 성능을 갖춘 컴퓨터와 진배 없다. 예전의 모바일 디바이스와 비교했을 때 하드웨어, 소프트웨어 제약이 훨씬 적은 아이폰과 아이팟 터치를 사용하면 환상적인 게임을 만들 수 있을 것이다.

이 책에선 iOS 5용 게임을 디자인하고 프로그래밍하는 방법을 소개한다.

이 책은 이미 프로그래밍을 경험해본 독자를 대상으로 한다. 오브젝티브C를 써본 적이 있으면 더 좋겠지만 아니어도 상관없다. 하지만 프로그래밍의 기초를 되새기거나 코드의 구조를 일일이 설명하면서 시간을 낭비하진 않을 예정이므로 어느 정도 프로그래밍을 할 줄 알아야 한다.

OpenGL ES를 사용해보고 싶었거나 직접 게임을 만들어보고 싶었는데 시작할 방법을 몰랐던 오브젝티브C 개발자라면 이 책의 진가를 알아볼 것이다.

각 장에선 이전 장의 내용을 바탕으로 iOS용 게임을 만들어가면서 게임 개발에 꼭 필요한 내용을 소개하고 설명한다.

동시에 확실하고 이해하기 쉬운 방식으로 OpenGL ES와 게임 개발에 관해 살펴본다. 색다른 기법이나 고급 기법보다는 게임 제작의 기본 원리를 배울 수 있을 것이다.

책에서 소개할 게임 프로젝트는 최대한 단순하게 만들었다. 이해하기 쉽게 작성하는 게 목표였기 때문에 마무리가 깔끔하거나 속도가 빠른 코드는 아닐 수도 있다. 하지만 초보 게임 프로그래머의 티를 벗는 데 실질적인 도움을 주는 프로그램일 것이다.

끝으로, 책에서 소개할 게임 프로젝트에선 OpenGL ES 2.0이 핵심적인 역할을 하지만 OpenGL을 자세히 소개하진 않는다. 사실 대부분 OpenGL ES 코드는 애플이 새로 선보인 GLKit 프레임워크 안에 감춰져 있다. GLKit을 사용하면 OpenGL ES를 속속들이 알아야 한다는 부담 없이 게임을 개발할 수 있다. 책을 다 읽고 나면 게임 개발과 디자인의 기초가 확실히 다져진 상태에서 최고의 판매량을 기록할 게임을 만들 수 있을 것이다.


[ 저자 소개 ]

제임스 서그루 (James Sugrue)
뉴질랜드 태생의 프로그래머이자 저자다. 8살 때 형의 암스트래드 CPC 464로 BASIC 게임을 만들기 시작한 뒤로 한 번도 한눈을 팔지 않고 팜, 윈도우, 리눅스, 윈도우 모바일용 프로그램을 만들어왔다. 요즘엔 iOS, 안드로이드, 윈도우폰 등 모바일 개발에 집중하고 있다. 세계 각국의 다양한 업체를 상대로 앱과 게임을 만들어왔고 2008년에는 소프트웨어엑스(SoftwareX) 사를 설립해서 30개가 넘는 앱을 선보였다. 코드를 작성하지 않을 땐 뉴질랜드판 월간 「PC 월드」에 실릴 프로그래밍 칼럼을 쓴다.


[ 옮긴이의 말 ]

2011년 애플 앱스토어의 게임 매출액은 약 20억 달러였다. 2012년 3월 기준으로 앱스토어에 올라와 있는 앱은 총 59만 3,699개이고 그중 게임은 9만 6,264개다. 단순히 수로만 보면 약 16%에 해당한다. 하지만 이 16%의 게임이 앱스토어 전체 매출의 84%를 차지한다. 그리고 2015년엔 모바일 게임이 전체 게임 소프트웨어 매출의 20%를 차지할 것이라는 전망도 나오고 있다.

자료가 의미하는 바는 명확하다. iOS 게임은 돈이 된다. 물론 모든 게임이 수익을 올리는 건 아니다. 사용자의 마음을 끌 수 있어야 한다. 그리고 사용자는 게임의 규모만으로 판단하지 않는다. 인기 순위나 판매 순위의 상위권엔 캐주얼 게임도 상당히 많이 올라와 있다. 사용자를 재미있게 해줄 수만 있다면 작은 규모의 캐주얼 게임으로도 성공을 거둘 수 있다는 말이다.

하지만 아무리 단순한 게임이라 해도 실제 게임으로 만들어내는 과정은 그렇게 간단하지 않다. 이 책은 GLKit 같은 가장 기본적인 기술과 기법만을 사용해서 아이디어를 게임으로 만들어가는 과정을 보여준다. 실제로 iOS 게임을 개발할 때 책에서처럼 GLKit만 사용하는 경우는 없을 것이다. 게임의 규모나 동원 가능한 자본, 인력 등 상당히 많은 사항을 고려해야 하겠지만 결국 적절한 게임 엔진을 선택해서 개발을 진행하는 게 일반적이다.

그렇다 해도 게임 개발이 처음이라면 책에서 소개하는 전체적인 게임 개발 과정을 한 번 살펴보기 바란다. 책의 예제 프로젝트를 따라 하다 보면 막연하게 느껴졌던 게임 개발이 한층 가깝게 느껴질 것이다. 게임 개발자로 향하는 작은 발걸음으로 끝날지 큰 도약이 될지 누가 알겠는가?


[ 옮긴이 소개 ]

김홍중
중앙대학교 컴퓨터공학과를 졸업했다.
삼성소프트웨어 멤버십 회원으로 활동하다가 삼성전자에 입사했고, DM 연구소, VD 사업부에 근무하면서 윈도우 CE, 임베디드 리눅스 환경에서 PDA, 셋탑박스, DTV 등 다양한 기기에 들어가는 애플리케이션을 개발했다.
2007년, 답답한 삶을 털어내고 훌쩍 미국으로 날아가 한껏 여유를 즐기다가 빈손으로 돌아왔다. 한동안 프리랜서로 일하면서 번역, 강의를 하며 떠돌다 현재 Nvius의 모바일팀에서 근무하고 있다.
에이콘 출판사에서 출간한 『아이폰 UI 디자인 프로젝트』(2010), 『The iPhone Developer’s Cookbook (Second Edition) 한국어판』(2010), 『Beginning Windows Phone 7 Development 한국어판』(2011) 등을 번역했다.

목차

목차
  • 1부 GLKit
  • 1장 게임 프로그래밍의 기초
    • 게임의 내부
      • 게임 루프
      • 스프라이트
      • 스프라이트 시트
      • 게임 엔진
      • OpenGL ES
      • 인공지능
      • 조작 방법
    • 마무리
  • 2장 디자인
    • 게임 디자인
      • 게임 장르 선택
    • 게임의 외관을 만든다
    • 조작의 중요성
    • 게임의 규칙
    • 그래픽과 사운드 확보
      • 하지만 난 그래픽 디자이너가 아닌 걸
      • 소리를 내보자
    • 마무리
  • 3장 OpenGL
    • 새로운 프로젝트 생성
    • 기본 파일 구성
      • 눈여겨봐야 할 파일
      • 템플릿 앱
      • 템플릿 앱 수정
    • 마무리
  • 4장 컨트롤러와 스프라이트
    • 컨트롤러
      • AbstractSceneController
    • 4장의 프로젝트
      • GameController
      • ViewController
      • 버텍스
    • 스프라이트 표시
      • 텍스처
    • 스프라이트의 실제 구성
      • 인터리브드 버텍스 데이터
      • 스프라이트 클래스
      • MenuSceneController
    • 마무리
  • 5장 조작 방법
    • 씬 전환
      • 씬 전환
      • 터치로 조작
    • 주인공 스프라이트 생성
      • 디바이스의 기울기로 조작
      • 가상 조이스틱으로 조작
    • 경계 확인
    • 마무리
  • 6장 쏴야 할 적
    • 적기 스프라이트 클래스
      • 탄환
      • 동적으로 게임을 어렵게 만드는 AI
      • 단순 비행 스프라이트
    • 적기의 움직임과 지능
      • 대각 비행 스프라이트
      • 대각 비행 스프라이트의 AI
      • 돌격형 스프라이트의 AI
    • 마무리
  • 7장 폭발
    • 충돌 판정 방식
      • 상자형 충돌 판정
      • 원형 충돌 판정
      • 픽셀 단위 충돌 판정
      • 충돌 판정 코드 추가
    • 레이더스의 충돌 판정
      • 충돌 확인과 효과
      • 충돌 로직
    • 폭발 장면 표시
      • 음향 효과 추가
    • 마무리
  • 8장 마무리 작업
    • 점수판 추가
      • 폰트 렌더링
      • 주인공의 수명
    • 점수 유지
      • 승리
    • 새로운 출발
    • 더 남은 게 있나?
    • 마무리
  • 9장 소셜 네트워크 활용
    • 게임 센터
      • 순위표 구현
    • 순위표, 목표 달성, 점수
      • 점수 전송
      • 목표 달성
      • 게임 센터 마무리
    • 트윗 전송
      • TWTweetComposeViewController를 사용하는 방법
      • 뷰 컨트롤러 없이 트윗을 전송하는 방법
    • 마무리
  • 10장 iAd, 에어플레이, 앱 내 구매
    • iAd
    • 에어플레이
      • IAP의 생성과 처리
    • 앱 내 구매
    • 마무리
  • 2부 OpenGL ES 2.0
  • 11장 OpenGL 준비
    • 새로운 프로젝트 생성
      • 버퍼 생성
      • 렌더링 코드 준비
      • 뷰 컨트롤러 수정
      • 프로그램 객체 생성, 셰이더 연결
    • 마무리
  • 12장 OpenGL ES로 구현한 레이더스
    • 스프라이트 클래스 재검토
      • 스프라이트 헤더 파일 수정
      • OpenGL ES 2.0으로 텍스처 로드
      • 프래그먼트 셰이더
    • 셰이더 적용
      • 버텍스 셰이더
      • 스프라이트 이동 구현
      • ViewController 수정
    • 클래스 수정
      • GameController 수정
      • BitmapFont 수정
    • 마무리
  • 부록 A 오브젝티브C
    • 문법상 차이점
      • 외부 코드 선언
      • 인터페이스 선언
    • 헤더 파일과 구현 파일
      • 구현 파일
    • 객체의 인스턴스화
    • 메모리 관리
    • retain과 release
    • iOS 5의 새로운 기능, ARC
    • 프로토콜과 카테고리
    • 마무리
  • 부록 B 참고 자료
    • 오브젝티브C와 iOS
    • OpenGL ES 2.0

도서 오류 신고

도서 오류 신고

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

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

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