유니티로 배우는 게임 디자인 패턴
2022년 12월 09일 출간
국내도서 : 2022년 10월 31일 출간
- eBook 상품 정보
- 파일 정보 pdf (21.40MB)
- ISBN 9791192469577
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
쿠폰적용가 15,120원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
기술 감수자 소개 xii
옮긴이 머리말 xiii
베타리더 후기 xiv
감사의 글 xvi
이 책에 대하여 xvii
PART 1 | 기초
CHAPTER 1 | 시작하기 전에 3
1.1 2판의 참고 사항 3
1.2 책의 철학 4
1.3 디자인 패턴이란 무엇인가? 4
1.4 이 책에서 다루지 않는 주제는? 5
1.5 게임 프로젝트 5
1.6 정리 6
CHAPTER 2 | 게임 기획서 7
2.1 기획서 8
2.2 정리 18
2.3 읽을거리 18
CHAPTER 3 | 유니티 프로그래밍 간략 설명 19
3.1 이미 알고 있어야 하는 것 19
3.2 C# 기능 20
3.3 유니티 엔진 기능 24
3.4 정리 26
3.5 읽을거리 26
PART 2 | 핵심 패턴
CHAPTER 4 | 싱글턴으로 게임 매니저 구현하기 29
4.1 기술적 요구 사항 30
4.2 싱글턴 패턴 이해하기 30
4.3 게임 매니저 디자인하기 31
4.4 게임 매니저 구현하기 32
4.5 정리 38
CHAPTER 5 | 상태 패턴으로 캐릭터 상태 관리하기 39
5.1 기술적 요구 사항 39
5.2 상태 패턴의 개요 40
5.3 캐릭터 상태 정의하기 41
5.4 상태 패턴 구현하기 42
5.5 상태 패턴의 장단점 49
5.6 대안 살펴보기 50
5.7 정리 51
CHAPTER 6 | 이벤트 버스로 게임 이벤트 관리하기 53
6.1 기술적 요구 사항 54
6.2 이벤트 버스 패턴 이해하기 54
6.3 레이스 이벤트 버스 구현하기 58
6.4 대안 살펴보기 65
6.5 정리 65
CHAPTER 7 | 커맨드 패턴으로 리플레이 시스템 구현하기 67
7.1 기술적 요구 사항 68
7.2 커맨드 패턴 이해하기 68
7.3 리플레이 시스템 설계하기 71
7.4 리플레이 시스템 구현하기 72
7.5 대안 살펴보기 81
7.6 정리 81
CHAPTER 8 | 오브젝트 풀 패턴으로 최적화하기 83
8.1 기술적 요구 사항 84
8.2 오브젝트 풀 패턴 이해하기 84
8.3 오브젝트 풀 패턴 구현하기 86
8.4 대안 살펴보기 93
8.5 정리 93
CHAPTER 9 | 옵저버 패턴으로 컴포넌트 분리하기 95
9.1 기술적 요구 사항 95
9.2 옵저버 패턴 이해하기 96
9.3 옵저버 패턴으로 핵심 컴포넌트 분리하기 98
9.4 옵저버 패턴 구현하기 99
9.5 대안 살펴보기 106
9.6 정리 106
CHAPTER 10 | 방문자 패턴으로 파워업 구현하기 107
10.1 기술적 요구 사항 108
10.2 방문자 패턴 이해하기 108
10.3 파워업 메커니즘 설계하기 110
10.4 파워업 메커니즘 구현하기 111
10.5 정리 119
CHAPTER 11 | 전략 패턴으로 드론 구현하기 121
11.1 기술적 요구 사항 122
11.2 전략 패턴 이해하기 122
11.3 적 드론 디자인하기 124
11.4 적 드론 구현하기 126
11.5 대안 살펴보기 132
11.6 정리 133
CHAPTER 12 | 데커레이터를 사용하여 무기 시스템 구현하기 135
12.1 기술적 요구 사항 135
12.2 데커레이터 패턴 이해하기 136
12.3 무기 시스템 디자인하기 138
12.4 무기 시스템 구현하기 139
12.5 대안 살펴보기 149
12.6 정리 149
CHAPTER 13 | 공간 분할로 레벨 에디터 구현하기 151
13.1 기술적 요구 사항 152
13.2 공간 분할 패턴 이해하기 152
13.3 레벨 에디터 디자인하기 154
13.4 레벨 에디터 구현하기 156
13.5 대안 살펴보기 161
13.6 정리 162
PART 3 | 대체 패턴
CHAPTER 14 | 어댑터로 시스템 조정하기 165
14.1 기술적 요구 사항 165
14.2 어댑터 패턴 이해하기 166
14.3 어댑터 패턴 구현하기 169
14.4 정리 173
CHAPTER 15 | 퍼사드 패턴으로 복잡성 숨기기 175
15.1 기술적 요구 사항 176
15.2 퍼사드 패턴 이해하기 176
15.3 오토바이 엔진 디자인하기 178
15.4 오토바이 엔진 구현하기 178
15.5 대안 살펴보기 184
15.6 정리 184
CHAPTER 16 | 서비스 로케이터 패턴으로 종속성 관리하기 185
16.1 기술적 요구 사항 185
16.2 서비스 로케이터 패턴 이해하기 186
16.3 서비스 로케이터 패턴 구현하기 188
16.4 대안 살펴보기 193
16.5 정리 193
찾아보기 195
코드를 입력하기 전에 게임 개발 과정에서 중요한 단계를 먼저 밟아야 한다. 바로 게임 기획서 작성이다. 게임 기획서는 전체 프로젝트의 청사진이다. 게임 기획서의 주요 목적은 게임의 핵심 개념에 대한 전반적인 시각을 문서로 작성해 긴 개발 과정 동안 여러 분야의 개발자 팀을 안내하는 것이다. (7쪽)
예를 들어 싱글턴 패턴으로 개별 매니저 클래스에서 게임의 모든 핵심 시스템을 래핑하고 관리하는 간단한 코드 아키텍처를 빠르게 만들 수 있다. 또한 매니저가 게임 내부의 복잡성을 숨기는 깔끔하고 직관적인 인터페이스를 노출하도록 하거나 매니저에 쉽게 접근하고 한 번에 하나의 인스턴스만 있도록 구현할 수도 있다. 굉장히 그럴듯하게 들리는 접근 방식이다. 그러나 싱글턴은 핵심 구성 요소 간의 결합을 강력하게 하여 유닛 테스트를 매우 어렵게 만든다. (29쪽)
이벤트 버스 패턴은 메시징 시스템과 발행/구독 패턴과 가까운 관계이다. 발행/구독 시스템이라고 부르는 것이 이벤트 버스가 하는 일을 봤을 때 더 정확한 명칭이다. 이벤트 버스 패턴의 키워드는 버스다. 컴퓨터 용어인 버스는 구성 요소 간 연결을 의미한다. 6장에서는 이벤트 게시자 혹은 수신자가 될 수 있는 오브젝트가 구성 요소다. (54쪽)
옵저버 패턴은 한 객체가 주체 역할을 하고 다른 객체가 관찰자 역할을 맡는 객체 간의 일대다 관계를 설정하는 것이 핵심 목적이다. 주체 역할을 맡는 객체는 내부에서 변경되었을 때 관찰자에게 알리는 책임을 진다. 이는 객체가 특정 이벤트 알림을 구독하고 수신하는 게시자와 구독자의 관계와 유사하다. 핵심 차이점은 옵저버 패턴에서는 주체와 관찰자가 서로를 알고 있어 가볍게 결합된다는 점이다. (96쪽)
주의해야 할 점은 퍼사드 패턴과 어댑터가 종종 헷갈릴 수 있다는 점이다. 주요 차이점은 퍼사드 패턴은 단순화된 전면 인터페이스를 복잡한 시스템으로 설정한다는 점이다. 어댑터 패턴은 클라이언트에 일관적인 인터페이스를 유지하면서 호환되지 않는 시스템을 조정한다. 어댑터 패턴과 퍼사드 패턴 모두 구조적 패턴이지만 완전히 다른 목적을 가지고 있어 관련이 있다. (167쪽)
디자인 패턴을 사용해 게임 개발의 넥스트 레벨로
유니티 게임 개발을 위한 입문서는 읽었는데, 어떻게 만들어야 잘 만드는 건지 모르시겠나요? 남들보다 우아한 방법으로 게임을 개발하고 싶으신가요? 그렇다면 여기, 유니티 디자인 패턴 가이드가 있습니다.
디자인 패턴은 일반적인 소프트웨어 개발 문제를 해결하는 데 재사용할 수 있는 방식입니다. 이 책의 저자는 유니티에도 디자인 패턴을 적용해 게임을 효율적으로 개발하는 방식을 찾고자 합니다. 성능에 민감한 레이싱 게임을 예제로 삼아 각 장에서 반복하여 게임 프로그래밍 문제를 제시하고, 이를 유니티 API에 적합한 디자인 패턴을 사용하여 해결합니다.
게임 프로토타입 기획서, 기본적인 C#과 유니티 개념은 1장~3장에서 설명합니다. 4장~13장에서는 게임 개발에 핵심적인 패턴을 소개합니다. 4장은 싱글턴 패턴, 5장은 상태 패턴, 6장은 이벤트 버스 패턴, 7장은 커맨드 패턴, 8장은 오브젝트 풀 패턴, 9장은 옵저버 패턴, 10장은 방문자 패턴, 11장은 전략 패턴, 12장은 데커레이터 패턴, 13장은 공간 분할 패턴을 다룹니다. 14장~16장에서는 복잡한 서브시스템을 대체할 대체 패턴으로 각각 어댑터 패턴, 퍼사드 패턴, 서비스 로케이터 패턴을 설명합니다.
레이싱 게임을 예시로 13가지 패턴을 적용해 따라가다 보면, 자신의 게임에 어떤 디자인 패턴을 사용해야 할지 감을 잡을 수 있을 것입니다. 초심자 딱지를 떼고 넥스트 레벨로 나아가고 싶은 게임 개발자에게 이 책을 추천합니다.
주요 내용
■ 업계 표준 개발 패턴을 사용해 전문적인 유니티 코드 설계
■ 특정 게임 메커니즘 또는 기능 구현을 위한 올바른 패턴 찾기
■ 코드 한 줄 작성하지 않고도 수정할 수 있는 핵심 게임 메커니즘 및 구성 요소
■ 실제 객체 지향 프로그래밍(OOP) 기법 및 유니티 프로젝트에서의 사용법
■ 레벨 에디터 등 고유한 게임 개발 시스템 구축
■ 유니티 API와 함께 사용할 수 있는 기존 디자인 패턴 적용법
작가정보
David Baron
업계에서 15년 이상 일한 게임 개발자다. AAA 스튜디오와 캐나다 몬트리올의 모바일, 인디 게임 스튜디오에서 일했으며, 프로그래밍과 디자인, 3D 아트 모두에 능하다. 가상현실, 모바일, 콘솔 등 다양한 플랫폼에서 게임을 만들어왔다.
게임과 앱, 프로그래밍에 관심이 있어 다양한 자료를 번역하면서 새로운 것을 배워가고 있다. 좀 더 좋은 자료를 더 좋은 번역으로 제공하고 싶은 마음에서 최선을 다하고 있다. 이름을 검색했을 때 인터넷 서점 한 페이지가 작업한 책으로 가득 찰 때까지 열심히 번역하는 것이 목표다. 옮긴 책으로 《레이 트레이싱》, 《유니티 셰이더와 이펙트 제작 3/e》, 《함수형 코틀린》, 《예제로 배우는 언리얼 엔진 4 게임 개발》(이상 에이콘출판사) 등이 있다.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!
- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.
- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)