서브메뉴

본문

초보자를 위한 게임 프로그래밍
초보자를 위한 게임 프로그래밍
저자 : Bruno Miguel Teixeira de Sousa
출판사 : 정보문화사
출판년 : 2003
ISBN : 8956740909

책소개


게임 프로그래밍 분야는 근래 눈부신 발전으로 내용들이 세분화되고 있다. 이 책에서는 그런 방대한 내용들 중에서 게임 개발의 가장 핵심이 되는 요소들을 다루고 있다. 경험이 부족한 초보 개발자들은 C++ 프로그래밍의 기초에서 출발하여 두 개의 간단한 텍스트 게임을 개발하는 과정을 통해 자신의 실력을 점검해 볼 수 있다.

그 단계를 지나면 윈도우즈 프로그래밍과 DirectX의 주요 요소인 DirectX Graphics, DirectSound와 DirectInput을 배우게 된다. 또한, 계속해서 사용하게 될 게임 라이브러리를 빌드(build)하는 과정을 통해 자신의 게임 설계 능력을 키우는 방법을 배우게 된다. 마지막으로 수학, 물리학, 인공지능을 포함한 보다 발전된 프로그래밍의 주제들 또한 다룬다.

[부록 CD] 마이크로소프트 DirectX 8.1 SDK / Caligari TrueSpace 5 시험판 / Syntrillium Cool Edit 2000 시험판 / JASC 페인트 샵 프로 7 시험판 / Gemdrop, Smiley, Smugglers 2 데모 / 예제 소스 코드

목차


제1부 C++ 프로그래밍

제1장 C++ 프로그래밍의 소개
C++를 사용하는 이유
Visual C++ 설정하기
첫 번째 프로그램: "Hello all you happy people"
C++ 프로그램의 구조
주석
오류 찾아내기
경고
정리
질문과 답변
연습 문제

제2장 변수와 연산자
변수와 메모리
변수의 타입
프로그램에서 변수의 사용
변수의 식별자
변수 이름
타입의 재정의
연산자
비트 시프트 연산자
관계 연산자
조건 연산자
논리 연산자
연산자 우선순위
요약
질문과 답변
연습 문제

제3장 함수와 프로그램의 흐름
함수의 정의와 사용 방법
함수의 생성과 사용
디폴트 파라미터
변수의 범위
재귀 호출
함수를 사용할 때의 주의사항
프로그램의 흐름
코드 블록과 문장
if, else if, else문
while, do...while 그리고 for 루프
break와 continue
switch문
난수
첫 번째 게임: "크랩(Crap)"
요약
질문과 답변
연습 문제

제4장 다중 파일과 전처리기
소스와 헤더파일의 차이
전처리기
다중 include 피하기
매크로
다른 전처리기 지시어
요약
연습 문제

제5장 배열, 포인터 그리고 문자열
배열
배열의 선언과 사용
다차원 배열
포인터
포인터와 변수
포인터와 배열
메모리에 포인터 선언과 할당
포인터 연산자
메모리 관리
문자열
요약
질문과 답변
연습 문제

제6장 클래스
클래스
클래스의 생성
클래스의 사용
멤버의 접근 제한자들
생성자와 소멸자
연산자 오버로딩
문자열 클래스
상속성과 다형성의 기본 개념
열거형
유니온
정적 멤버
클래스를 사용할 때 유용한 기술
요약
질문과 답변
연습 문제

제7장 몬스터 만들기
ConLIb
몬스터의 생성
요약

제8장 스트림
스트림
바이너리 스트림과 텍스트 스트림
입력과 출력
파일 스트림
게임 로드와 저장 기능을 추가한 몬스터 게임의 수정
요약
질문과 답변
연습 문제

제9장 기본적인 소프트웨어 구조
소프트웨어 디자인의 중요성
디자인 접근
몇 가지 기본 기술들
모듈과 다중 파일
이름짓기의 관례
규칙의 예외
이 책에서 사용된 디자인
요약
질문과 답변
연습 문제


제2부 윈도우 프로그래밍

제10장 Mirus 게임 라이브러리의 설계
일반적인 사항
Mirus 컴포넌트
Helper 컴포넌트
윈도우 컴포넌트
그래픽 컴포넌트
사운드 컴포넌트
입력 컴포넌트
Help 컴포넌트 만들기
Mirus를 사용하는 방법
요약
질문과 답변

제11장 윈도우 프로그래밍 시작하기
윈도우의 역사
윈도우 프로그래밍의 소개
Visual C++와 윈도우 애플리케이션
윈도우 애플리케이션의 생성
실시간 메시지 루프의 생성
재사용 가능한 윈도우 클래스의 생성
Mirus 윈도우 프레임워크의 사용
공통 윈도우 함수
Show
요약
질문과 답변
연습 문제

제12장 DirectX 소개
DirectX란?
DirectX의 역사
DirectX를 사용하는 이유
DirectX의 컴포넌트
DirectX의 작동 방식
Visual C++를 이용한 DirectX의 사용법
요약
질문과 답변
연습 문제

제13장 DirectX 그래픽
사용하게 될 인터페이스
Direct3D 기본 기능의 사용
Surface, Buffer 그리고 Swap Chain
Vertex, Polygon 그리고 Texture
윈도우 비트맵
Full Screen과 다른 Bit Mode
컬러 이론과 컬러키
Targa 파일
애니메이션과 템플릿 집합
충돌 감지
2D 이미지 처리
2D Primitive
Mirus의 개발
요약
질문과 답변
연습 문제

제14장 DirectInput
DirectInput에 대한 소개
mrInputManager
mrKeyboard
mrMouse
mrJoystick
요약
질문과 답변
연습 문제

제15장 DirectSound
사운드 이론
DirectSound의 기본 개념
mrSoundPlayer
mrSound
Media Control Interface
mrCDPlayer
요약
질문과 답변
연습 문제


제3부 하드코어 게임 프로그래밍

제16장 게임 디자인의 소개
게임 디자인이란?
디자인 문서
머릿속에 있는 기술이 그다지 좋지 않은 이유
디자인의 두 가지 타입
전체적인 디자인 문서
간단한 게임 디자인: "우주 침략자(Space Invaders)"
요약
질문과 답변
연습 문제

제17장 자료구조와 알고리즘
올바른 자료구조와 알고리즘의 중요성
리스트
트리
일반적인 트리
이진 검색 트리
데이터의 정렬
버블 정렬
퀵 정렬
압축
RLE 압축
요약
질문과 답변
연습 문제

제18장 게임의 수학적 측면
삼각함수
벡터
행렬
가능성
함수들
요약
질문과 답변
연습 문제

제19장 인공지능에 대한 소개
인공지능의 다양한 분야
Deterministic 알고리즘
Finite State Machines
퍼지 이론
메모리를 사용하는 간단한 방법
요약
질문과 답변
연습 문제

제20장 물리학 모델링에 대한 소개
물리학의 소개
물리학 엔진의 개발
기본적인 물리학 개념

중력의 작용
마찰
충돌 처리
시뮬레이팅
파티클 시스템
요약
질문과 답변
연습 문제

제21장 벽돌깨기 게임 개발
벽돌깨기 게임의 설계
벽돌깨기 게임의 구현
결론

제22장 게임 발매
게임이 판매할 만한 가치가 있는가?
게임 유통회사의 선택 기준
올바르게 게임 유통회사를 고르는 방법
접촉
중요 일정
유통회사를 찾지 못한 경우
인터뷰
요약
참고
결론


제4부 부록

부록 A CD-ROM에 대해서
소스
마이크로소프트 DirectX 8.1 SDK
프로그램
게임

부록 B Visual C++를 사용한 디버깅
Breakpoint와 실행 제어
실행중에 변수의 수정
변수 값 보기

부록 C 이진수, 16진수, 십진수
이진수
16진수
십진수

부록 D A C Primer
표준 입력과 출력
파일의 입력과 출력
구조체
동적 메모리

부록 E 연습 문제 정답

부록 F C++ 키워드

부록 G 프로그래밍에 필요한 표
ASCII 표
적분 표
미분 표
관성 방정식 표

부록 H 관련 사이트 및 참고 문헌
게임 개발과 프로그래밍
새로운 소식이나 리뷰 그리고 다운로드 사이트
엔진
독립적인 게임 개발자
산업
컴퓨터 유머
참고 도서

QuickMenu