간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (64,130원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (47,250원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (54,000원)
(최대할인 4만원 / 2만원 이상 결제)
Close

게임 엔진 아키텍처

원제 : Game Engine Architecture, Third Edition
소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
정가

75,000원

  • 67,500 (10%할인)

    3,750P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 6/15(토) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(8)

  • 상품권

AD

책소개

게임 엔진은 매우 복잡하고 어려운 소프트웨어다. 바로 그런 이유 때문에 개별 주제를 다루는 책은 넘쳐나지만 전체적인 맥락을 한 번에 파악할 수 있는 책은 드물다. 이 책은 특정 기술이나 엔진을 초월해 게임 프로그래머가 알아야 할 내용을 전체적으로 다루면서도 실용적인 측면을 함께 소개한다. 저자는 현업에 종사하는 업계 최고 수준의 프로그래머로 자신의 경험과 주변 동료들의 지식을 합쳐 이 책을 썼다. 엔지니어로서 게임 만드는 일을 할 계획이 있거나, 현재 업계에 종사하고 있지만 지엽적인 쳇바퀴에서 벗어나 더 넓은 통찰을 얻고 싶은 사람을 위한 책이다.

◈ 이 책에서 다루는 내용 ◈

이 책에서 주로 다룰 내용은 게임 엔진 기술과 구조(아키텍처)다. 즉, 상용 게임 엔진을 이루는 여러 하부 시스템의 바탕이 되는 이론뿐만 아니라 이를 구현하는 데 필요한 자료 구조, 알고리듬, 소프트웨어 인터페이스를 이야기하면서 이것들이 게임 엔진 안에서 하나로 동작하는지 볼 것이다. 게임 엔진과 게임의 경계는 다소 불분명하다. 이 책에서는 주로 게임 엔진 자체에 집중할 텐데, 여기에는 여러 가지 로우레벨 기반 시스템 및 렌더링 엔진, 충돌 시스템, 물리 시뮬레이션, 캐릭터 애니메이션 등이 포함되며, 개인적으로 게임플레이 기반 계층이라고 부르는 부분에 대한 심층적 논의도 포함된다.


◈ 이 책의 대상 독자 ◈

이 책은 입문서이지만 숙련된 프로그래머라도 많이 다뤄보지 않았을 부분에 대해 유용한 화두를 제시한다. 이전과 마찬가지로 풍부한 참고 문서와 인용문을 제공하기 때문에 특정 게임 개발 과정에 대해 깊게 공부하고 싶은 독자를 위한 단초가 될 수도 있다.

목차

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 게임플레이 시스템

본문중에서

◈ 지은이의 말 ◈

오늘날의 게임 콘솔, 모바일 기기, 개인용 컴퓨터의 핵심인 컴퓨터 하드웨어는 병렬성(parallelism)을 중요하게 활용한다. 이 기기들의 CPU와 GPU의 깊은 안쪽에서는 여러 개의 기능 단위(funtional unit)가 동시에 작동하며, 분할 정복(divide-and-conquer) 기법을 통해 고성능 연산을 수행한다. 병렬 하드웨어가 기존의 단일 스레드 프로그램을 빨리 돌릴 수 있게 해주지만, 오늘날의 연산 플랫폼에서 이미 널리 쓰이는 하드웨어 병렬성의 이점을 활용하려면 프로그래머가 병행 소프트웨어를 제대로 짜야 한다.
게임 엔진 아키텍처의 초판에서는 게임 디자인의 관점에서만 병렬성과 병행성을 살짝 언급했었다. 주제에 걸맞은 심도 깊은 취급을 하지 못한 것이다. 3판에서는 병행성과 병렬성에 관한 완전히 새로운 장을 추가함으로써 비로소 제대로 다루게 됐다. 또한 8장과 16장은 보강을 통해 병행 프로그래밍 기법들이 게임 엔진 하부 시스템과 게임 객체 모델 업데이트에 어떻게 적용되는지, 그리고 어떻게 범용 목적 잡(job) 시스템이 게임 엔진 내 병행성의 잠재력을 이끌어 낼 수 있는지를 알아볼 것이다.
이미 말했지만 좋은 게임 프로그래머라면 C++(그리고 기타 업계에서 자주 쓰이는 여러 언어들)에 대한 단단한 실무 지식을 지녀야 한다. 프로그래머의 고차원 언어에 대한 지식은 기반이 되는 소프트웨어와 하드웨어에 대한 이해에 바탕을 둬야 한다고 생각한다. 따라서 3장을 확장해 컴퓨터 하드웨어의 기본 지식, 어셈블리 언어, 그리고 운영체제 커널에 대해 다뤘다.
게임 엔진 아키텍처 3판에서는 이전 판에서 다뤘던 여러 주제를 보강했다. 로컬 및 전역 컴파일러 최적화에 대한 내용이 추가됐다. 좀 더 폭넓은 C++ 언어 표준들이 추가됐다. 메모리 캐싱과 캐시 일관성에 관한 내용은 확장했다. 애니메이션에 관한 장은 말끔히 다듬었다. 그리고 2판에서와 마찬가지로 저자와 여러 열성적인 독자들에 의해 발견된 오탈자를 수정했다. 게임 엔진 프로그래밍은 상상하기 힘들 정도로 넓고 깊다. 책 한 권에서 전부 다룰 수 없다. 따라서 이 책의 목적은 여러분의 주의를 환기시키고 더 깊은 지식을 찾아 떠날 수 있는 발판이 되는 것이다. 이 책이 흥미롭고 다채로운 게임 엔진 아키텍처의 세계를 탐험할 때 도움이 되기를 희망한다.

◈ 옮긴이의 말 ◈

게임 엔진 아키텍처가 최초로 번역돼 나온 지 벌써 10년입니다. 그동안 여러 가지 일이 있었고 세상이 크게 변했습니다. 콘솔 세대가 두 번 바뀌었고 사람 말을 할 줄 아는 AI가 등장했습니다. 3판을 번역하며 초판의 내용을 돌아봤는데 세월을 타 촌스럽게 느껴지는 부분도 다소 있었지만(예를 들면 플레이스테이션 3을 최신이라고 하는 등) 대부분은 지금 그대로 적용할 수 있는 것들이라 놀랐습니다. 분명 많은 것이 변했는데 왜 그럴까요? 핵심 개념은 크게 변하지 않은 채 응용법이 더 발전하고 복잡해졌기 때문이 아닌가 합니다. 10년 전의 저는 10년차 게임 프로그래머였는데 20년차인 지금과 비교해 볼 때 하는 일에 있어 괄목할 만한 변화는 없는 것과 비슷한 맥락입니다. 게임 개발을 위해 배울 지식과 익혀야 할 기술은 많고 꾸준히 나옵니다. 그러나 상당수는 책에 담으면 너무 빨리 구닥다리가 돼 버리는 것들입니다. 게임 엔진 아키텍처는 이해해야 할 핵심 개념과 바로 쓸 수 있는 지식의 경계를 잘 타고 있기에 세월의 영향을 크게 받지 않은 것 같습니다.
3판은 많은 내용이 추가됐습니다. 병행 프로그래밍과 오디오 두 장이 완전히 새로 들어갔습니다. 병행 프로그래밍은 어렵고 까다로운 주제이지만 따로 공부하기 쉽지 않기 때문에 이 책의 내용 정도면 훌륭한 입문 자료가 될 것 같습니다. 오디오는 평소에 접하기 힘든 내용이라 호기심을 자극하는 경험이 될 수 있을 것입니다. 경우에 따라서는 지루한 시간이 될 수도 있겠지만 사람에 따라 다르겠죠. 번역하는 입장에서는 매우 힘들었습니다만 다 이해하지 않아도 한 번쯤 보시면 재미있습니다. 그 외 기존 부분에서 시대에 맞게 갱신한 내용들도 많습니다.
초판 번역 후 너무 힘들었던 기억 덕에 다시는 번역을 하지 않으려 했는데 10년은 많은 것을 잊게 해주는 시간인 듯합니다. 번역을 제의받았을 때 거절하지 못했습니다. 그러나 다음 판이 나오게 된다면 아마 AI가 번역하지 않을까요?
초판도 두꺼웠는데 3판은 훨씬 더 두꺼워졌습니다. 훌륭한 선생님의 강의를 더 많이 배울 수 있어서 다행입니다. 이 책을 통해 훌륭한 게임이 더 많이 나올 수 있길 바랍니다.

관련이미지

저자소개

제이슨 그레고리 [저] 신작알림 SMS신청
생년월일 -

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

펼쳐보기
박상희 [역] 신작알림 SMS신청
생년월일 -

서울대학교 컴퓨터 공학과를 졸업한 후 게임 클라이언트 프로그래머(2003년~현재)로 일하고 있다. 아스가르드(넥슨), 리니지2(엔씨소프트), 오버히트(넷게임즈, 현 넥슨게임즈) 등 알려진 프로젝트에 참여했으며, 그 외 몇몇 알려지지 못한 프로젝트에서도 일했다.

리뷰

0.0 (총 0건)

100자평

작성시 유의사항

평점
0/100자
등록하기

100자평

0.0
(총 0건)

판매자정보

  • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

상호

(주)교보문고

대표자명

안병현

사업자등록번호

102-81-11670

연락처

1544-1900

전자우편주소

callcenter@kyobobook.co.kr

통신판매업신고번호

01-0653

영업소재지

서울특별시 종로구 종로 1(종로1가,교보빌딩)

교환/환불

반품/교환 방법

‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

반품/교환가능 기간

변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

반품/교환 비용

변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

반품/교환 불가 사유

·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)

·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등

·복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

상품 품절

공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

소비자 피해보상
환불지연에 따른 배상

·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

(주)KG이니시스 구매안전서비스서비스 가입사실 확인

(주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한 모든 거래에 대하여
(주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.

배송안내

  • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

  • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

  • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

  • 배송비는 업체 배송비 정책에 따릅니다.

  • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용