목차
Part 1. 윈도우즈 프로그래밍에 익숙해지기
   chapter 1. Windows 9x/XP/2000 게임 프로그래밍을 위한 준비
      궁극적인 게임 프로그래밍 워크스테이션의 디자인 ... 3
      DirectX와 SDK의 설치 ... 4
      C/C++ 컴파일러의 준비 ... 5
      멀티미디어 툴의 사용 ... 7
        페인트 프로그램 ... 7
        3D 모델러 ... 7
        사운드 프로그램 ... 8
   chapter 2. 비디오 게임 디자인의 기초
      아주 오래 전 머나먼 은하계에서는 ... 9
      비디오 게임 디자인 ... 12
        아이디어의 개발 ... 12
        스토리보드 ... 13
        세부사항 고려하기 ... 14
        디자인 문서 작성 ... 14
      게임과 퍼즐 ... 15
      게임의 요소 ... 17
        게임 루프 ... 18
        유한상태기계와 오토마타 ... 24
      알고리즘, 자료 구조, 그리고 최적화 ... 31
   chapter 3. Windows 9x/XP/2000 프로그래밍의 기본
      윈도우즈의 역사 - 프로그래머의 관점 ... 33
      다중작업, 다중스레딩, 그리고 다중 개성 ... 35
      Windows 9x/XP/2000과 이벤트-기반 프로그래밍 모델 ... 39
      타이핑을 좋아하는 이들을 위한 헝가리식 표기법 ... 40
        변수 명명 ... 41
        함수 명명 ... 42
        타입정의와 상수 ... 42
        클래스 ... 42
      간단한 윈도우즈 프로그램 ... 43
        What's up, world! - 예전 스타일 ... 43
        What's up, world! - 윈도우즈 스타일 ... 44
      실제 윈도우즈 응용 프로그램의 부분들 ... 45
        Win32 라이브러리 ... 46
        include 파일 ... 46
        WinMain() 함수 ... 47
        윈도우즈 클래스 ... 49
        윈도우즈 클래스 등록하기 ... 53
        윈도우 생성 ... 54
        윈도우 출력 ... 56
        WinMain() 과 이벤트 루프 ... 58
        이벤트 처리기 ... 61
   chapter 4. 이벤트 다루기
      첫 번째 윈도우즈 응용 프로그램 ... 65
      윈도우즈-스타일 이벤트 처리 ... 69
        WM_PAINT 메시지와 GDI 이해하기 ... 70
        메시지 보내기 ... 72
      입력! 입력! 입력! ... 74
        키보드 ... 75
        마우스 ... 79
        조이스틱 ... 82
   chapter 5. 윈도우즈 GDI작업 : 텍스트 및 그래픽 출력
      그리느냐? 마느냐? ... 83
        BeginPaint() ... 84
        GetDC() ... 88
      출력-표면(Display-Surface)의 기초 ... 90
        RGB 모드 ... 91
        팔레트 모드 ... 93
        윈도우즈 색상 관리 ... 94
      윈도우즈 출판사 ... 96
        텍스트 출력 ... 97
        텍스트에 색깔 넣기 ... 99
        TEXTMETRIC 검색하기 ... 102
      각종 모양 그리기 ... 104
        펜으로 그리기 ... 105
        필요한 브러시로 작업하기 ... 107
        점 찍기 ... 109
        선 그리기 ... 111
        직사각형의 박스 출력 ... 113
        원과 타원 가지고 놀기 ... 114
   chapter 6. Windows 9X/XP/2000 프로그래밍 감싸기
      타이밍이 중요하다 ... 116
        타이머 ... 117
        윈도우즈에서 시간 재기 ... 120
      메뉴는 어떻게? ... 120
        윈도우즈 자원에 대하여 ... 120
        메뉴를 주세요 ... 121
      틀어보자 : 사운드와 음악 ... 128
      윈도우즈 긴급구조 : 정보 보기 ... 130
      WinX 게임 콘솔 ... 132
Part 2. DirectX로 시작하기
   chapter 7. DirectX의 구조와 COM
      DirectX의 기본 ... 140
        COM이 도대체 뭐길래? ... 142
        DirectX의 요소들 ... 145
      인터페이스로 만나기 ... 150
      DirectX와 C/C++를 이용한 COM사용 ... 153
      DirectX/Win32 응용 프로그램의 작성 : 그래 할 수 있어! ... 157
   chapter 8. DirectDraw 익히기
      DirectDraw의 소개 ... 158
      DirectDraw와 만나기 ... 159
      C/C++를 사용한 DirectDraw 객체 생성 ... 161
      윈도우즈와 제대로 동작하기 : 협력 ... 164
      비디오 모드의 선택 ... 166
      DirectX 온라인 ... 167
   chapter 9. DirectDraw 크레용 사용하기
      캔버스에 그리기 : DirectDraw 표면 ... 170
        주표면 사용하기 ... 172
        보조표면의 생성 ... 186
        오프스크린 표면의 생성 ... 189
      팔레트 배우기 ... 191
        팔레트의 생성 ... 192
        실시간으로 팔레트 변경 ... 194
        팔레트 검색 ... 195
   chapter 10. DirectDraw의 활용 : 애니메이션과 비트맵
      부드러운 애니메이션 테크닉 ... 197
        더블 버퍼링 ... 198
        표면을 이용한 페이지 전환 ... 202
        블리터를 사용하여 칠하기 ... 204
      비트맵 ... 209
        비트맵 생성 ... 211
        비트맵 로딩 ... 213
        비트맵으로 읽어오기 ... 216
      블리터로 비트 채우기 ... 221
   chapter 11. DirectDraw의 깊은 곳 : 보다 발전된 기능들
      색상키와 투명도 ... 226
        투명도 ... 227
        색상키 ... 230
      작은 비트맵 객체 만들기 ... 233
        BOB에 필요한 준비 ... 234
        BOB 생성 ... 235
        비트맵 데이터로 BOB 로딩하기 ... 236
        BOB 그리기 ... 238
        BOB 소멸하기 ... 239
        BOB를 움직이게 하는 함수들 ... 240
      색상을 이용한 기술들 ... 241
        팔레트 애니메이션 ... 242
        색상 회전 ... 244
      50미터 선을 잘라내기 ... 246
        DirectDrawClipper의 소개 ... 248
        관련 함수의 작성 ... 251
      GDI와 DirectDraw의 사용 ... 253
        연결하기 ... 254
        그리기 ... 255
        윈도우 모드의 사용 ... 257
      DirectDraw가 알려주는 것들 ... 259
        주 DirectDraw 객체에 GetCaps() 사용하기 ... 259
        DirectDraw 표면 객체에 GetCaps() 사용하기 ... 260
        DirectDraw 팔레트 객체에 GetCaps() 사용하기 ... 261
   chapter 12. GPDUMB 게임 엔진, 파트1
      GPDUMB 엔진의 디자인 ... 262
        define ... 264
        매크로 ... 266
        타입과 데이터 구조 ... 268
        전역변수들 ... 271
      미션 임파서블 : 간단한 DirectDraw 인터페이스 ... 272
        함수의 잠금 및 잠금 풀기 ... 277
      기본적인 그래픽스 : 필수적인 것들 ... 281
      마을 색칠하기 ... 285
      GDI ... 289
      내부적인 BMP 지원하기 ... 291
      기본적인 비트맵 그래픽스 ... 292
      차세대 BOB ... 296
      지금 시간은? ... 305
      여기까지 ... 308
Part 3. 퍼즐의 나머지 부분 : 사운드, 입력, 그리고 설
   chapter 13. DirectSound로 잡음 만들기
      뮤직 0101 : 사운드의 기본 ... 311
      디지털 vs MIDI - 연합 vs 제국 ... 315
        디지털 사운드 ... 315
      합성 사운드와 미디 ... 317
        미디, 그리고 다른 것들 ... 318
      사운드 하드웨어 ... 318
        웨이브-테이블 합성 ... 319
        웨이브-가이드 합성 ... 319
      디지털 녹음 : 툴과 기법들 ... 319
        사운드 녹음 ... 320
        사운드 처리 ... 321
      DirectSound의 소개 ... 321
      DirectSound의 사용 ... 324
        DirectSound 객체를 소환하라 ... 324
        주 사운드 버퍼와 보조 사운드 버퍼 ... 327
        사운드 이리저리 다루기 ... 334
        DirectSound로부터 정보얻기 ... 338
        디스크로부터 파일 읽어오기 ... 339
   chapter 14. DirectInput의 전말
      DirectInput의 기본 ... 346
      DirectInput의 사용 ... 347
      DirectInput 생성 ... 348
      키보드 입력 ... 350
        키보드 장치 생성 ... 350
        협력 수준의 설정 ... 353
        데이터 형식의 설정 ... 354
        키보드로부터 데이터 읽어오기 ... 356
      마우스 입력 ... 359
        마우스 장치 생성 ... 360
        협력 ... 360
        데이터 형식의 설정 ... 360
        마우스를 잡아라 ... 362
        마우스로부터 데이터 읽어오기 ... 362
      조이스틱, 요크, 그리고 그 밖의 프로이드적인 입력장치 ... 365
        DirectInput과 조이스틱 ... 366
        조이스틱을 사용하기 위한 기본 ... 367
        조이스틱 조사 ... 368
        콜백 함수 ... 370
        장치 생성 ... 372
        올바른 속성의 설정 ... 373
        조이스틱을 얻어오기 위한 1834번째 규칙 ... 374
        조이스틱으로부터 데이터 읽어오기 ... 375
   chapter 15. 설치를 하시려면 OK를 누르세요 : DirectSetup과 Autoplay의 사용
      인스톨 블루스 ... 377
      DirectSetup기초 ... 380
        호출하기 ... 381
        DirectSetup으로부터 얻어오기 ... 383
        직접적으로 정보 습득하기 ... 385
      AutoPlay ... 386
   chapter 16. GPDUMB파트 2 - 마지막 갈등
      GPDUMB2에서 새로워진 점 ... 387
        헤더 파일들 ... 389
        전역변수의 인식 ... 391
      훨씬 쉬워진 사운드 ... 392
      일반화된 DirectInput 시스템 ... 399
      그래픽스의 돌진 ... 405
      6백만 불의 BOB ... 408
      충돌 처리 ... 411
      스타페렛 디럭스 ... 414
Part 4. 게임의 필수 요소
   chapter 17. 올라간 것은 내려와야 한다. 물리학 모델링
      기본 법칙 및 개념 ... 418
        질량(m) ... 419
        시간(t) ... 419
        위치(s) ... 420
        속도(v) ... 422
        가속도(a) ... 424
        힘(F) ... 428
      간단한 충돌 ... 429
      중력 : 블랙홀, 혹은 국세청이 끌어당기는 힘 ... 432
        중력의 수학 ... 433
        낙하하는 물체의 수학 ... 434
      마찰력으로 브레이크 걸기 ... 437
   chapter 18. 게임 엔진으로 언더월드 만들기
      게임 플레이하기 ... 439
      재미있는 게임 디자인 ... 441
      게임의 제5원소 ... 441
      레벨 정보 파일 ... 442
      아트작업과 사운드 ... 442
      수정 및 재컴파일 ... 443
   chapter 19. 개발된 게임의 마케팅
      자체 유통 ... 445
      상용 쉐어웨어/밸류웨어 ... 447
      전문적인 유통 ... 448
Part 5. 10가지 규칙들
   chapter 20. 게임 디자인의 10가지 기본 규칙
      좋은 스토리와 좋은 아이디어로 시작하라 ... 451
      디자인 안을 종이에 적어라 ... 452
      여러분이 삼킬 수 있는 양보다 많이 먹으려 하지 말라 ... 452
      대상 층을 정하고 거기에 집중하라 ... 453
      새로운 아이디어를 개발하라 ... 454
      유연하게 대처하라 ... 454
      미래를 내다보고 디자인하라 ... 455
      시리즈, 후속편, 그리고 애드온을 생각하라 ... 455
      콘텐트가 제일 중요하다 ... 456
      플레이어의 목적을 제공하라 ... 456
      가만히 있지 말라! ... 457
   chapter 21. 게임 프로그래머가 범하는 가장 큰 10가지 실수
      나쁜 거래 ... 458
      백업을 하지 않는 것 ... 459
      크리스마스를 놓치는 것 ... 459
      테스트를 제대로 못하는 것 ... 459
      오래된 기술 사용하기 ... 460
      도스용으로 제작 ... 460
      대중에게 거짓말하기 ... 461
      광고하지 않기 ... 461
      주방에 너무 많은 요리사를 뉉
닫기