logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

시작하세요! 안드로이드 게임 프로그래밍

시작하세요! 안드로이드 게임 프로그래밍

마리오 제흐너 (지은이), 유윤선 (옮긴이)
위키북스
36,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
32,400원 -10% 0원
1,800원
30,600원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 22개 1,980원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

시작하세요! 안드로이드 게임 프로그래밍
eBook 미리보기

책 정보

· 제목 : 시작하세요! 안드로이드 게임 프로그래밍 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9788992939867
· 쪽수 : 832쪽
· 출판일 : 2011-09-30

책 소개

게임 개발의 기본이 되는 파일 입출력(I/O), 사용자 입력 처리, 그래픽, 오디오 등 각 프레임워크 요소를 추상화하고 실제 예제 코드를 통해 각 프레임워크 요소를 적절히 구현함으로써 재사용할 수 있는 게임 프레임워크를 완성하는 법을 보여준다. 또 게임 로직 구현에 도움이 되는 배경 지식에 대한 설명을 통해 충돌 감지, 비트맵 블리팅, 3D 그래픽 프로그래밍 같은 고급 주제를 차례로 소개한다.

목차

01장 안드로이드, 뉴 키즈 온 더 블록

안드로이드에 대한 간단한 소개
파편화
구글의 역할
- 안드로이드 오픈소스 프로젝트
- 안드로이드 마켓
- 챌린지, 개발자 지원 프로그램, 구글 I/O
안드로이드의 기능과 아키텍처
- 커널
- 런타임과 달빅
- 시스템 라이브러리
애플리케이션 프레임워크
소프트웨어 개발 킷
개발자 커뮤니티
기기, 기기, 기기!
- 하드웨어
- 1세대, 2세대, 차세대
- 차세대 기기
- 게임 컨트롤러
모바일 게임의 차이점
- 주머니 속으로 들어간 게임 기기
- 상시 접속 상태의 유지
- 캐주얼 게임과 하드코어 게임
- 큰 시장과 적은 수의 개발자
정리

02장 안드로이드 SDK 첫 걸음

개발 환경의 설정
- JDK의 설정
- 안드로이드 SDK의 설정
- 이클립스의 설치
- ADT 이클립스 플러그인의 설치
- 이클립스 간단히 살펴보기
안드로이드 방식의 Hello World
- 프로젝트의 생성
- 프로젝트 내용 살펴보기
- 애플리케이션 코드의 작성
안드로이드 애플리케이션의 실행과 디버깅
- 기기 연결
- 안드로이드 가상 기기의 생성
- 애플리케이션의 실행
- 애플리케이션 디버깅
- 로그캣과 DDMS
- ADB의 활용
정리

03장 게임 개발

장르 - 각인각색
- 캐주얼 게임
- 퍼즐 게임
- 액션 및 아케이드 게임
- 타워 디펜스 게임
- 혁신 게임
게임 설계 - 펜은 코드보다 강하다.
- 핵심 게임 방식
- 게임 스토리와 아트 스타일
- 화면과 화면 전환
코드 - 핵심적인 세부 내용
- 애플리케이션과 창 관리
- 입력
- 파일 I/O
- 오디오
- 그래픽
- 게임 프레임워크
정리

04장 게임 개발자를 위한 안드로이드

안드로이드 애플리케이션의 정의 - 매니페스트 파일
- 엘리먼트
- 엘리먼트
- 엘리먼트
- 엘리먼트
- 엘리먼트
- 엘리먼트
- 10단계로 끝내는 안드로이드 게임 프로젝트 설정
- 게임의 아이콘 정의
안드로이드 API의 기본
- 테스트 프로젝트의 생성
- 액티비티 생명주기
- 입력 기기의 처리
- 파일 처리
- 오디오 프로그래밍
- 효과음의 재생
- 스트리밍 음악
- 기본 그래픽 프로그래밍
모범 개발 방식
정리

05장 안드로이드 게임 개발 프레임워크

공략 계획
AndroidFileIO 클래스
AndroidAudio, AndroidSound, AndroidMusic
AndroidInput과 AccelerometerHandler
- AccelerometerHandler: 가속도계의 감지
- Pool 클래스: 재사용은 좋은 것이다!
- KeyboardHandler: 위, 아래, 왼쪽, 오른쪽
- 터치 핸들러
- AndroidInput: 위대한 조율자
AndroidGraphics과 AndroidPixmap: 두 개의 무지개
- 각기 다른 화면 크기와 해상도의 처리
- AndroidPixmap: 사용자를 위한 픽셀 조정
- AndroidGraphics: 드로잉 작업의 수행
- AndroidFastRenderView: 루프, 확장, 루프, 확장
AndroidGame: 모든 내용의 종합
정리

06장 Mr. Nom 안드로이드를 침공하다

자원의 생성
프로젝트 설정
MrNomGame: 메인 액티비티
- Assets: 편리한 자원 저장소
- Settings: 사용자 선택값과 하이스코어의 추적
- LoadingScreen: 디스크로부터 자원 로드
메인 메뉴 화면
HelpScreen 클래스(들)
하이스코어 화면
- 숫자 렌더링: 짧은 여행
- 화면 구현
추상화... 301
- Mr. Nom의 게임 공간에 대한 추상화: 모델, 뷰, 컨트롤러
- GameScreen 클래스
정리

07장 오픈GL ES의 간단한 소개

오픈GL ES는 무엇이고 왜 알아야 하나?
- 프로그래밍 모델: 비유
- 투영
- 정규화된 기기 공간과 뷰포트
- 매트릭스
- 렌더링 파이프라인
시작에 앞서 알아야 할 내용들
작업을 쉽게 도와주는 GLSurfaceView
GCGame: Game 인터페이스의 구현
엄마, 내가 빨간색 삼각형을 그렸어!
- 뷰포트의 정의
- 투영 매트릭스의 정의
- 삼각형의 지정
- 내용 정리
정점 색상의 지정
텍스처 매핑: 손 쉬운 이미지 배치 작업
- 텍스처 좌표
- 비트맵 업로드
- 텍스처 필터링
- 텍스처의 정리
- 유용한 코드 조각
- 텍스처 활성화
- 내용 정리
- 텍스처 클래스
인덱스를 갖는 정점 - 재사용은 항상 유용하다.
- 내용 정리
- Vertices 클래스
알파 블렌딩
다양한 원시 도형 : 점, 선, 스트립, 팬
2차원 변형: 모델-뷰 매트릭스를 활용한 재미있는 프로그래밍
- 세계 공간과 모델 공간
- 다시 살펴보는 매트릭스
- 변형을 활용한 첫 번째 예제
- 더 많은 변형
성능 최적화
- 프레임 레이트의 측정
- 안드로이드 1.5에서 실행되는 히어로의 문제 사례
- 오픈GL ES 렌더링을 느리게 만드는 요인
- 불필요한 상태 변화의 제거
- 텍스처 크기를 줄이면 가져올 픽셀도 줄어든다
- 오픈GL ES/JNI 메서드 호출의 제한
- 바인딩 정점
- 마무리하며
정리

08장 2D 게임 프로그래밍 기법

시작에 앞서
태초에 벡터가 있었다
- 벡터의 활용
- 간단한 삼각함수 이론
- Vector 클래스의 구현
- 간단한 사용 예제
간단한 2차원 물리
- 뉴턴과 오일러, 영원한 좋은 친구들
- 힘과 질량
- 이론적인 적용
- 실제 적용
충돌 감지와 2차원에서의 객체 표현
- 경계 도형
- 경계 도형의 구성
- 게임 객체의 어트리뷰트
- 광범위 충돌 감지와 미세 충돌 감지
- 적용 예제
2차원 카메라
- Camera2D 클래스
- 예제
텍스처 아틀라스: 공유는 관심이다
- 예제
텍스처 영역, 스프라이드, 배치: 오픈GL ES 숨기기
- TextureRegion 클래스
- SpriteBatcher 클래스
스프라이트 애니메이션
- Animation 클래스
- 예제
정리

09장 수퍼 점퍼 - 2D 오픈GL ES 게임

핵심 게임 방식
게임의 배경 이야기와 아트 스타일
화면과 화면 전환
게임 세계의 정의
자원의 생성
- UI 요소
- 비트맵 폰트를 활용한 텍스트 처리
- 게임 요소
- 텍스처 아틀라스
- 음악과 효과음
수퍼 점퍼 게임의 구현
- Assets 클래스
- Settings 클래스
- 메인 액티비티
- Font 클래스
- GLScreen
- 메인 메뉴 화면
- 도움말 화면
- 하이스코어 화면
- 시뮬레이션 클래스
- WorldRenderer 클래스
최적화하기 또는 최적화하지 않기
정리

10장 오픈GL ES를 활용한 3D

시작에 앞서
3D의 정점
- Vertices3: 3D 위치의 저장
- 예제
시점 투영 - 가까이 있는 대상을 더 크게
z버퍼 - 혼란 속에 질서를 부여하다
- 이전 예제의 수정
- 블렌딩 - 뒤에 아무도 없다
- z버퍼의 정확도와 z 파이팅
3D 메시의 정의
- 큐브 - Hello World 3D
- 예제
다시 살펴보는 매트릭스와 변형
- 매트릭스 스택
- 매트릭스 스택을 갖춘 계층적 시스템
- 간단한 나무상자 태양계 시스템
- 정리하기
- 간단한 카메라 시스템
정리

11장 3D 프로그래밍 트릭

시작에 앞서
3D에서의 벡터
오픈GL ES에서의 광원
- 광원의 적용 방식
- 광원
- 재료
- 오픈GL ES가 빛을 계산하는 방법 - 정점 법선
- 실제 적용
- 오픈GL ES의 광원 사용과 관련한 몇 가지 참고 사항
밉매핑
간단한 카메라
- 1인칭 카메라 또는 오일러 카메라
- 오일러 카메라 예제
- 관찰 카메라
모델의 로딩
- Wavefront OBJ 형식
- OBJ 로더의 구현
- OBJ 로더의 활용
- 모델 로딩과 관련한 참고사항
간단한 3D 물리 이론
3D에서의 충돌 감지와 객체 표현
- 3D에서의 경계 도형
- 경계 구의 충돌 검사
- GameObject3D와 DynamicGameObject3D
정리

12장 드로이드 인베이더 - 그랜드 파이널

핵심 게임 방식
배경 이야기와 아트 스타일
게임 화면과 화면 전환
게임 세계의 정의
자원의 생성
- UI 자원
- 게임 자원
- 음악과 효과음
접근 방법
Assets 클래스
Settings 클래스
메인 액티비티
메인 메뉴 화면
설정 화면
시뮬레이션 클래스
- Shield 클래스
- Shot 클래스
- 우주선 클래스
- 인베이더 클래스
- 세계 클래스
GameScreen 클래스
WorldRender 클래스
최적화
정리

13장 게임 배포

테스트에 대한 조언
개발자 등록
게임 APK 서명
마켓에 게임 배포
- 자원 업로드
- Listing Details
- 배포 옵션
- 배포!
- 마케팅
개발자 콘솔
정리

14장 이제 어디로?

게임의 소셜 연동
위치 기반 게임
멀티플레이어 기능
오픈GL ES 2.0 및 그 외 기능
프레임워크와 엔진
웹 자료
맺음말

저자소개

마리오 제흐너 (지은이)    정보 더보기
일과 시간에는 R&D 소프트웨어 엔지니어로 근무하고 저녁에는 Badlogic Games라는 이름으로 게임을 개발해 출시하는 게임 개발자로 일한다. 마리오는 수많은 프로토타입 게임과 소규모 게임을 비롯해 안드로이드용 Newton 게임과 윈도우, 리눅스, 맥 OS X용 Quantum 게임을 개발했다. 현재 그는 libgdx라는 오픈소스 크로스플랫폼 게임 개발 솔루션을 개발 중이다. 마리오는 코딩 작업 외에 게임 개발과 관련한 튜토리얼과 기술 문서 집필 활동도 열심히 하고 있다. 그가 쓴 글은 웹과 블로그(http://www.badlogicgames.com)에서 무료로 볼 수 있다.
펼치기
유윤선 (옮긴이)    정보 더보기
인디 개발자이자 프리랜서 번역가로 활동 중이다. 역서로는 『단일 페이지 웹 애플리케이션』, 『전문가를 위한 안드로이드 프로그래밍』, 『하둡 인 프랙티스』, 『시작하세요! iOS 6프로그래밍』, 『프로페셔널 Node.js프로그래밍』, 『NoSQL프로그래밍』, 『프로 스프링 3』, 『라이프해커』, 『시작하세요! 아이폰 5 프로그래밍』, 『안드로이드 레시피』, 『시작하세요! Unity 3D 게임 프로그래밍』, 『시작하세요! 안드로이드 게임 프로그래밍』, 『시작하세요! 아이폰 4프로그래밍』, 『플래시 빌더 4& 플렉스 4바이블』, 『쉽고 빠르게 익히는 CSS3』, 『스프링 시큐리티 3』, 『시작하세요! 아이패드 프로그래밍』 등이 있다.
펼치기

책속에서

▣ 책 소개

안드로이드 게임 개발 세계에 입문한 것을 환영한다. 필자의 이름은 마리오다. 이제부터 필자는 이어질 14장에 걸쳐 여러분이 안드로이드 게임을 개발할 수 있게 도와주는 가이드가 돼줄 것이다. 이 책을 구매한 독자라면 안드로이드 게임 개발에 대해 배우려고 책을 구매했을 텐데 모쪼록 필자를 통해 여러분의 꿈을 실현할 수 있기를 바란다.

이 책에서는 다양한 주제를 다룬다. 안드로이드의 기본 원리, 오디오와 그래픽 프로그래밍, 약간의 수학과 물리 이론, 그리고 어렵게만 들리는 오픈GL ES 등이 우리가 다룰 내용이다. 이런 지식을 기반으로 이 책에서는 세 개의 각기 다른 게임을 개발한다. 그 중에는 물론 3D 게임도 들어 있다.

게임 프로그래밍은 여러분이 하고 있는 일을 제대로 알 때 비로소 쉬워진다. 그래서 이 책에서는 재사용하기 쉬운 코드를 제시하는 것뿐 아니라 게임 개발이라는 큰 그림을 보여줄 수 있는 형태로 책의 내용을 설명하려고 노력했다. 이런 내부 원리를 잘 이해해야만 복잡한 게임 아이디어를 제대로 공략할 수 있다. 이 책을 통해 독자들은 책에서 개발한 게임과 비슷한 게임뿐 아니라 웹이나 서점에서 추가로 얻은 지식을 바탕으로 새로운 게임 영역을 개발할 수 있을 만큼 충분한 기초 지식을 쌓을 수 있을 것이다.

▣ 책의 대상 독자

이 책은 우선 게임 프로그래밍 초급자를 대상으로 한다. 이 책의 독자는 게임 프로그래밍에 대한 사전 지식이 전혀 없어도 된다. 게임 프로그래밍에 대한 기본 지식은 이 책에서 모두 다루고 있다. 다만 이 책의 독자라면 자바에 대해 어느 정도 알고 있어야 한다. 자바 언어에 익숙지 않은 독자라면 브루스 에켈이 지은 『Thinking in Java(Prentice Hall, 2006)』의 온라인판을 읽어볼 것을 권한다. 이 책은 자바 언어에 대한 매우 훌륭한 입문서다. 자바 언어에 대한 기본 지식 외에 특별히 갖춰야 할 지식은 없다. 안드로이드나 이클립스를 몰라도 상관없다.

또 이 책은 안드로이드에서 게임을 개발하고자 하는 중급 게임 프로그래머를 대상으로 하는 책이다. 이런 독자에게는 책의 내용 중 일부가 이미 익숙하겠지만 이 책에서는 다양한 팁과 힌트를 소개하고 있으므로 많은 도움이 될 것이다. 안드로이드는 때때로 예상치 못한 방식으로 동작하기도 하는데, 이때 이 책의 내용이 크게 도움될 것이다.

▣ 이 책의 구성

이 책에서는 반복적인 접근 방식을 토대로 매우 기초적인 내용부터 하드웨어 가속을 활용한 고급 게임 프로그래밍까지 천천히, 하지만 확실히 소개한다. 이 책에서는 각 장을 통해 재사용할 코드 기반을 마련하므로 이 책을 순서대로 읽을 것을 권한다. 물론 경험이 많은 독자라면 자신이 확실히 알고 있는 장의 내용은 건너뛰어도 상관없다. 하지만 책의 내용을 건너뛰더라도 고급 주제를 다루는 절에서 해당 클래스와 인터페이스를 어떻게 사용하는지 이해할 수 있게끔 각 절의 코드 예제는 모두 읽어볼 것을 권한다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책