목차 일부
Part 1. 윈도우즈 프로그래밍에 익숙해지기
chapter 1. Windows 9x/XP/2000 게임 프로그래밍을 위한 준비
궁극적인 게임 프로그래밍 워크스테이션의 디자인 ... 3
DirectX와 SDK의 설치 ... 4
C/C++ 컴파일러의 준비 ... 5
멀티미디어 툴의 사용 ... 7
...
더보기
목차 전체
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
주방에 너무 많은 요리사를 뉉
더보기 닫기