지은이·옮긴이 소개 xi기술 감수자 소개 xii옮긴이 머리말 xiii베타리더 후기 xiv감사의 글 xvi이 책에 대하여 xviiPART 1 | 기초CHAPTER 1 | 시작하기 전에 31.1 2판의 참고 사항 31.2 책의 철학 41.3 디자인 패턴이란 무엇인가? 41.4 이 책에서 다루지 않는 주제는? 51.5 게임 프로젝트 51.6 정리 6CHAPTER 2 | 게임 기획서 72.1 기획서 82.2 정리 182.3 읽을거리 18CHAPTER 3 | 유니티 프로그래밍 간략 설명 193.1 이미 알고 있어야 하는 것 193.2 C# 기능 203.3 유니티 엔진 기능 243.4 정리 263.5 읽을거리 26PART 2 | 핵심 패턴CHAPTER 4 | 싱글턴으로 게임 매니저 구현하기 294.1 기술적 요구 사항 304.2 싱글턴 패턴 이해하기 304.3 게임 매니저 디자인하기 314.4 게임 매니저 구현하기 324.5 정리 38CHAPTER 5 | 상태 패턴으로 캐릭터 상태 관리하기 395.1 기술적 요구 사항 395.2 상태 패턴의 개요 405.3 캐릭터 상태 정의하기 415.4 상태 패턴 구현하기 425.5 상태 패턴의 장단점 495.6 대안 살펴보기 505.7 정리 51CHAPTER 6 | 이벤트 버스로 게임 이벤트 관리하기 536.1 기술적 요구 사항 546.2 이벤트 버스 패턴 이해하기 546.3 레이스 이벤트 버스 구현하기 586.4 대안 살펴보기 656.5 정리 65CHAPTER 7 | 커맨드 패턴으로 리플레이 시스템 구현하기 677.1 기술적 요구 사항 687.2 커맨드 패턴 이해하기 687.3 리플레이 시스템 설계하기 717.4 리플레이 시스템 구현하기 727.5 대안 살펴보기 817.6 정리 81CHAPTER 8 | 오브젝트 풀 패턴으로 최적화하기 838.1 기술적 요구 사항 848.2 오브젝트 풀 패턴 이해하기 848.3 오브젝트 풀 패턴 구현하기 868.4 대안 살펴보기 938.5 정리 93CHAPTER 9 | 옵저버 패턴으로 컴포넌트 분리하기 959.1 기술적 요구 사항 959.2 옵저버 패턴 이해하기 969.3 옵저버 패턴으로 핵심 컴포넌트 분리하기 989.4 옵저버 패턴 구현하기 999.5 대안 살펴보기 1069.6 정리 106CHAPTER 10 | 방문자 패턴으로 파워업 구현하기 10710.1 기술적 요구 사항 10810.2 방문자 패턴 이해하기 10810.3 파워업 메커니즘 설계하기 11010.4 파워업 메커니즘 구현하기 11110.5 정리 119CHAPTER 11 | 전략 패턴으로 드론 구현하기 12111.1 기술적 요구 사항 12211.2 전략 패턴 이해하기 12211.3 적 드론 디자인하기 12411.4 적 드론 구현하기 12611.5 대안 살펴보기 13211.6 정리 133CHAPTER 12 | 데커레이터를 사용하여 무기 시스템 구현하기 13512.1 기술적 요구 사항 13512.2 데커레이터 패턴 이해하기 13612.3 무기 시스템 디자인하기 13812.4 무기 시스템 구현하기 13912.5 대안 살펴보기 14912.6 정리 149CHAPTER 13 | 공간 분할로 레벨 에디터 구현하기 15113.1 기술적 요구 사항 15213.2 공간 분할 패턴 이해하기 15213.3 레벨 에디터 디자인하기 15413.4 레벨 에디터 구현하기 15613.5 대안 살펴보기 16113.6 정리 162PART 3 | 대체 패턴CHAPTER 14 | 어댑터로 시스템 조정하기 16514.1 기술적 요구 사항 16514.2 어댑터 패턴 이해하기 16614.3 어댑터 패턴 구현하기 16914.4 정리 173CHAPTER 15 | 퍼사드 패턴으로 복잡성 숨기기 17515.1 기술적 요구 사항 17615.2 퍼사드 패턴 이해하기 17615.3 오토바이 엔진 디자인하기 17815.4 오토바이 엔진 구현하기 17815.5 대안 살펴보기 18415.6 정리 184CHAPTER 16 | 서비스 로케이터 패턴으로 종속성 관리하기 18516.1 기술적 요구 사항 18516.2 서비스 로케이터 패턴 이해하기 18616.3 서비스 로케이터 패턴 구현하기 18816.4 대안 살펴보기 19316.5 정리 193찾아보기 195
디자인 패턴을 사용해 게임 개발의 넥스트 레벨로유니티 게임 개발을 위한 입문서는 읽었는데, 어떻게 만들어야 잘 만드는 건지 모르시겠나요? 남들보다 우아한 방법으로 게임을 개발하고 싶으신가요? 그렇다면 여기, 유니티 디자인 패턴 가이드가 있습니다.디자인 패턴은 일반적인 소프트웨어 개발 문제를 해결하는 데 재사용할 수 있는 방식입니다. 이 책의 저자는 유니티에도 디자인 패턴을 적용해 게임을 효율적으로 개발하는 방식을 찾고자 합니다. 성능에 민감한 레이싱 게임을 예제로 삼아 각 장에서 반복하여 게임 프로그래밍 문제를 제시하고, 이를 유니티 API에 적합한 디자인 패턴을 사용하여 해결합니다.게임 프로토타입 기획서, 기본적인 C#과 유니티 개념은 1장~3장에서 설명합니다. 4장~13장에서는 게임 개발에 핵심적인 패턴을 소개합니다. 4장은 싱글턴 패턴, 5장은 상태 패턴, 6장은 이벤트 버스 패턴, 7장은 커맨드 패턴, 8장은 오브젝트 풀 패턴, 9장은 옵저버 패턴, 10장은 방문자 패턴, 11장은 전략 패턴, 12장은 데커레이터 패턴, 13장은 공간 분할 패턴을 다룹니다. 14장~16장에서는 복잡한 서브시스템을 대체할 대체 패턴으로 각각 어댑터 패턴, 퍼사드 패턴, 서비스 로케이터 패턴을 설명합니다.레이싱 게임을 예시로 13가지 패턴을 적용해 따라가다 보면, 자신의 게임에 어떤 디자인 패턴을 사용해야 할지 감을 잡을 수 있을 것입니다. 초심자 딱지를 떼고 넥스트 레벨로 나아가고 싶은 게임 개발자에게 이 책을 추천합니다. 주요 내용■ 업계 표준 개발 패턴을 사용해 전문적인 유니티 코드 설계■ 특정 게임 메커니즘 또는 기능 구현을 위한 올바른 패턴 찾기■ 코드 한 줄 작성하지 않고도 수정할 수 있는 핵심 게임 메커니즘 및 구성 요소■ 실제 객체 지향 프로그래밍(OOP) 기법 및 유니티 프로젝트에서의 사용법■ 레벨 에디터 등 고유한 게임 개발 시스템 구축■ 유니티 API와 함께 사용할 수 있는 기존 디자인 패턴 적용법