|
제목 : 게임 프로그래머를 위한 C++
저자 : Noel Llopis
역자 : 최현호
출판 : 정보문화사
처음 제목만보고 이 책을 생각했을 때는 판매의 수단으로 제목을 이용하는 건가? 라는 생각을 했다. 프로그램을 작성하는데, 게임 프로그램용 C++가 따로 있는 것은 아니기 때문이다. 그런데 이 책을 읽어보고 난 후에는 많은 C++ 책들 중에 명저라고 불리는 책들이 다들 자신만의 색깔을 가지고 있듯이 이 책도 자신만의 색깔을 가지고 있는 아주 좋은 책이라는 생각이 들었다.
이 책은 게임 프로그램이 가지는 특수성인 속도가 가장 중요하다는 점과 메모리의 사용이 한정될 수도 있다는(콘솔용 게임 제작시) 점을 부각시켜서 책을 집필했다는 측면에서 다른 서적들과 차이가 있다고 할 수 있을 것 같고 게임 제작시 책에서 기술한 기능, 기법들이 사용되면 좋은 경우와 아닌 경우에 대해서 이야기를 하고 있는 점도 이 책만의 장점인 것 같다.
1부에서는 흔히 상속으로 인한 메모리 사용량의 증가가 있고 가상 함수는 일반 함수보다 가상 함수 테이블에서 함수를 찾아야 하기 때문에 느리고 예외 처리도 프로그램의 속도를 저하시킬 수 있기 때문에 사용하지 말아야하고 레퍼런스를 오인해서 포인터만 사용하는 등 실제로 프로젝트를 진행하면서 서로 이견을 가지던가 아니면 오해를 하고 있는 기능들에 대해서 비용 분석과 장단점들에 대해서 자세히 논의 하고 있다(물론 아시는 분들이 보면 진부한 내용일 수도 있다).
그리고 2부에서는 성능 향상을 위한 방법들에 대해서 이야기하고 동적 할당의 속도 저하 문제와 메모리 단편화 문제들을 해결하기 위한 메모리 관리자 제작에 대해서도 논의하고 또 STL에 대해서 속도나 메모리 사용량 측면에서 개인이 작성한 자료 구조들보다 못하다는 오해를 가지고 있는 게임 프로그래머들의 오해를 말끔히 해소할 수 있도록 STL에 대해서도 사용 비용과 성능에 대해서 자세히 논의를 하고 있다.
마지막으로 3부에서는 꼭 게임에 종속적인 내용도 아니고 C++ 언어 종속적인 내용도 아니지만, 실제적으로 사용되는 여러 기법들에 대한 내용으로 추상 인터페이스, 그리고 그 활용예인 플러그인, 자시만의 RTTI시스템, 팩토리 패턴을 이용한 게임 엔티티들 생성, 또 게임 프로그램을 제작할 때 가장 중요하고 힘든 세이브, 로드에 대해서도 이야기하고 프로젝트 진행시 필요한 물리적 설계와 안정적인 게임 프로그램을 작성하기 위한 방법들에 대해서 논의하는데 프로젝트를 진행하면서 아주 실용적인 기법들이기 때문에 많은 도움이 될 것이다.
이 책은 솔루션 북이 아니라 가이드 북이다. 한 마디로 지침서로서 실제 프로젝트 진행시 고려해야할 사항들에 대해서 이야기하고 있고 실제 그러한 사항들을 적용해서 프로그램을 하는 것은 독자의 몫이다. 솔루션 북을 원하는 독자에게 이 책은 정확한 해답이 될 수 없다는 것을 미리 밝혀둔다. 이 책의 저자가 쓴 내용들은 실제 프로젝트를 진행해본 분들이 읽어보면 많은 공감을 할 내용이다. 그 만큼 이 책의 내용이 실용적이라는 것이고 이 책을 읽으므로써 많은 세월 경험을 쌓지 않고도 그러한 경험을 할 수 있은데 이러한 특징은 본래 책이 줄 수 있는 장점이고 이 책이 그러한 도움을 준다는 것 자체가 이 책의 가치를 부여하는 것이라고 말하고 싶다. |
trackback from: [책/한국소설] 문체는 좋지만. 침이 고인다.
답글삭제작가소개를 미리 읽는 버릇을 이제 고쳐야겠다;; 미리 80년대 생이라는 걸 봐버렸고, 그래서.. 그녀가 풀어가는 암울한 얘기들이 과연 그녀가 온전히 다 알고 있는 얘기인지가 미심스러워졌다. 그녀 나이보다 이전 얘기들이 많은데... 과연 그녀는 온전히 다 느끼고 있는 것인지.. 물론. 나의 선입관이다. 작가소개는 책을 다 읽고나서 보도록 해야겠다;; 그녀의 문체는 매우 마음에 들지만, 왠지... 내용에 대한 감흥은 오지 않았다. 아쉽군;;