장바구니 담기 close

장바구니에 상품을 담았습니다.

나홀로 개발자를 위한 안드로이드 게임 프로그래밍

나홀로 개발자를 위한 안드로이드 게임 프로그래밍

  • 이병옥
  • |
  • 에이콘출판
  • |
  • 2013-04-30 출간
  • |
  • 740페이지
  • |
  • 188 X 235 X 40 mm /1450g
  • |
  • ISBN 9788960774223
판매가

42,000원

즉시할인가

37,800

카드할인

0원(즉시할인 0%)

적립금

2,100원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
37,800

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 요약 ★

이 책은 안드로이드 게임을 만들고 싶어 하는 초보 자바 개발자를 대상으로 실전 게임 예제를 통해 기본기를 닦을 수 있게 한다. 안드로이드 플랫폼을 간단히 소개하고, 게임의 기반이 되는 캔버스, 서피스 뷰, OpenGL ES, 실전 게임 개발 방법 등을 다룬다. 실전 예제를 단계별로 구분해 장별로 게임 프로젝트를 수록해 따라하기 쉽고 소스 분석도 어렵지 않다. 안드로이드 SDK를 활용한 다양한 게임 예제를 통해 기본적인 학습 과정을 거쳐 퍼즐 게임, 보드 게임, 슈팅 게임, 카드 게임 등 캐주얼 게임을 개발하고, 3D 게임, 네트워크 게임 개발의 기초도 익힐 수 있다. 또한 카카오톡 연동을 통한 소셜 게임의 기초도 맛볼 수 있다.

★ 이 책에서 다루는 내용 ★

■ 안드로이드의 기본 학습
■ 캔버스와 서피스 뷰 및 게임 개발에 필요한 게임의 기본 학습
■ OpenGL ES를 이용한 게임 학습
■ 단순한 게임을 맛보기 위한 두더지 게임, 미니팡 게임
■ 시뮬레이션 슈팅 게임 Pacific 1942
■ 보드(카드) 게임 고스톱
■ OpenGL 3D 게임을 위한 3D 큐브 블록 게임
■ 네트워크를 이용한 일대일 바둑 게임
■ 안드로이드 게임 배포와 카카오톡 API 활용

★ 이 책의 특징 ★

■ 안드로이드 SDK를 이용한 모바일 게임 개발
■ 안드로이드 게임을 통한 캐주얼 게임 개발의 기초 학습
■ 단계별, 종류별 게임 설명
■ 단계별 예제를 별도로 제공함으로써 편리한 예제 활용 가능
■ 다양한 유형별 게임 분석과 응용

★ 이 책의 대상 독자 ★

■ 안드로이드 게임을 만들고 싶은 자바 개발자
■ 안드로이드 개발환경에 익숙하지만 게임은 처음 만들어보는 초급 개발자
■ 직접 게임을 만들고 구글 플레이에 올려 수익을 창출하고 싶은 독립 개발자
■ 네이티브 안드로이드 기반으로 게임을 만들고 싶은 개발자

★ 알고 있으면 좋은 내용 ★

이 책은 안드로이드를 조금이라도 알고 있으면 이해하는 데 큰 무리가 없다. 또, 안드로이드를 모르더라도 자바 언어를 알고 있다면 쉽게 학습할 수 있다.

★ 이 책의 구성 ★

이 책은 자바는 알지만 안드로이드를 잘 모르는 초보자에게 적합한 책이다. 안드로이드 기초부터 설명을 시작한다. 또한 안드로이드에서 제공하는 기본적인 기능으로 구현했다. 유니티3D 등 특별한 게임 라이브러리 중심의 설명이 아닌 순수한 안드로이드 SDK 중심으로 설명했다. 각 장은 다음과 같이 구성했다.

1장에서는 안드로이드의 개발을 위한 환경과 설치 과정에 대해 설명한다.

2장에서는 안드로이드를 처음 접하는 개발자를 위해 안드로이드의 기초를 설명한다. 게임이 아니더라도 기본적으로 알아야 할 안드로이드 개발의 시작이다.

3장에서는 안드로이드 게임을 만드는 데 필요한 그래픽과 서피스 뷰 기반의 게임 환경을 학습한다. 그래픽과 서피스 뷰는 안드로이드 게임의 가장 기본적인 사항이다.

4장에서는 OpenGL ES에 대해 배운다. OpenGL ES를 이용해 2D와 3D 객체를 구현하고 기본 원리를 설명한다. 참고로 오픈소스인 min3d 라이브러리를 사용해 3D 모델 객체를 사용해본다.

5장에서는 응용 게임 구현의 첫 단계로, 단순한 게임을 선택했다. 컴포넌트 기반의 두더지 게임과 서피스 뷰 기반의 미니팡 게임을 구현한다.

6장에서는 슈팅 게임을 구현한다. 슈팅 게임 중 1942 게임과 비슷한 형태로 구현한 Pacific 1942 게임을 만든다. 실시간 슈팅 게임의 특징에 맞게 게임을 구성하며, 스케줄러를 사용해 이미지와 스케줄러만 바꿈으로써 완전히 다른 게임을 만들 수 있다.

7장에서는 보드(카드) 게임을 구현한다. 우리나라에서 가장 많이 사용되는 대표적인 보드 게임으로는 고스톱이 있다. 출퇴근이나 점심시간 등 고스톱은 가장 많이 애용되는 게임 중 하나다.

8장에서는 OpenGL ES 기반의 3D 게임을 구현한다. 3D 게임은 일반적인 개인 개발자나 초보자에게는 어려운 작업이다. 특히 3D 게임은 게임보다 그래픽 자체를 구현하는 데 많은 시간이 필요하다. 따라서 8장은 그래픽보다는 OpenGL ES 자체를 이해하고 3D 게임을 응용해 구현하는 데 초점을 맞춘 3D 큐브 블록 게임을 선택했다.

9장에서는 네트워크 게임을 구현한다. 사람과 컴퓨터의 게임보다 사람과 사람의 게임은 상당히 흥미롭다. 9장은 네트워크 게임 중 알고리즘이 복잡해 보이는 바둑 게임을 구현한다. 네트워크 게임을 구현하는 데 필요한 소켓 프로그램과 프로토콜을 통해 네트워크 프로그램을 학습한다. 2명의 사용자가 와이파이를 통해 서로 연결하고 바둑을 둘 수 있다.

10장에서는 구글플레이 스토어에 대해 설명한다. 자신이 만든 안드로이드 앱을 구글플레이 스토어에 올리는 방법과 애드몹 광고를 추가하는 과정을 학습한다.

11장에서는 최근 유행하는 카카오톡과 연계한 API 사용법을 설명한다. 5장의 예제로 사용한 미니팡 게임에 카카오톡 API를 연동한 후 카카오톡으로 배포하고 실행하는 과정을 배운다.

★ 추천의 글 ★

PC 게임이나 콘솔 게임은 독립 개발자를 비롯해 소규모 그룹(이하 개인 그룹)이 접근하는 데 한계가 있습니다. 이는 게임의 리소스나 스케일이 방대해지면서 소규모 그룹이 제작할 수준을 넘어서기 때문입니다. 모바일 시장이 활성화되면서 개인 그룹에도 새로운 시장의 한 축으로 문호가 활짝 열렸지만, 이제는 모바일 게임도 대규모 물량을 투입하는 게임이 늘어나면서 독립 개발자가 설 자리가 줄어들지나 않을까 염려되기도 합니다. 모바일 디바이스가 점차 고사양이 됨에 따라 사용할 수 있는 자원의 양이 늘고 있고, 이로 인해 게임의 스케일도 커지고 있습니다. 게임에 투입되는 자원의 규모가 커져가는 환경 속에서 독립 개발자들은 좀더 창의적인 아이디어와 개발 기술로 무장할 필요가 생겼습니다. 그 길만이 시장에서 살아남을 가능성을 높여줄 겁니다. 그렇지만 게임 분야는 아직도 독립 개발자들에게 많은 가능성으로 남아 있습니다. 이는 하드웨어가 갖는 모바일의 특성이 아니라 사용 패턴의 모바일 특성에서 기인합니다.

이 책은 게임에 필요한 기초적인 안드로이드의 API 수준 내용부터 시작해서 게임을 구현하기 위한 공통 알고리즘, 그리고 실전 게임을 개발하기 위한 게임장르별 로직 처리까지 다룹니다. API 수준의 사용법을 설명하는 것보다 알고리즘이나 로직을 독자에게 이해가 되도록 전달하는 것이 훨씬 어려운 작업입니다. 이 책은 이런 어려운 부분까지 아울러서 설명하고자 노력을 기울이고 있습니다. 게임 개발의 기본은 예전이나 지금이나 많은 부분이 동일합니다. 또 감히 예상하건대, 앞으로도 비슷할 것입니다. 곧장 게임 엔진으로 달려가지 않고 이 책을 통해 게임 개발의 핵심에 대한 기초를 다져 놓는다면 나중에 어떤 게임 엔진을 사용하든지 간에 자신이 가고자 하는 방향으로 원활히 발전할 수 있을 것입니다.
-『나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것』 저자 일동


우리에게 갑작스럽게 다가온 아이폰으로 스마트폰 붐이 시작된 이래, 어떤 콘텐츠나 서비스가 새롭게 각광받게 될지 무성한 추측들이 있었습니다. 몇 년이 지난 지금 그 주인공이 게임이라는 점에 이론의 여지는 없을 것 같습니다.
구글플레이 마켓이나 앱스토어 마켓을 보면 매출 순위 대부분을 게임이 휩쓸고 있고, 카카오톡 게임의 등장으로 우리나라에서도 실리콘밸리 같은 새로운 벤처 성공 신화가 곳곳에서 탄생 중입니다. 특히 구글플레이의 경우에는 매출 규모 면에서 2013년 4월 현재 우리나라가 미국을 제치고 일본에 이어 세계 2위를 차지하고 있습니다. 혹자들은 거품이나 과열을 우려하기도 하지만, 지난 역사를 돌이켜보면 늘 기회가 있는 곳에는 그런 우려가 따라 다녔습니다. 지금이야말로 열정과 실력을 가진 개발자들이라면 새로운 무대에 도전해볼 수 있는 최적의 기회가 아닐까 생각해봅니다.

온라인 업계를 비롯한 타 업계 출신의 경력 개발자는 물론 초급 개발자들까지 모바일 게임 개발에 많은 관심을 가진 요즈음, 이 책이 그런 분들을 위한 좋은 길잡이가 될 것이라 믿습니다. 이 책은 요즘 국내에서 많이 활용되는 유니티3D나 코코스2d-x 같은 엔진을 사용하지 않고, 네이티브 방식으로 게임 제작의 기본 원리부터 설명합니다. 보통 다른 책들이 개발 엔진, 언어 중심으로 내용을 전개하는 데 비해 이 책은 게임의 기초에 집중하며, 그런 의미에서 게임이 어떤 식으로 돌아가고 어떤 식으로 제작되는지 기본을 알고 싶은 타 분야 경력자나 초급 개발자들에게 안성맞춤의 선택일 것입니다.
내용 면에서도 퍼즐, 보드, 슈팅, 카드 게임 등의 캐주얼 게임류의 기본 제작 방법 외에 3D 게임과 네트워크 게임의 기초까지 다룹니다. 게다가 요즘 국내 시장을 주도하는 카카오톡 관련 연동 기능도 다룸으로써 독자들이 캐주얼 소셜 게임에 도전하는 데 큰 보탬이 될 것입니다. 여러분이 도전의 첫걸음을 내딛는 데 이 책이 좋은 발판이 되기를 기대합니다.
- 박기성 / 게임빌 제작3그룹장, 「에이콘 게임 프로그래밍 시리즈」 에디터

★ 저자 서문 ★

목차


1부 안드로이드 기본

01 안드로이드 소개와 환경설정
___1.1 안드로이드 소개
___1.2 안드로이드 설치와 개발 환경
______JDK 설치
______통합 개발 툴 설치(이클립스+안드로이드 SDK)
______개별 설치 과정
______안드로이드 가상 장치 설정
______스마트폰 USB 드라이버 설치와 폰의 USB 디버깅 설정
______컴파일 환경설정

02 안드로이드 프로그래밍 기본
___2.1 Hello Android
___2.2 디버깅
___2.3 기본 화면의 구성과 이벤트
___2.4 레이아웃과 화면 배치
___2.5 액티비티와 화면 이동
___2.6 액티비티의 리턴 값 전달
___2.7 사용자 이벤트

2부 안드로이드 게임의 기본

03 안드로이드 게임 만들기 기초
___3.1 뷰와 캔버스
___3.2 이미지, 텍스트 다루기
___3.3 스레드 제어
___3.4 서피스 뷰 다루기
___3.5 터치 이벤트
___3.6 멀티터치 이벤트
___3.7 게임 화면 설정
___3.8 파일 입출력
___3.9 게임 사운드
___3.10 스프라이트 이미지
___3.11 센서 사용

04 OpenGL ES
___4.1 OpenGL ES 소개
___4.2 OpenGL ES의 기본 구현
___4.3 텍스처 입히기
______하나의 FlaotBuffer로 정점과 이미지를 처리할 경우
___4.4 사각형 텍스처 다루기
___4.5 3D 프레임 구현
___4.6 3D 입체면 구현
___4.7 3D 텍스처 입히기
___4.8 3D 모델 불러오기(min3d 라이브러리)

3부 실전 게임 만들기

05 캐주얼 게임
___5.1 두더지 게임
___5.2 미니팡

06 슈팅 게임: Pacific 1942
___6.1 Pacific 1942 개요
___6.2 객체(비행기) 만들기
___6.3 객체의 움직임 구현
___6.4 객체를 센서로 움직이기
___6.5 총알 발사
___6.6 적 객체 생성
___6.7 적기의 총알 발사
___6.8 충돌 체크(폭발)
___6.9 배경 그리기, 사운드
___6.10 게임 화면 내비게이션
___6.11 스케줄러와 스테이지 관리

07 보드(카드) 게임: 고스톱
___7.1 고스톱 게임 개요
___7.2 기본 화면 설정
___7.3 고스톱 카드의 위치 설정
___7.4 고스톱 카드 객체 구현
___7.5 카드의 선택과 이벤트 핸들러
___7.6 고스톱 알고리즘와 화면 모드 관리
______손 안의 카드내기
______가운데 카드 열기
______가운데 카드 더미로부터 카드내기
______상대 카드 가져오기
______바닥의 카드 가져오기
______점수 계산
______금액 계산
______선택 상황에서의 선택 창 사용
______선택 창 보여주기
______선택 창에서의 카드 선택
______컴퓨터의 연산

08 OpenGL ES 3D 게임: 3D 큐브 블록
___8.1 3D 큐브 블록 게임 개요
___8.2 2D 게임 적용(Pacific 1942 비행기 그리기)
___8.3 3D 큐브 블록의 제어
______큐브 1개의 이동에 대한 좌표 변환
______큐브 1개의 회전에 대한 좌표 변환
___8.4 3D 큐브 게임 구현

09 네트워크 바둑 게임
___9.1 네트워크 바둑 게임의 개요
___9.2 네트워크 프로그램
___9.3 소켓을 이용한 모바일 채팅
___9.4 바둑 게임의 화면 구성
___9.5 바둑 알고리즘
___9.6 네트워크 바둑 게임

4부 안드로이드 앱 배포

10 구글 마켓으로 배포
___10.1 구글 마켓
___10.2 안드로이드 앱 등록
______APK 파일 생성
______APK 파일 구글플레이 스토어 등록
___10.3 애드몹 광고 등록

11 카카오톡을 이용한 배포
___11.1 카카오톡 API 사용
___11.2 카카오링크 API 사용
______앱 링크 전달
______안드로이드 OS 공유 기능 활용
______URL 보내기
______앱 보내기
______문자 보내기
______이미지 보내기
______동영상 보내기
___11.3 카카오톡으로 미니팡 게임 배포

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.