제1부 롤플레잉 게임의 소개 제1장 롤플레잉의 세계 롤플레잉의 스토리 ... 4 롤플레잉의 개념 ... 6 게임의 진화 ... 12 미래에 대한 전망 ... 17 제2부 롤플레잉 게임 디자인 제2장 RPG 디자인 요소 게임 디자인의 일반적인 이슈 ... 22 완성된 디자인문서 ... 30 RPG 디자인의 측면에서 ... 31 기술적인 측면에서 ... 32 우리의 역할에 대하여 ... 33 디자인을 마치며 ... 34 제3장 스토리작성의 필수요소 스토리텔링의 기술 ... 36 스토리 작성 과정 ... 46 더 나은 스토리를 위한 조언 ... 52 배경 스토리 ... 53 플래시백과 장면삽입 ... 53 회상 ... 54 설명보다 경험이 중요하다! ... 54 감정 이입 ... 55 스토리 작성의 대가들에 대하여 ... 55 스토리를 게임에 적용하는 방법 ... 56 플레이어를 중심으로 서술한다! ... 57 스토리를 마치며 ... 60 제3부 프로그그래밍 기초 제4장 C++의 사용 C++의 소개 ... 64 C에서 C++로의 이동 ... 65 클래스 ... 78 클래스의 가시성 ... 80 클래스 변수와 클래스 함수 ... 81 this 키워드의 사용 ... 88 friends 클래스 ... 89 파생 클래스 ... 90 클래스에 Const 사용하기 ... 95 진보된 구조체 ... 95 C++를 마치며 ... 96 제5장 윈도우즈 프로그래밍의 기초 윈도우즈 프로그래밍 ... 99 코딩 규칙 ... 99 윈도우의 내부 ... 102 진보된 기능 ... 119 DirectX ... 132 프로그램 플로우에 대한 이해 ... 134 모듈화 프로그래밍 ... 136 상태와 프로세스 ... 137 응용프로그램 데이터의 처리 ... 144 응용프로그램 골격의 작성 ... 148 프로젝트 구축 ... 155 프로그램 디버깅 ... 155 윈도우즈와 응용프로그램의 기초를 마치며 ... 157 제6장 DirectX Graphics을 사용한 그래픽 3D 그래픽의 핵심 ... 160 DirectX Graphics를 시작하며 ... 168 3D 수학 ... 178 드로잉의 시작 ... 184 정점의 사용 ... 184 변환 ... 191 Direct3D에서의 텍스처맵핑 사용 ... 202 알파 블렌딩 ... 211 조명 ... 217 폰트의 사용 ... 228 빌보딩 ... 231 입자(Particles) ... 223 깊이분류와 Z 버퍼 ... 237 뷰포트의 사용 ... 240 메시의 사용 ... 241 .X 파일 ... 241 D3DX에서의 메시 ... 244 3D 애니메이션 .X 스타일의 사용 ... 255 그래픽을 마치며 ... 259 제7장 DirectInput을 사용한 상호작용 입력장치의 소개 ... 262 DirectInput의 사용 ... 268 DirectInput 장치의 사용 ... 272 DirectInput에서의 키보드 사용 ... 283 DirectInput에서의 마우스 사용 ... 285 DirectInput에서의 조이스틱 사용 ... 287 입력을 마무리하며 ... 292 제8장 DirectX Audio를 사용한 사운드 연주 사운드의 기초 ... 294 DirectX Audio의 이해 ... 298 DirectSound의 사용 ... 298 협동수준/재생포맷의 설정 ... 301 1차/2차 사운드버퍼의 시동 ... 307 음량, 패닝, 주파수 설정의 변경 ... 313 포커스 잃기 ... 316 통지의 사용(Using Notification) ... 317 이벤트 스레드의 사용 ... 321 버퍼에 사운드 로딩하기 ... 323 사운드 스트리밍 ... 327 DirectMusic의 사용 ... 329 사운드를 끝내며 ... 350 제9장 DirectPlay를 이용한 네트워킹 네트워킹의 이해 ... 352 DirectPlay의 소개 ... 357 네트워크 객체의 초기화 ... 364 주소의 사용 ... 367 메시지 핸들러의 사용 ... 374 세션 정보의 설정 ... 376 서버의 사용 ... 378 클라이언트의 사용 ... 391 네트워킹을 마치며 ... 397 제10장 게임코어의 제작 코어의 개념 ... 400 시스템 코어 ... 401 그래픽 코어 ... 410 입력 코어 ... 436 사운드 코어 ... 441 네트워크 코어 ... 454 게임 코어를 마치며 ... 463 제4부 롤플레잉 게임 프로그래밍 제11장 2D 그래픽의 사용 타일과 맵에 대한 이해 ... 468 DirectX에서의 타일 사용 ... 470 기본 타일엔진 ... 483 기울어진 타일 엔진 ... 497 거대 비트맵 엔진 ... 498 2D 그래픽을 마치며 ... 500 제12장 3D 그래픽 엔진의 제작 레벨로서의 메시 ... 502 시야 각뿔대의소개 ... 507 진보된 3D 엔진의 개발 ... 517 세계에 3D 객체 추가하기 ... 541 메시를 이용한 충돌 검출 ... 543 스카이 박스의 사용 ... 553 3D 그래픽을 마치며 ... 560 제13장 2D와 3D 그래픽 엔진의 혼합 2개 차원의 혼합 ... 562 3D 세계에서의 2D 객체 사용 ... 563 혼합 엔진을 마치며 ... 577 제14장 스크립트의 채용 스크립트의 이해 ... 580 Mad Lib Script System의 작성 ... 582 Mad Lib Script의 실행 ... 606 게임으로의 적용 ... 611 스크립트를 끝내며 ... 611 제15장 객체의 정의 및 사용 게임에 사용할 객체 정의하기 ... 614 주요 아이템 목록 ... 626 인벤토리(inventory) 컨트롤 시스템을 사용한 아이템 관리 ... 631 객체와 인벤토리(inventory)를 마치며 ... 651 제16장 플레이어 컨트롤 및 캐릭터 컨트롤 플레이어, 캐릭터, 몬스터 ... 654 탐험 ... 667 캐릭터간의 대화 ... 683 라소스 관리 ... 701 마법과 주문의 사용 ... 703 전투와 캐릭터 ... 722 주요 캐릭터목록의 구성 ... 729 캐릭터 컨트롤러 클래스의 제작 ... 735 Chars Demo를 사용한 캐릭터 시연 ... 758 캐릭터를 마치며 ... 759 제17장 맵과 레벨 맵상에 캐릭터를 위치시키기 ... 762 스크립트 배치 ... 765 맵 트리거의 사용 ... 766 장애물로 경로막기 ... 788 오토맵 사용 ... 797 맵과 레벨을 마치며 ... 816 제18장 전투 시퀀스의 제작 외부 전투시퀀스 디자인 ... 820 전투시퀀스의 개발 ... 824 전투 배치의 사용 ... 841 전투시퀀스를 마치며 ... 841 제19장 멀티플레이어 게임의 제작 멀티플레이어 게임의 물결 ... 844 멀티플레이어 게임 디자인 ... 845 멀티플레이어 게임구조의 제작 ... 849 게임서버의 사용 ... 858 게임 클라이언트의 사용 ... 886 멀티플레이어 게임을 마치며 ... 905 제5부 마지막 손질 제20장 전체게임의 제작 샘플 게임의 디자인 ... 910 샘플 게임 프로그래밍 ... 928 게임 제작을 마치며 ... 966 제21장 게임의 마케팅 및 출시 게임의 제출 ... 968 게임유통사들과의 접촉 ... 972 게임유통사들의 결정 ... 974 독자 유통 ... 977 마케팅 및 유통을 마치며 ... 979 맺음말 ... 980 복습 ... 980 앞으로 나아가야할 방향 ... 981 제6부 부록 부록A. DirectX 8.0과 컴파일러의 설정 DirectX 8.0의 설정 ... 986 컴파일러 설정 ... 989 부록B. 유용한 웹사이트 ... 995 부록C. 추천도서 ... 999 부록D. 용어사전 ... 1003 부록E. CD에 수록된 내용들 ... 1017 부록F. Index ... 1021