본문 바로가기

도서 소개

개발자를 위한 웹 게임 쿡북: 자바스크립트와 HTML5로 만드는 웹 게임의 모든 것

 

이 책은 현재 절판입니다. 그간 읽어주신 분들께 감사를 드립니다.

 

웹 브라우저와 텍스트 편집기를 먼저 띄우세요. 

그리고 이 책을 펼쳐서 따라하기만 하면 10가지의 종류별 게임을 만들 수 있습니다. 

그리고서 자신만의 게임을 직접 만들어보세요!

 

출판사 제이펍

원출판사 Addison-Wesley Professional

원서명 The Web Game Developer's Cookbook: Using JavaScript and HTML5 to Develop Games(원서 ISBN: 9780321898388)

저자명 이반 버차드(Evan Burchard)

역자명 장현희

시리즈 없음

출판일 2013년 9월 13일

페이지 460쪽

판형/제본 46배판변형(188*245), 반양장(soft cover)

정  가 28,000원

ISBN 978-89-94506-75-3 (93000)

키워드 웹프로그래밍, 웹 게임, 게임, 자바스크립트, HTML5, CSS3

분야 웹 프로그래밍 / 게임 프로그래밍

 
관련 사이트
 
관련 포스트
■ (없음)
 
관련 시리즈
■  (없음)
 
소스 코드 
■ http://www.informit.com/content/images/9780321898388/downloads/9780321898388%20_Code.zip
 
강의 자료
■ 교재로 채택하신 분들에게는 강의교안을 제작할 수 있는 자료를 보내드리도록 하겠습니다(출판사로 메일이나 전화로 연락주세요).
 
관련 도서
 
샘플 PDF(차례, 옮긴이 머리말, 머리말, 감사의 말, 이 책에 대하여, 1장 퀴즈)(찾아보기)
정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다)
 
도서구매 사이트(가나다순)
 
도서 소개
HTML5와 자바스크립트를 이용하여 멋진 게임을 만들고 싶은가? 플래시나 다른 게임 플랫폼에서 벗어나고 싶은가? 이미 HTML5 게임을 만들어 본 경험이 있으며 그 경험을 더욱 발전시키고 싶은가? 이 책은 가이드와 샘플 프로젝트, 그리고 실제로 동작하는 코드 등 여러분이 필요로 하는 모든 것을 제공한다.
 
저자인 에반 버차드는 대중적인 형식의 게임들을 단계별로 구현하면서 여러분을 게임 개발의 세계로 안내한다. 각 장에서는 잘 알려진 장르의 게임을 하나씩 구현하면서 매번 서로 다른 오픈 소스 기반의 무료 HTML5 게임 엔진을 소개하는 것은 물론, 실제로 게임을 완성할 수 있는 완전한 자바스크립트 예제를 제공한다.
 
각 게임의 레시피들은 장르별 게임 구현에 필요한 과제들을 처리할 수 있는, 이미 검증된 패턴들을 소개하고 있으며, 기존의 도구와 엔진들을 이용하여 몇 시간 만에 완벽하게 동작하는 상당한 수준의 게임을 완성하는 방법을 보여준다. 또한, 에반 버차드는 자바스크립트에 대한 기초도 잊지 않고 설명해주고 있다.
 
● 브라우저, 텍스트 편집기, 터미널, 자바스크립트 콘솔, 게임 엔진 등 HTML5/자바스크립트 게임 개발에 필요한 도구들의 기본적인 사용법을 소개한다.
● 외부 라이브러리와 검증된 패턴을 이용하여 신속하게 게임을 개발하는 방법을 소개한다.
● IE, 파이어폭스, 크롬 브라우저의 차이점을 이해하고 관리하는 방법을 소개한다.
● 자바스크립트, HTML, CSS 및 jQuery 라이브러리를 이용한 퀴즈 게임을 통해 웹 개발의 속도를 향상시키는 방법을 소개한다.
● 대화형 게임인 ‘게임북’을 통해 CSS3의 기능과 impress.js 라이브러리의 활용법을 소개한다.
● 파티 게임을 구현하면서 가볍고 빠른 atom.js 게임 엔진을 소개한다.
● 퍼즐 게임을 구현하면서 그래픽 렌더링 엔진인 easel.js 엔진을 소개한다.
● 플랫폼 게임을 구현하면서 melon.js 엔진과 맵 편집기를 소개한다.
● game.js 엔진과 함께 웹 브라우저를 위한 2인 플레이용 대전 게임을 구현한다.
● jQuery 라이브러리 기반의 gameQuery 게임 엔진을 통해 슈팅 게임을 구현한다.
● FPS(일인칭 슈팅 게임) 스타일의 게임을 구현하면서 레이 캐스팅과 같은 3D 기법을 구현한다.
● 대화 상자와 인벤토리 등의 인터페이스를 갖춘 16비트 RPG(롤 플레잉 게임)를 구현하면서 enchant.js 엔진을 통해 턴 기반 전투 모드를 구현해본다.
● node.js, socket.io와 crafty.js 엔진을 조합하여 서버 컴포넌트와 연동된 RTS(실시간 전략) 게임을 구축한다.
● 흥미를 돋우는 콘텐츠로 플레이어의 의욕을 이끌어 내는 방법을 소개한다.
 
이 책을 통해 전문가의 검증된 해설과 게임 구현에 필요한 코드를 얻을 수 있다. 웹 게임 프로젝트를 시작할 때 필요한 모든 것들이 이 책에서 제공된다.
 
이 책의 대상 독자
- 게임에 취미가 있고 기본적인 코딩을 할 수 있는 독자
- 웹 개발자나 디자이너로서 게임개발에 필요한 도구와 기술, 템플릿 등을 찾고 있던 독자
- 자바스크립트 초급 개발자에서 중급 개발자로 올라서기를 원하는 독자
- 게임 디자이너나 개발자이자 HTML5/자바스크립트 기반으로 무언가를 만들어보려는 독자
 
리소스 사이트: jsarcade.com
온라인에서 플레이할 수 있는 여러 게임과 소스 코드가 제공되며, 이 책에서 제공하는 10가지 게임의 레시피별 소스 코드도 다운로드할 수 있다. 또한, 이 책의 전체 소스 코드는 www.informit.com/title/9780321898388에서도 다운로드할 수 있다.
 
저자 소개
이반 버차드(Evan Burchard)
이반 버차드는 직접 자신의 손으로 게임을 구현하면서 취미로 프로그래밍을 배우는 최초의 사람도 아니고 동시에 마지막 사람도 아님을 잘 알고 있다. 다만, 현대적이면서 무료에다 게임 친화적인 웹의 강점을 통해 다른 사람들에게 관련 지식을 나누는 것을 좋아한다. 또한, 냉정과 열정을 조절하며 최신 브라우저 기술을 응용하여 게임 디자인하기를 즐긴다. 취미는 오래 걷기다(메사추세츠에서 아이오와까지 걸어간 적도 있다).
 
역자 소개
장현희
14년째 웹 애플리케이션 설계 및 개발에 대한 경험을 쌓아가고 있으며, 현재 호주 시드니에 있는 Rocklive사에서 시니어 개발자로 근무 중이다. 2006년부터 5년간 마이크로소프트 ASP/ASP.NET MVP를 수상했으며, 16권의 개발 및 IT 관련 서적을 집필/번역한 저자이자 역자이기도 하다. 끊임없는 학습과 공유야말로 개발자 삶의 최대 가치이자 기본 소양이라고 믿고 이를 실천하기 위해 다양한 노력과 활동을 지속하고 있으며, 장차 웹 애플리케이션 개발자이자 아키텍트로서 성공한 글로벌 웹 서비스를 반드시 구축해보는 것과 IT 분야의 여러 후배에게 크고 작은 도움을 주었던 좋은 선배로 기억되는 것이 삶을 살아가는 목표다.
 
차례
1장 퀴즈 1
레시피: 질문 구성하기 2
레시피: 퀴즈를 숨기거나 보여지게 하기 10
레시피: 질문을 다시 보이게 하기 13
레시피: 쇼핑 목록 16
레시피: 정답 확인하기 23
요약 27
더보기
2장 대화형 게임 29
레시피: 스타일이 적용된 페이지 32
레시피: 페이지 이동하기 37
레시피: 드래그 앤 드롭으로 인벤토리 관리하기 40
레시피: 복잡한 동작 추가하기 50
레시피: 브레드크럼(Breadcrumb) 만들기 61
레시피: 극적인 엔딩 64
요약 67
 
3장 파티 69
레시피: atom.js로 간단한 예제 게임 구현하기 70
레시피: 캔버스에 그리기 77
레시피: 구멍 그리기 80
레시피: 두더지 그리기 84
레시피: 두더지를 구멍에 넣기 88
레시피: 두더지들의 동작 구현하기 92
레시피: 두더지 때려잡기 94
HTML5의 <audio> 태그의 절망 속에 뒹굴다 99
요약 102
 
4장 퍼즐 103
레시피: easel.js 엔진을 이용한 그리기 106
레시피: 두 가지 이상의 객체를 렌더링하기 112
레시피: 짝 만들기 117
레시피: 일치하는 색상의 사각형을 찾아 제거하기 121
레시피: 그림을 뒤집거나 숨기기 125
레시피: 승패 처리하기 128
레시피: 캐싱과 성능 132
레시피: 똑같은 것 대신 짝을 지정하기 136
요약 143
 
5장 플랫폼 게임 145
melon.js 살펴보기 146
레시피: Tiled 맵 만들기 147
레시피: 게임 시작하기 150
레시피: 캐릭터 추가하기 155
레시피: 충돌 맵 만들기 159
레시피: 걷기와 점프하기 161
레시피: 제목 화면 만들기 163
레시피: 수집 아이템 추가하기 167
레시피: 적들의 출현 169
레시피: 파워업 하기 172
레시피: 패배, 승리, 그리고 정보 표시 174
요약 178
 
6장 대전 게임 179
레시피: game.js 살펴보기 180
레시피: 스프라이트시트로 개별 스프라이트에 액세스하기 184
레시피: 두 플레이어의 입력을 처리하기 187
레시피: 형태를 변경하고 움직이기 192
레시피: 동시 입력 처리하기 197
레시피: 비트마스크 구현하기 201
레시피: 마스크의 충돌 206
레시피: 충돌에 따른 피해 적용하기 210
요약 217
 
7장 슈팅 게임 219
렌더링에 대한 배경 지식 220
레시피: gameQuery 엔진 살펴보기 223
레시피: 적 추가하기 226
레시피: 플레이어의 우주선 만들기 231
레시피: 적과의 충돌 235
레시피: 슈팅 236
레시피: 파워업 239
요약 243
 
8장 FPS 245
레시피: 죠스 엔진을 이용한 게임 개발 시작하기 246
레시피: 2D 지도 만들기 250
레시피: 플레이어 추가하기 254
레시피: 레이캐스팅 평면도 259
레시피: 레이캐스팅을 활용한 가상 3D 265
레시피: 카메라 추가하기 270
레시피: 세상을 더욱 멋진 곳으로 만들기 275
레시피: 친구나 적을 추가하기 281
요약 290
 
9장 RPG 291
레시피: enchant.js 엔진을 이용한 게임 개발 시작하기 292
레시피: 지도 만들기 295
레시피: 플레이어 추가하기 299
레시피: 충돌 레이어 추가하기 306
레시피: 상태 화면 308
레시피: NPC와 대화하기 313
레시피: 인벤토리 만들기 316
레시피: 상점 만들기 320
레시피: 전투 인터페이스 만들기 330
레시피: HTML5의 로컬 저장소 API를 이용하여
게임의 상태 저장하기 343
요약 346
 
10장 RTS 347
이제 서버가 필요하다 348
레시피: 노드 설치하기 352
레시피: Socket.io를 이용한 실시간 기법 356
레시피: Crafty.js 엔진을 이용한 입체 지도 만들기 360
레시피: 유닛 그리기 363
레시피: 유닛 이동하기 368
레시피: 플레이어별 제어 및 표시 372
레시피: 파괴 및 확인을 위한 충돌 검사 379
요약 385
 
11장 레벨업 387
지금까지 어떤 것들을 해왔을까? 388
이제 어떤 것들을 해야 할까? 389
 
부록 A 자바스크립트 기초 393
자바스크립트 API의 주요 형식 394
네이티브 API 394
구현 API 394
라이브러리 API 395
여러분의 API 395
구문 396
변수 397
문자열 398
숫자 398
배열 399
함수 400
객체 401
조건문 402
반복문 403
주석 404
 
부록 B 품질 관리 405
브라우저의 디버깅 도구들 406
테스트 409
더 나은 코드를 위한 협업 411
 
부록 C 리소스 413
게임 엔진 414
텍스트 편집기 416
브라우저 417
기타 도구들 418
게임 아트 만들기/검색하기 420
데모 및 튜토리얼 422
도서 423
웹 사이트 424
 
찾아보기 426