서브메뉴

본문

게임 프로그래머에게 배우는 게임 개발 테크닉(CD 포함)
게임 프로그래머에게 배우는 게임 개발 테크닉(CD 포함)
저자 : 문기영
출판사 : 정보문화사
출판년 : 2002
ISBN : 895674033X

책소개


게임 프로그래밍에 필요한 이론과 기술을 바탕으로 설명하고 있는 게임 개발서.

총 14장으로 구성된 이 책은 각 분야의 현업 개발자가 각 장을 집필하는하는 공동집필 방식으로 쓰여졌다. 게임 개발 지망자는 게임 프로그래밍을 위해 어떤 기술이 필요한지에서부터 시작할 수 있게 해주고, 현업 개발자에게는 실제 게임에 적용할 수 있는 쓸모 있는 주제를 다루고 있다.

이 책을 통해 RPG 게임에서 어떻게 캐릭터들이 대화하는지, 게임을 만들기 위해서 수학과 물리가 왜 필요한지, 3D 캐릭터들이 어떻게 사실적으로 움직이는지, 워크래프트 맵 에디터의 지형이 어떻게 부드럽게 연결되는지, 온라인 게임의 서버가 어떻게 이루어지는가에 대한 해답을 얻을 수 있을 것이다.

각 장 뒷부분에 제공되는 참고문헌도 자료구하기가 쉽지 않은 게임 개발자들에게 유용하다.

[부록 CD] 책에서 사용한 예제 소스 코드와 컴파일된 실행 파일 수록

목차


제1부 2차원 그래픽 기술과 알고리즘

1장 2D 이미지 구현을 위한 여러 효과들
서론
블렌딩 기법
더 빨리 더 빨리
8비트 인덱스트 모드에서의 알파 블렌딩
폭발 및 연기를 위한 오버레이 효과
8비트 인덱스트 모드의 오버레이 효과
렌즈 효과
높이 맵
코드 네임 2902 광학미체
결론

2장 3D 가속을 이용한 2D 프로그래밍
서론
장면 그리기를 위한 개념
빌보드와 3D 스프라이트의 개념적 차이
빌보드
빌보드 그리기를 위한 데이터 정의
빌보드 그리기
3D 스프라이트
3D 스프라이트 그리기를 위한 데이터 정의
3D 스프라이트 그리기
DirectX에서의 또 한 가지 방법
결론
참고문헌

3장 붓터치 타일링
서론
배경
붓 터치 타일링
원리를 만들자
3D에 적용해 보자
결론
참고문헌

4장 색상 변화 리스트
서론
색상 변화란?
색상 변화 리스트란?
색상 변화 리스트를 왜 사용하는가?
단 한번만 변화하는 방법
색상 변화 리스트의 구현
결론

제2부 수학과 물리

5장 게임 프로그래머를 위한 수학
서론
함수
합(Summation)
극한
미분
미분의 활용
편미분
편미분의 활용과 유한차분법
벡터
행렬
행렬식
삼각함수
벡터의 합
벡터의 내적
내적의 활용 - 은면 제거
벡터의 외적
내적과 외적의 활용 - 빌보드
결론
참고문헌

6장 게임 프로그래밍을 위한 물리학 용어
서론
정역학과 동역학
질점과 강체 및 변형체
자유도
자유물체도
결론
참고문헌

7장 물리학을 이용한 게임 프로그래밍
서론
질점의 물리학
질점의 운동
좌표계
속도
가속도
질점의 역학
질점의 운동방정식
미분방정식
미분방정식의 수치적 해법
파티클 효과
부드러운 물체의 표현
참고문헌

제3부 3차원 그래픽 기술과 알고리즘

8장 PVS(Potentially Visible Set) 생성
서론
PVS
Portal
Space
PVS를 만들기 위한 준비물
PVS 생성 절차
포탈 PVS 생성 함수
함수의 목적
함수의 입력
함수의 동작
가시성 판정
가시성 판정 1
가시성 판정 2
가시성 판정 3
가시성 판정 4
가시성 판정 5
PVS 생성의 핵심 부품 - ClipToSeperators
재귀호출 함수 시동 걸기
결론

9장 ASE 파일을 이용한 본 애니메이션
서론
ASE 포맷
파싱
모델 출력
애니메이션 개요
애니메이션 읽기
애니메이션 계산하기
결론

10장 쉐도우매핑을 이용한 실시간 그림자 생성
실시간 그림자 생성 방법 소개
그림자란?
투영 평면 그림자
광원-맵
그림자-볼륨(Shadow Volume)
그림자-맵핑
그림자-맵핑의 이론적인 내용과 구현
glTexGen의 GL_EYE_LINEAR의 이용
투영 텍스처 기법
역 투영
그림자-맵의 저장
항등-맵(Identity Map)의 생성
다중-텍스처를 이용한 그림자-맵의 깊이 값 비교
그림자-맵의 샘플링에 의한 문제
그림자-맵핑의 단점
그림자-맵핑 방법의 확장
그림자-맵의 해상도 조절
깊이 값의 정확도 확장(16비트, 24비트 깊이)
그 외
결론
참고문헌

제4부 게임 알고리즘과 팁

11장 온라인 게임의 네트워크 성능 향상
서론
온라인 게임의 서버 구성
데이터베이스 미러링 기법
데이터베이스 간접 액세스
TCP/IP
IP 헤더
TCP 헤더
Nagle 알고리즘
큰 패킷 아니면 작은 패킷?
MTU(Maximum Transmission Unit)
IP 단편화
MSS 협상
Path MTU
Path MTU 찾기
성능 향상을 위해 무엇을 해야 하나?
애플리케이션 설계 측면에서의 네트워크 성능 향상
가능한 한 큰 버퍼를 사용한다
전송하기 전에 전송 받는다
Dead Reckoning 알고리즘
네트워크 트래픽 분석
ping 프로그램
traceroute 프로그램
netstate 프로그램
Net.Medic
NeoTrace
IDC가 제공하는 네트워크 트래픽 모니터링 서비스
결론
참고문헌

12장 게임 스크립트의 구현
서론
스크립트란?
실제 예를 한번 들어보자
스크립트를 사용하는 이유
스크립트의 종류
실제 사용 예
간단한 파서 제작
데이터 제작 및 Decode
컴파일링
컴파일 Decode
스크립트 호출하여 실행하기
조건문 만들기
스크립트 내에서 스크립트 호출하기
게임에 스크립트 삽입하기
개선된 스크립트 컴파일러
결론

13장 디버깅을 위한 방법과 팁
서론
시키는대로 하기
쉽게 볼 수 있게 코딩하기
버그 재현하기
로그 남기기
변수들을 초기화하고 점검하기
윈도우 모드와 전체 화면 모드를 모두 지원하기
0으로 나누지 말기
포인터 변수 사용 시, NULL을 항상 확인하라
매크로 조심하기
정기적으로 릴리즈하기
Bound Checker(바운드 체커) 사용하기
아무런 이유가 없을 때
결론
참고문헌

14장 인스톨 쉴드 패키지 만들기
서론
패키지 만들기
결론
참고문헌

QuickMenu