jQuery로 만드는 모바일 & 웹 게임
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
책 소개
이 책이 속한 분야
- 국내도서 > 컴퓨터/IT > 웹프로그래밍 > jQuery
- 국내도서 > 컴퓨터/IT > 모바일프로그래밍 > 모바일프로그래밍일반
- 국내도서 > 컴퓨터/IT > 대학교재
- 국내도서 > 대학교재 > 컴퓨터
작가정보
저자(글) 셀림 아르세베르
저자 셀림 아르세베르 (Selim Arsever)는 스위스에서 컨설턴트로 일하는 시니어 소프트웨어 엔지니어다. 최근 4년 이상 제이쿼리를 기반으로 한 오픈 소스 게임 엔진인 게임쿼리(gameQuery)(http://gamequeryjs.com)와 게임쿼리 엔진을 바탕으로 한 게임과 데모를 만들고 있다. 이 주제에 대한 몇 가지 논제를 주고, 그들이 처음에 의도한 것 이상으로 툴을 사용하는 것이 가장 흥미롭다고 생각한다.
번역 김세중
역자 김세중은 연세대학교 컴퓨터과학과를 졸업했다. YNK 코리아(현 플레이위드)에서 3D 온라인 MORPG를 개발하고 컴퍼니원헌드레드에서 유니티 3D를 이용해 3D 모바일 MORPG '메탈브레이커'를 개발했다. 혼자 개발한 2D 퍼즐 게임 'No2g: 노노그램'을 운영 중이며, 현재 산호세에 있는 Kong Studios, Inc에서 2D 퍼즐 RPG를 개발 중이다.
목차
- 1장 게임을 위한 제이쿼리
__제이쿼리의 방식
____체이닝
____다형성
__물체 이동
____체이닝 애니메이션
____큐 관리
______.stop( )
______.clearQueue( )
______.dequeue( )
____큐의 다른 사용법
__이벤트 핸들링
______.bind( )
______.delegate( )
______이벤트 핸들러 제거
______제이쿼리 1.7
__DOM 엘리먼트와 데이터 연결
__DOM 조작
____.append( )
____.prepend( )
____.html( )
____.remove( )
____.detach( )
__늘 궁금함을 가져라!
__정리
2장 첫 게임 제작
__앞으로 작업하는 방식
__게임 분석
__기본기 다지기
____프레임워크
____스프라이트
______애니메이션 구현
______애니메이션을 프레임워크에 추가
____스프라이트 움직이기
____프리로딩
__게임 초기화
__메인 루프
____메인 루프 구현
__충돌 검출
__정리
3장 더 좋게, 더 빠르게, 하지만, 더 어렵지는 않게
__인터벌과 타임 아웃
____모든 것을 관리하는 하나의 인터벌
______코드
__키보드 폴링
____키 상태 추적 유지
__HTML 프래그먼트
__리플로우 피하기
__CSS 트랜스폼을 사용해 스프라이트 움직이기
__타임아웃 대신에 requestAnimationFrame 사용
__정리
4장 잡다한 기능
__오프라인 div
__그룹
__스프라이트 트랜스폼
____CSS 트랜스폼
____프레임워크에 트랜스폼 추가
__타일 맵
____대충 구현
__충돌 검출
____타일 맵에서의 충돌
______충돌한 타일 검색
____스프라이트와 스프라이트의 충돌
__게임 코딩
__게임 스크린 기본 설정
__객체지향적인 플레이어 코드
____플레이어 위치 갱신
____플레이어 아바타 컨트롤
__플레이어 컨트롤
__패럴랙스 스크롤
__적 생성
__정리
5장 원근법으로 표현
__탑다운 게임을 위한 타일 맵 최적화
____보이는 타일 찾기
____타일 맵 이동
__오쿨루젼 정렬
____스프라이트 오쿨루젼
____레벨과 스프라이트 오쿨루젼
__충돌 검출
____플레이어와 환경 간의 충돌
______타일 맵 에디터 사용
____플레이어와 스프라이트의 충돌
______NPC와 대화
______적과 싸움
__게임 완성
____등각투상 타일
____등각투상으로 타일 맵 그리기
____등각투상에서의 오쿨루젼
__정리
6장 게임에 레벨 추가
__여러 개의 파일을 사용하는 게임 구현
____타일 맵 불러오기
____스프라이트와 그 행동 불러오기
____$.ajax 사용
____JSON 파일 불러오기
____원격 스크립트 불러오기
____$.ajax에 디버깅 호출
______.done( )
______.fail( )
__실제 게임에 적용
__정리
7장 멀티플레이어 게임 제작
__World of Ar'PiGi
__플레이어 계정 관리
____데이터베이스에서 요소 검색
____데이터베이스에 새 플레이어 생성
____플레이어 연결 유지
____유저가 게임에 로그인
__플레이어 동기화 유지
____다른 모든 플레이어의 정보 얻기
____현재 플레이어의 위치 업데이트
____클라이언트 코드
__몬스터 다루기
____서버에서 전투 구현
__정리
8장 소셜 게임 제작
__간단한 점수판 제작
____최고점수 기록
____최고점수 얻기
____최고점수 표시
__해킹하기 어렵도록 만들기
____서버에서 검증
____변수를 읽기 어렵게 만들기
____코드를 알아보기 어렵게 만들기
____네트워크 프로토콜을 읽기 어렵게 만들기
______값 인코딩
______변수 이름을 랜덤으로 짓기
______랜덤 변수 추가
__트위터와 연동
____트위터 간단히 사용
____트위터 API에 완전히 접근
______트위터에 게임 등록
______서버에서 사용할 헬퍼 라이브러리
______인증
______트위터에 최고점수 올리기
__페이스북 연동
____페이스북으로 인증
____업적 만들기
____업적 올리기
__정리
9장 모바일 게임 제작
__모바일 디바이스에서 게임이 잘 돌아가게 하기
____모바일 브라우저 구별
______클라이언트에서 브라우저 감지
______서버에서 브라우저 감지
______브라우저 확실하게 구분
____퍼포먼스의 한계: 메모리
____퍼포먼스의 한계: 속도
______페이지에서 보이는 영역 특정
______레벨의 디테일
__터치 컨트롤
____D패드
____아날로그 조이스틱
______이벤트 핸들러
__스프링보드에 게임 추가
____게임을 설치 가능하게 하기
____스테이터스 바 설정
____애플리케이션 아이콘 설정
____스플래시 스크린 설정
__디바이스 오리엔테이션 사용
__오프라인 애플리케이션 캐시 사용
__웹 스토리지 사용
__정리
10장 소리 설정
__오디오 추상화
____작은 라이브러리 사용
__임베딩 사운드
____구현
____지원되는 포맷
__HTML5 오디오 엘리먼트
____사운드 프리로딩
____사운드 재생 및 정지
__웹 오디오 API
____기본 사용법
____더 많은 노드 연결
____사운드 여러 개 로딩
____이펙트 노드
______딜레이 노드
______스크립트 프로세서 노드
______패너 노드
______콘벌버 노드
______애널라이저 노드
______다이나믹 컴프레서 노드
______바이쿼드필터 노드
______웨이브셰이퍼 노드
__플래시를 이용한 대비책
____SoundManager 2
____SoundManager의 대안
__사운드 이펙트 제작
__정리
출판사 서평
★ 요약 ★
제이쿼리를 이용하여 아름답고 흥미로운 게임을 만드는 방법과 이에 필요한 언어, 프레임워크 등의 사용법을 다루는 책이다. 스프라이트(sprite) 애니메이션, 타일 맵(tile map), 충돌 검출, 패럴랙스 스크롤(parallax scroll) 등의 고급 기술을 이용한 게임을 브라우저에서 바로 실행할 수 있다. 데스크탑 브라우저뿐만 아니라 모바일에서 게임을 실행할 수 있는 방법도 배울 수 있다.
★ 이 책에서 다루는 내용 ★
■ 최신 웹 표준과 제이쿼리를 이용하여 스프라이트 기반의 멀티플랫폼 게임 만들기
■ 게임 산업에서 직접 이용되는 강력한 기술을 바탕으로 성능 저하 없이 놀라운 시각 효과를 갖는 게임 만들기
■ 실시간 멀티 플레이어 게임을 만들고 이를 소셜 네트워크와 연동하는 방법
■ 모바일 브라우저의 한계를 넘어서 최소한의 작업으로 모든 가능한 이점과 기술을 이끌어내기
■ 제이쿼리를 이용하여 플랫포머 게임, 아케이드 게임, 자신만의 RPG의 핵심 기능을 개발
■ 패럴랙스 스크롤 같은 기능을 간단하게 구현하는 방법
■ 이미 알고 있는 제이쿼리 기술을 활용하여 더 재미있고 흥분되는 게임을 만들기
★ 이 책의 대상 독자 ★
자바스크립트와 제이쿼리 사용에 대한 기본적인 지식과 약간의 프론트엔드 개발 경험이 이 책과 함께 몇 시간 만에 게임을 만들 수 있는데 필요한 모든 것이다. 단순히 제이쿼리를 이용하여 게임을 만들어보기 시작하려는 사람에게도 적합하지만, 기존의 개발 경험을 활용할 수 있는 웹 개발자를 대상으로 한다.
★ 이 책의 구성 ★
1장. ‘게임을 위한 제이쿼리’에서는 게임 개발에 필요한 제이쿼리 함수를 깊이 있게 배운다.
2장. ‘첫 게임 제작’에서는 스프라이트와 애니메이션, 프리로딩이 구현된 간단한 게임을 구현해본다.
3장. ‘더 좋게, 더 빠르게 하지만, 더 어렵지는 않게’에서는 2장에서 만든 게임을 타임아웃 인라이닝, 키보드 폴링, HTML 프래그먼트 등을 이용해 최적화하는 방법을 배운다.
4장. ‘잡다한 기능’에서는 타일 맵을 이용한 플랫포머 게임과 충돌 감지를 작성한다.
5장. ‘원근법으로 표현’에서는 직교투영 RPG를 만들어보면서 타일 맵 최적화, 스프라이트 충돌, 더 나은 충돌 감지를 배운다.
6장. ‘게임에 레벨 추가’에서는 4장에서 만든 게임에 JSON과 AJAX를 이용해 여러 개의 레벨을 추가해본다.
7장. ‘멀티플레이어 게임 제작’에서는 5장에서 만든 게임을 여러 대의 기기에서 여러 명의 플레이어가 즐길 수 있도록 바꿔본다.
8장. ‘소셜 게임 제작’에서는 페이스북과 트위터에 게임을 연동하고 해킹 유저를 잘 찾아낼 수 있는 점수판을 만들어본다.
9장. ‘모바일 게임 제작’에서는 5장에서 만든 게임을 모바일 기기와 터치 컨트롤에 최적화해본다.
10장. ‘소리 설정’에서는 오디오 엘리먼트, 웹 오디오 API, 플래시를 이용해 게임에 사운드 이펙트와 음악을 삽입해본다.
★ 저자 서문 ★
제이쿼리는 개발자들이 클라이언트 스크립트 작성을 간편하게 하기 위해 매일 전세계적으로 사용되는 멀티브라우저 라이브러리의 선구적인 존재다.
제이쿼리 게임 개발의 정수는 아름답고 흥미로운 게임을 만들 수 있는 환경과 언어, 프레임워크를 사용하는 방법을 배운다.
이 책은 스프라이트 애니메이션, 타일 맵, 충돌 검출, 패럴랙스 스크롤 등의 기술을 이용하는 고전 게임을 제이쿼리로 어떻게 구현하는지 본다. 더 나아가 유명한 자바스크립트 라이브러리를 이용하여 게임을 만드는 심화 주제를 다룬다.
★ 옮긴이의 말 ★
최근 게이미피케이션(gamification)이 화두가 되고 있다. 일반적인 콘텐츠에 시각적인 효과와 바로 주어지는 보상 등의 게임 요소를 도입해 이용자들의 참여를 극대화시키는 기술이다. 여러 분야에서 시도되고 있지만 가장 성공적으로 적용된 분야는 단연 웹 페이지라고 할 수 있다. 웹 페이지에서 곳곳에 숨겨진 뱃지를 모으고 보상을 얻는 방식의 마케팅은 이제 꽤 흔하게 볼 수 있다. 하지만, 그런 것이 게임이라고 부르기에는 부족한 것이 사실이다.
최신 웹 브라우저와 새로운 웹 표준은 실제 게임을 웹 브라우저에서 구동할 수 있는 가능성을 제시하고 있다. 현실적으로는, 아직 2D 게임을 만드는 기술쯤에 불과하지만 게이미피케이션에는 이 정도의 기술로도 충분하다. 회사 홈페이지나 개인 프로필 등 자칫 지루해지기 쉬운 내용에 게임을 접목하면 사용자의 흥미를 유발해 더욱 효과적으로 의미를 전달할 수 있다.
사실 자바스크립트의 태생이 이런 본격적인 콘텐츠 제작을 위해 만들어진 것이 아니며, 웹 브라우저마다 중구난방인 API를 가지고 있고 표준화된 API라고 하더라도 매우 구시대적인 형태를 취하고 있다. 이런 한계를 그나마 해소할 수 있는 것이 제이쿼리라는 프레임워크다. 제이쿼리를 사용하면 웹 브라우저마다 다른 API에 대한 문제를 어느 정도 해소할 수 있고, 쓰기 불편한 API를 조금 더 편리하게 사용할 수 있다.
이 책은 이런 경향에 맞추어 제이쿼리를 이용하여 웹 브라우저 게임을 만드는 것에 대해 소개한다. 또한 기초적인 2D 스프라이트 사용에서부터 MMORPG 제작까지의 넓은 분야를 다룬다. 특히 웹 브라우저에서 처리하기 가장 골치 아픈 사운드에 대한 내용까지 꼼꼼히 나와 있다. embed 태그를 이용하는 것부터 현재 산업에서 가장 보편적으로 쓰이는 플래시를 이용한 방법까지 친절하게 설명해준다. 계속 갱신되고 있는 최신 오디오 API에 대해서는 다루지 않지만 아직 이 API는 산업에서 쓰기에는 너무 이른 기술이므로 크게 문제가 되지 않는다.
흔히 CD에서, 혹은 다운로드한 후에 설치해서 실행한다고 생각하는 컴퓨터 게임을 설치 없이 바로 웹 브라우저에서 실행하는 것은 개발자와 사용자 모두에게 매우 신선한 경험이 될 것이다. 이 책을 읽고 자신만의 게임을 만들어 홈페이지에 달아 놓는 소소한 즐거움에서, 실제로 많은 돈을 벌어들일 수 있는 웹 게임까지 만들어 볼 수 있다. 그리고 최신 경향에 맞추어 각자의 홈페이지에 게임 요소를 도입해볼 것을 추천한다.
웹 브라우저에서 바로 실행되는 게임을 만들어 보고 싶은 독자들에게 이 책이 도움이 되기를 바란다.
기본정보
ISBN | 9788960776531 | ||
---|---|---|---|
발행(출시)일자 | 2015년 01월 02일 | ||
쪽수 | 276쪽 | ||
크기 |
188 * 235
* 16
mm
/ 663 g
|
||
총권수 | 1권 | ||
시리즈명 |
acorn+PACKT 시리즈
|
||
원서명/저자명 | Fast Data Processing with Spark/Holden Karau |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립