목차
Chapter 01 HTML5에 대하여
   HTML의 근본을 넘어 ... 20
      JavaScript ... 21
      AJAX ... 21
   하나로 통합 ... 22
      Google Gears ... 22
      Chrome Frame ... 23
   WebSocket과 Web Worker 이용하기 ... 24
      WebSocket ... 24
      Web Worker ... 25
   Application Cache ... 26
   데이터베이스 API ... 27
      WebSQL API ... 27
      IndexedDB API ... 28
   Web Storage ... 29
   Geolocation ... 30
   알림으로 사용자 주의 끌기 ... 33
      알림 표시 권한 요청 ... 34
      알림 생성 ... 35
      알림과 상호작용하기 ... 36
   미디어 요소 ... 37
      미디어 제어 ... 37
      지원하지 않는 형식에 대한 처리 ... 38
   HTML5 drawing API ... 40
      Canvas ... 40
      SVG ... 41
      WebGL ... 41
   마이크로데이터(Microdata)로 정보 전달하기 ... 42
   요약 ... 43
Chapter 02 개발 환경 구성하기
   개발 도구 ... 46
      Java 설치하기 ... 46
      Eclipse 통합 환경과 Google 플러그인 설치 ... 47
      Google Web Toolkit 설치 ... 50
   웹 서버 도구 및 선택 사항들 ... 51
      Google App Engine ... 51
      Opera Unite ... 51
      Node.js와 RingoJS ... 52
   Browser 도구 ... 53
      Chrome Developer Tools ... 53
      Chrome 확장 ... 54
      Safari 개발자 도구 ... 55
      Firebug ... 56
   HTML5 도구 ... 56
      ProcessingJS ... 56
      Inkscape ... 57
      SVG-edit ... 57
      Raphael ... 59
   3차원 모델링 도구 : Blender ... 59
   요약 ... 60
Chapter 03 JavaScript
   JavaScript란 무엇인가 ... 62
      JavaScript의 기본 형식 ... 62
      산술 연산자 ... 63
      JavaScript 함수 ... 63
      First-class Object로써의 함수 ... 64
      비교 연산자 ... 66
   조건 순환과 문 ... 68
      반복을 이용한 프로그램 제어 ... 69
setTimeout과 setInterval을 이용한 지연 실행 ... 71
   상속과 다형성을 이용한 복잡한 개체 생성 ... 72
      Prototype 라이브러리를 이용한 손쉬운 상속 ... 73
   JQuery 배우기 ... 75
      선택기를 활용한 DOM 조작 ... 76
      JQuery 이벤트 ... 77
      JQuery와 AJAX ... 78
      교차 사이트 스크립팅 ... 78
   JSON : 또 다른 JavaScript 형식 ... 79
   브라우저 밖에서의 JavaScript ... 80
      모바일 플랫폼 ... 81
      중간 언어로서의 JavaScript ... 81
      데스크톱에서의 JavaScript ... 81
   서버 측 JavaScript ... 83
   요약 ... 85
   연습문제 ... 85
Chapter 04 게임의 동작 방법
   게임 설계하기 ... 88
      기본 설계 문서 작성하기 ... 88
      게임 장르의 결정 ... 90
      게임 루프 ... 90
      사용자 입력 처리 ... 91
   향상된 자료 구조로 게임 개체 구축하기 ... 92
      Set을 활용한 독자적인 자료 목록 만들기 ... 92
      연결 리스트를 이용한 개체 그래프 생성 ... 94
   SGF API에 대한 이해 ... 95
      Core API ... 96
      Components API ... 97
      Resources API와 네트워크 관련 API ... 98
   SGF로 Pong 게임 만들기 ... 99
      응용 프로그램 설정 ... 99
      게임 요소 그리기 ... 101
   충돌 감지와 반응을 이용한 충돌 구현하기 ... 103
      뉴턴의 3 법칙 이해하기 ... 104
      볼 움직이기 ... 105
      Asteroids로 살펴보는 향상된 충돌 감지 및 입자 시스템 ... 107
   인공지능을 이용한 상대 플레이어 생성 ... 109
      Pong에 인공지능 추가하기 ... 109
      Tic-Tac-Toe와 향상된 컴퓨터 인공지능 ... 110
   요약 ... 113
   연습문제 ... 113
Chapter 05 Canvas 태그로 게임 만들기
   Canvas 시작하기 ... 116
      첫 번째 경로 그리기 ... 118
      Tic-Tac-Toe를 위한 스프라이트 그리기 ... 119
   변환을 이용해서 Canvas에 그리기 ... 121
      변형 정렬하기 ... 123
      Canvas 그리기 상태의 저장 및 불러오기 ... 123
   Canvas에서 이미지 사용하기 ... 124
      Data URL을 이용해서 이미지 제공하기 ... 125
      Spritesheets를 이용해서 이미지 제공하기 ... 125
      Canvas에 이미지 그리기 ... 126
   Trident.js를 이용해서 개체 애니메이션하기 ... 127
      타임라인 만들기 ... 128
      키프레임을 이용한 애니메이션 ... 129
      Easing을 이용해서 비선형 타임라인 만들기 ... 130
      Sprites를 이용한 게임 개체 애니메이션 ... 132
   2차원 공간에서 3차원 모의하기 ... 133
      원근 투영 ... 133
      시차 ... 134
      JavaScript로 시차 효과 만들기 ... 135
   Copy Me 만들기 ... 137
      게임 개체 그리기 ... 137
      게임 사운드 만들기 ... 138
      브라우저에서 MIDI 파일 재생하기 ... 140
      다중 음향 재생하기 ... 140
      순서대로 음향 재생하기 ... 141
      게임에 문자열 그리기 ... 142
      CSS 폰트를 이용한 문자열 스타일 적용 ... 143
   요약 ... 144
   연습문제 ... 144
Chapter 06 SVG와 RaphaёlJS를 이용한 게임 개발
   SVG 소개 ... 146
   RaphaёlJS 시작하기 ... 148
      개발 환경 설정하기 ... 149
      게임 보드 그리기 ... 150
      문자열 그리기 ... 151
   사용자 지정 폰트 ... 152
      색상 지정 ... 156
      게임 자원 읽기 ... 158
      SVG 파일을 비트맵으로 변환하기 ... 159
   게임 클래스 만들기 ... 160
      카드 섞기 ... 161
      카드 그리기 및 애니메이션 ... 162
   향상된 애니메이션 만들기 ... 165
      경로 ... 165
      moveto와 lineto ... 166
      curveto ... 167
      SVG 파일로부터 경로 내보내기 ... 168
      경로를 따라가며 애니메이션하기 ... 168
   플러그인으로 Raphaёl 확장하기 ... 169
      함수 추가 ... 170
      SVG 필터 ... 170
   속도 고려사항 ... 171
   요약 ... 171
   연습문제 ... 172
Chapter 07 WebGL과 Three.js로 게임 만들기
   3차원 세상으로 ... 175
   재질과 조명으로 사물을 더욱 돋보이게 만들기 ... 177
      조명 이해하기 ... 177
      재질(material)과 셰이더 사용하기 ... 178
   첫 Three.js 장면 만들기 ... 181
      뷰 설정하기 ... 181
      세계 보기 ... 187
   Three.js로 3차원 모델 로딩하기 ... 189
   셰이더와 텍스처 프로그래밍하기 ... 191
   텍스처 사용하기 ... 194
   Three.js로 게임 생성하기 ... 197
   게임 물리를 이용한 실세계 모의 ... 198
   입자 시스템(Particle System) 다시보기 ... 202
   장면 만들기 : 장면에서 물체 선택하기 ... 204
   모델 애니메이션하기 ... 205
   3차원 모델 구하기 ... 206
   게임 벤치마크 ... 207
      Stats.js로 프레임 속도 확인하기 ... 208
      WebGL Inspector 사용하기 ... 208
   요약 ... 209
   연습문제 ... 210
Chapter 08 JavaScript 없이 게임 만들기
   Google Web Toolkit ... 212
      WGT 위젯과 레이아웃 이해하기 ... 213
      JSNI을 이용하여 JavaScript 라이브러리를 GWT로 표현하기 ... 215
      RaphaёlGWT ... 216
      gwt-html5-media로 사운드 추가하기 ... 217
      GWT로 drawing API에 액세스하기 ... 217
   CoffeeScript ... 219
      CoffeeScript 설치하기 ... 219
      CoffeeScript 파일 컴파일하기 ... 220
   CoffeeScript 빠르게 살펴보기 ... 221
      기본 ... 221
      함수와 호출 ... 222
      별칭, 조건, 반복 ... 223
      향상된 for 반복과 map ... 224
      클래스와 상속 ... 225
   대안 기술 ... 227
      Cappuccino ... 227
      Pyjamas ... 227
   요약 ... 228
   연습문제 ... 228
Chapter 09 멀티 플레이어 게임 서버 구축하기
   Node.js란? ... 230
      Node Package Manager로 Node 확장하기 ... 231
      여러 Node 버전 관리하기 ... 232
   ExpressJS로 웹 앱 간단하게 만들기 ... 232
      URL 라우팅으로 요청 제공하기 ... 233
      세션 관리하기 ... 235
      ExpressJS 응용 프로그램 구조 이해하기 ... 236
      CoffeeKup으로 HTML 템플레이팅하기 ... 237
   캐시로 데이터 유지하기 ... 239
   클라이언트/서버 통신 관리하기 ... 240
      Socket.IO로 통신하기 ... 240
      Express로 간단한 Socket.IO 응용 프로그램 설정하기 ... 241
      NowJS로 Web Socket 간단하게 만들기 ... 242
   Node 응용 프로그램 디버깅하기 ... 244
   게임 서버 생성하기 ... 245
      게임 대기실 만들기 ... 245
      NowJS 그룹으로 게임방 생성하기 ... 247
      게임 참여자와 게임방 사이의 이동 관리하기 ... 247
   게임 플레이 관리하기 ... 248
   요약 ... 250
   연습문제 ... 250
Chapter 10 모바일 게임 개발
   모바일 플랫폼 선택하기 ... 252
      iOS ... 252
      Android ... 253
      WebOS ... 253
      Windows Phone 8 ... 254
   플릭, 탭, 스와이프: 모바일 제스처 가이드 ... 254
   응용 프로그램과 웹 사이트 ... 255
   모바일 장치에 데이터 저장하기 ... 257
      접의식 의자(Lawnchair)에서 편하게 쉬기: 데이터를 저장하는 쉬운 방법 ... 257
      Lawnchair 시작하기 ... 258
   JQuery와 Zepto로 클라이언트 사이드 스크립팅 간단하게 하기 ... 260
      JQuery 계열 ... 260
      Zepto.js 사용하기 ... 262
   JoAPP으로 응용 프로그램 설계하기 ... 262
   응용 프로그램 프레임워크 선택하기 ... 264
      PhoneGap ... 264
      PhoeGap API 자세히 살펴보기 ... 265
      Appcelerator Titanium ... 267
      Appcelerator Titanium API 자세히 살펴보기 ... 267
   Titanium과 PhoneGap으로 Android 응용 프로그램 패키지 만들기 ... 268
      Titanium으로 응용 프로그램 패키지 만들기 ... 270
      PhoneGap으로 응용 프로그램 패키지 만들기 ... 272
   요약 ... 277
   연습문제 ... 277
Chapter 11 게임 게시하기
   게임 자산 최적화하기 ... 280
      Google Closure Compiler로 최소화하기 ... 280
      응용 프로그램 캐시로 오프라인에서 응용 프로그램 실행하기 ... 282
   자체 서버에 운영하기 ... 286
   Node.js 서비스를 호스트하는 곳에 응용 프로그램 배포하기 ... 287
   Chrome 웹 스토어에 응용 프로그램 게시하기 ... 289
      응용 프로그램 메타데이터 작성하기 ... 290
      호스트 응용 프로그램 배포하기 ... 290
      패키지 응용 프로그램 배포하기 ... 292
      로컬에서 응용 프로그램 테스트하기 ... 292
      Chrome 웹 스토어에 응용 프로그램 업로드하기 ... 293
      응용 프로그램 구성하기 ... 294
      패키지 Chrome 응용 프로그램과 호스트 Chrome 응용 프로그램 중 선택하기 ... 297
   TapJS로 응용 프로그램 게시하기 ... 298
      TapJS 응용 프로그램 생성하기 ... 298
      TapJS 응용 프로그램 패키지 만들기 ... 301
      TapJS 응용 프로그램을 Facebook에 게시하기 ... 301
   Kongregate로 게임 게시하기 ... 303
   HTML5 응용 프로그램을 데스크톱에 게시하기 ... 304
   요약 ... 305
   연습문제 ... 305
닫기