
한 권으로 게임 프로그래밍을 배운다는 것 자체가 사실 불가능하다. 대신 기초는 쌓을 수 있다. 눈으로 보는 가시적인 성과를 위해 무작정 따라 하기를 배우는 것은 무료하지 않게 공부할 수 있는 좋은 방법이지만 어느 순간 보면 다시 처음으로 돌아오게 되어 있다. 하지만 그런 방법도 나쁘지 않다고 생각한다. 숲을 보고 나무를 보는 것도 좋으니까. 어쩌면 이 책은 반대라고 얘기할 수 있다.
기본을 설명하면 대체로 무료하고 딱딱하기 쉬운데 생각보다 쉽게 풀어내고 있다. 읽다 보면 '굳이?'라는 생각이 들기도 하지만 처음 보는 사람에게 필요한 내용도 차근히 설명한다. 게임 프로그래밍에서 필요한 건 뭘까? 를 고민할 때 필요한 방향성 같은 내용을 담고 있다고 할 수 있다.
수포자가 많다고들 하지만 게임 프로그래밍에 수학은 반드시 필요하다. 특히 공간을 설명하는 수학은 벡터나 회전을 설명할 수 있는 삼각함수는 필수라 할 수 있다. 그런 내용을 2장에서 다뤄 준다. 그다음으로는 게임에서 자주 쓰일 듯한 알고리즘에 대해 얘기한다. 랭킹 구현이라든지 자동 경로 탐색 같은 것들이 들어 있다. 그리고 마지막으로는 프로그램의 공통의 레시피라고 할 수 있는 디자인 패턴과 피해야 하는 안티 패턴 등을 설명한다.
어떻게 보면 프로그래밍 설명일 수도 있다. 단지 설명을 게임 캐릭터의 움직임이나 정보를 예시를 들뿐이다. 프로그램은 대체로 대동소이한 것도 사실이다.
책은 유니티를 기본으로 설명하고 있다. 예제 또한 유니티로 되어 있지만 그 구조를 설명하는 건 C#이나 C++과 크게 다르지 않기 때문에 이해가 어렵지는 않다. 책은 게임을 만들겠다는 것보다 게임을 만들기 위한 기초를 다지는 쪽으로 설명되어 있다.
한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.