제목: 게임 프로그래밍 패턴

부제: 더 빠르고 깔끔한 게임 코드를 구현하는 13가지 디자인 패턴

저자: 로버트 나이스트롬

출판사: 한빛미디어

 

 

이 책은 게임 개발에서 유용한 13가지 디자인 패턴을 통해 더 효율적인 코드를 작성하는 방법을 알려준다. 각 패턴의 개념을 설명하고, 실질적인 예제와 함께 적용 방법을 소개한다.

 

사람들이 디자인 패턴 책을 떠올리면 너무나도 유명한 'GoF의  디자인 패턴' 책을 먼저 떠올릴 것이다. 해당 책은 1995년에발매된 책이고 책을 출판할지언정 개정판을 내고 있지 않다. 오늘 소개한 '게임 프로그래밍 패턴'의 저자 로버트 나이스트롬는 GoF 디자인 패턴을 참고하여 게임 프로그래밍에 자주 쓰이는 디자인 패턴을 소개한다. GoF처럼 많은 양의 디자인 패턴을 다루지는 않지만 게임 프로그래밍에서 자주 쓰일 것들을 다루고 있어 실용적이다. 

 

여태까지 나는 디자인 패턴인지 모르고 사용한게 많았다. 책에서 설명하는 디자인 패턴 중 절반 이상은 이미 내가 써본 패턴이었다. 예를 들어, 언리얼 엔진에서 자주 사용하는 Delegate 바인딩과 Broadcast 기능은 관찰자(Observer) 패턴에 해당한다. 자주 사용하는 컴포넌트 구조와 객체 풀도 디자인 패턴이었다. 실습 경험을 이론으로 학습하면서 개념을 정리하고 이해를 깊게 할 수 있다.

게임의 기능을 구현하는 것보다 효율적인 구조를 짜는 것이 더 어렵다. 다양한 디자인 패턴을 알고 있으면 적시에 필요한 패턴을 사용할 수 있으며, 구조를 짤 때 기준이 된다. 그렇기에 이 책을 게임 프로그래밍을 공부하는 개발자들에게 강력히 추천한다.

 

 

[ Part I 도입 ]

CHAPTER 1 구조, 성능, 게임

[ Part II 디자인 패턴 다시 보기 ]
CHAPTER 2 명령
CHAPTER 3 경량
CHAPTER 4 관찰자
CHAPTER 5 프로토타입
CHAPTER 6 싱글턴
CHAPTER 7 상태

[ Part III 순서 패턴 ]
CHAPTER 8 이중 버퍼
CHAPTER 9 게임 루프
CHAPTER 10 업데이트 메서드

[ Part IV 행동 패턴 ]
CHAPTER 11 바이트 코드
CHAPTER 12 하위 클래스 샌드박스
CHAPTER 13 타입 객체

[ Part V 디커플링 패턴 ]
CHAPTER 14 컴포넌트
CHAPTER 15 이벤트 큐
CHAPTER 16 서비스 중개자

[ Part VI 최적화 패턴 ]
CHAPTER 17 데이터 지역성
CHAPTER 18 더티 플래그
CHAPTER 19 객체 풀
CHAPTER 20 공간분할