게임 엔진 아키텍처 3/e

$85.05
SKU
9791161757445
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 05/31 - Thu 06/6 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 05/28 - Thu 05/30 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2023/05/31
Pages/Weight/Size 188*235*60mm
ISBN 9791161757445
Categories IT 모바일 > 게임
Description
이 책에서 주로 다룰 내용은 게임 엔진 기술과 구조(아키텍처)다. 즉, 상용 게임 엔진을 이루는 여러 하부 시스템의 바탕이 되는 이론뿐만 아니라 이를 구현하는 데 필요한 자료 구조, 알고리듬, 소프트웨어 인터페이스를 이야기하면서 이것들이 게임 엔진 안에서 하나로 동작하는지 볼 것이다. 게임 엔진과 게임의 경계는 다소 불분명하다. 이 책에서는 주로 게임 엔진 자체에 집중할 텐데, 여기에는 여러 가지 로우레벨 기반 시스템 및 렌더링 엔진, 충돌 시스템, 물리 시뮬레이션, 캐릭터 애니메이션 등이 포함되며, 개인적으로 게임플레이 기반 계층이라고 부르는 부분에 대한 심층적 논의도 포함된다.
Contents
1부. 기초

1장. 소개
1.1 게임 팀 구성
1.2 게임이란?
1.3 게임 엔진이란?
1.4 장르별 게임 엔진
1.5 현존하는 게임 엔진
1.6 런타임 게임 아키텍처
1.7 도구와 자원 파이프라인

2장. 도구
2.1 버전 컨트롤
2.2 컴파일러, 링커, IDE
2.3 프로파일링 툴
2.4 메모리 누수와 오염 감지
2.5 기타 툴

3장. 게임을 위한 소프트웨어 엔지니어링 기초
3.1 C++ 개념과 올바른 사용법
3.2 에러 감지와 처리
3.3 데이터, 코드, 메모리 레이아웃
3.4 컴퓨터 하드웨어 기초
3.5 메모리 구조

4장. 병렬성과 병행 프로그래밍
4.1 병행성과 병렬성에 대한 정의
4.2 묵시적 병렬성
4.3 명시적 병렬성
4.4 운영체제 기초
4.5 병행 프로그래밍 입문
4.6 스레드 동기화 기본 도구
4.7 락 기반 병행성의 문제점
4.8 병행성의 경험적 규칙
4.9 락-프리 병행성
4.10 SIMD/벡터 프로세싱
4.11 GPGPU 프로그래밍에 대한 소개

5장. 게임에 사용되는 3D 수학
5.1 3D 문제를 2D로 풀기
5.2 점과 벡터
5.3 행렬
5.4 사원수
5.5 각 회전 변환 표현 간 비교
5.6 기타 유용한 수학적 개념
5.7 난수 생성

2부. 로우레벨 엔진 시스템

6장. 엔진 지원 시스템
6.1 하부 시스템 시작과 종료
6.2 메모리 관리
6.3 컨테이너
6.4 문자열
6.5 게임 설정

7장. 리소스 시스템과 파일 시스템
7.1 파일 시스템
7.2 리소스 매니저

8장. 게임 루프와 실시간 시뮬레이션
8.1 렌더링 루프
8.2 게임 루프
8.3 게임 루프 구조의 형태
8.4 가상 타임라인
8.5 시간을 측정하는 방법과 처리하는 방법
8.6 멀티프로세서 게임 루프

9장. 휴먼 인터페이스 장치
9.1 휴먼 인터페이스 장치의 종류
9.2 HID와의 인터페이스
9.3 입력의 종류
9.4 출력의 종류
9.5 게임 엔진의 HID 시스템
9.6 휴먼 인터페이스 장치들의 실제

10장. 디버깅과 개발 도구
10.1 로그 기록과 추적
10.2 디버그 정보 그리기 기능
10.3 인게임 메뉴
10.4 인게임 콘솔
10.5 디버그 카메라와 게임 일시 정지
10.6 치트
10.7 스크린샷과 무비 캡처
10.8 인게임 프로파일링
10.9 인게임 메모리 상태와 누수 감지

3부. 그래픽, 모션, 사운드

11장. 렌더링 엔진
11.1 깊이 버퍼를 이용한 삼각형 래스터화의 기초
11.2 렌더링 파이프라인
11.3 고급 조명 기법과 전역 조명
11.4 시각 효과와 오버레이
11.5 더 읽을거리

12장. 애니메이션 시스템
12.1 캐릭터 애니메이션의 종류
12.2 뼈대
12.3 포즈
12.4 클립
12.5 스키닝과 행렬 팔레트 생성
12.6 애니메이션 블렌딩
12.7 후처리
12.8 압축 기법
12.9 애니메이션 파이프라인
12.10 액션 상태 기계
12.11 제약 조건

13장. 충돌과 강체 역학
13.1 정말 게임에 물리가 필요해?
13.2 충돌/물리 미들웨어
13.3 충돌 검출 시스템
13.4 강체 역학
13.5 물리 엔진과 게임 통합
13.6 고급 물리 기능

14장. 오디오
14.1 소리의 물리적 개념
14.2 소리의 수학
14.3 오디오 기술들
14.4 3D 오디오 렌더링
14.5 오디오 엔진 아키텍처
14.6 게임을 위한 오디오 기능들

4부. 게임플레이

15장. 게임플레이 시스템 기초
15.1 게임 월드의 구성
15.2 동적 구성 요소 구현: 게임 객체
15.3 데이터 주도 게임 엔진
15.4 게임 월드 에디터

16장. 런타임 게임플레이 기반 시스템
16.1 게임플레이 기반 시스템의 컴포넌트
16.2 런타임 객체 모델 구조
16.3 월드 덩어리 데이터 형식
16.4 게임 월드의 로딩과 스트리밍
16.5 객체 참조와 월드 질의
16.6 실시간 게임 객체 업데이트
16.7 병행성을 활용한 게임 객체 업데이트
16.8 이벤트와 메시지 전달
16.9 스크립트
16.10 하이레벨 게임 흐름

5부. 결론

17장. 추가 사항
17.1 다루지 않았던 엔진 시스템
17.2 게임플레이 시스템
Author
제이슨 그레고리,박상희
1999년 3월부터 게임 개발 소프트웨어 엔지니어로 일했고, 전문적인 소프트웨어 엔지니어로서는 1994년부터 일해 왔다. 샌디에이고에 있는 미드웨이 홈 엔터테인먼트(Midway Home Entertainment)에서 처음 게임 프로그래밍을 시작했다. 프리키 플라이어(Freaky Flyer)와 크랭크 더 위즐(Crank the Weasel)의 플레이스테이션 2/엑스박스 용 애니메이션 시스템을 만들기도 했다. 2003년에는 일렉트로닉 아츠 로스앤젤레스(Electronic Arts Los Angeles)로 옮겨 '메달 오브 아너: 퍼시픽 어썰트' 프로젝트에서 엔진과 게임플레이 기술을 담당했고, '메달 오브 아너: 에어본' 프로젝트에서는 리드 엔지니어로 근무했다.

너티 독(Naughty Dog)에서 제너럴리스트 게임 프로그래머로 일하며, '언차티드: 엘도라도의 보물', '언차티드 2: 황금도와 사라진 함대', '언차티드 3: 황금사막의 아틀란티스' 시리즈의 엔진과 게임플레이 소프트웨어를 개발했고, 지금은 너티 독의 리드프로그래머로서 'The Last of Us'를 개발 중이다. 남가주대(University of Southern California)에서 게임 기술에 관한 강의도 맡고 있다.
1999년 3월부터 게임 개발 소프트웨어 엔지니어로 일했고, 전문적인 소프트웨어 엔지니어로서는 1994년부터 일해 왔다. 샌디에이고에 있는 미드웨이 홈 엔터테인먼트(Midway Home Entertainment)에서 처음 게임 프로그래밍을 시작했다. 프리키 플라이어(Freaky Flyer)와 크랭크 더 위즐(Crank the Weasel)의 플레이스테이션 2/엑스박스 용 애니메이션 시스템을 만들기도 했다. 2003년에는 일렉트로닉 아츠 로스앤젤레스(Electronic Arts Los Angeles)로 옮겨 '메달 오브 아너: 퍼시픽 어썰트' 프로젝트에서 엔진과 게임플레이 기술을 담당했고, '메달 오브 아너: 에어본' 프로젝트에서는 리드 엔지니어로 근무했다.

너티 독(Naughty Dog)에서 제너럴리스트 게임 프로그래머로 일하며, '언차티드: 엘도라도의 보물', '언차티드 2: 황금도와 사라진 함대', '언차티드 3: 황금사막의 아틀란티스' 시리즈의 엔진과 게임플레이 소프트웨어를 개발했고, 지금은 너티 독의 리드프로그래머로서 'The Last of Us'를 개발 중이다. 남가주대(University of Southern California)에서 게임 기술에 관한 강의도 맡고 있다.