1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

게임 엔진 아키텍처-3/E
저자 : 제이슨그레고리 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 박상희

2023.05.31 ㅣ 1,252p ㅣ ISBN-13 : 9791161757445

정가75,000
판매가71,250(5% 할인)
적립금 3,000원 (4%)
배송일정 05월 02일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

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

[목 차]

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판은 훨씬 더 두꺼워졌습니다. 훌륭한 선생님의 강의를 더 많이 배울 수 있어서 다행입니다. 이 책을 통해 훌륭한 게임이 더 많이 나올 수 있길 바랍니다.
펼쳐보기
제이슨 그레고리(Jason Gregory)
1994년부터 소프트웨어 엔지니어로 일했고, 1999년부터는 게임 개발 소프트웨어 엔지니어로 근무했다. 샌디에이고에 있는 미드웨이 홈 엔터테인먼트(Midway Home Entertainment)에서 처음 게임 프로그래밍을 시작했으며, 하이드로 썬더 2(아케이드)의 툴, 엔진 기술, 게임 플레이 코드를 작업했다. 프리키 플라이어(Freaky Flyer)와 크랭크 더 위즐(Crank the Weasel)의 플레이스테이션 2/엑스박스용 애니메이션 시스템을 만들기도 했다. 2003년에는 일렉트로닉 아츠 로스앤젤레스(Electronic Arts Los Angeles)로 옮겨 ‘메달 오브 아너: 퍼시픽 어설트’ 프로젝트에서 엔진과 게임플레이 기술을 담당했고, ‘메달 오브 아너: 에어본’ 프로젝트에서는 리드 엔지니어로 근무했다. 현재 너티 독(Naughty Dog)에서 리드 프로그래머로 근무하며, 자신의 팀과 함께 여러 가지 흥미로운 플레이스테이션 5 게임을 만들고 있다. 또한 라스트 오브 어스 파트 2(The Last of US Part II)(플레이스테이션 4), 언차티드: 엘도라도의 보물(Uncharted: Drake's Fortune), 언차티드 2: 황금도와 사라진 함대(Uncharted 2: Among Thieves), 언차티드 3: 황금사막의 아틀란티스(Uncharted 3: Drake's Deception), 라스트 오브 어스(The Last of Us), 언차티드 4: 해적왕과 최후의 보물(Uncharted4: A Thief's End), 언차티드 잃어버린 유산(Uncharted: The Lost Legacy)의 엔진과 게임 플레이 소프트웨어도 만들었다. 남가주대학교(University of Southern California)에서 게임 기술에 관한 강의를 개발하고 가르치기도 했었다.

옮긴이 박상희
서울대학교 컴퓨터 공학과를 졸업한 후 게임 클라이언트 프로그래머(2003년~현재)로 일하고 있다. 아스가르드(넥슨), 리니지2(엔씨소프트), 오버히트(넷게임즈, 현 넥슨게임즈) 등 알려진 프로젝트에 참여했으며, 그 외 몇몇 알려지지 못한 프로젝트에서도 일했다. 현재 출시 준비 중인 PC/콘솔 게임을 만드는 중이다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기