[Book Review] 레트로의 유니티 게임 프로그래밍 에센스
한빛미디어에서 레트로의 유니티 게임 프로그래밍 에센스라는 책의 개정판이 출간되었다. 참고로 레트로는 유명한 게임 개발자이시다. 이 책은 일단 2권으로 이루어져있으며 1권은 1부에서 5부까지, 2권은 6부에서 7부까지로 이루어져있다. 책이 꽤 두꺼운 편인데, 책이 쪼개질 수 있게 만들어져서 좋다. 이전 판과 달라진 점은 유니티 2021에 맞춰 내용이 갱신되었다는 점, 스크립터블 에셋에 관한 내용을 추가했다는 점, 어드레서블 시스템을 별도의 부록으로 다룬다는 점이 다르다.
특히 이 책은 유니티 입문서로 많이들 사용한다고 한다. 책에서도 "단기간에 실무 능력을 갖추게 도와줍니다"라고 써있다. 책에서는 입문자와 비전공자를 배려한 진행순서를 고려하고 있으며, 어려운 개념은 비유와 예시로, 복잡한 서술은 그림으로 대체하여 수많은 예시와 그림들을 담았다. 또한 유니티의 동작 원리, C# 프로그래밍, 객체지향, 선형대수, UI, 모바일, 후처리, 네트워크 등 게임 개발에 필요한 모든 요소를 기초부터 고급까지 충실하게 다루기 때문에 올인원 패키지라고 보면된다.
먼저 1부에서는 유니티 엔진에대해 소개하고, 개발환경을 구성하는 방법, 맛보기용 프로젝트를 생성하는 방법에 대해 다룬다. 또한 기존에 존재하는 프로젝트를 여는 방법부터 시작해서 간단한 게임 오브젝트를 편집하는 방법들을 배운다. 또한 유니티 동작의 핵심인 컴포넌트 개념을 설명한다. 여기서 약간 내용이 어려워질 수 있는데, 독자들을 고려하여 어려운 내용들을 그림으로 친절하게 설명하고 있었다.
2부에서는 본격적으로 C# 프로그래밍을 배우고, 게임 오브젝트를 제어하는 방법에 대해 다룬다. 프로그래밍을 모르는 사람들도 이 책을 보면 프로그래밍에 대한 개념을 잡을 수 있게끔 프로그래밍의 기본인 변수 개념부터 시작하여 각종 기초 문법에 대해 굉장히 상세하게 설명한다.
3부에서는 닷지 게임 즉, 탄막 슈팅 게임이라는 간단한 게임을 구성해본다. 플레이어를 제작하는 방법, 탄알을 제작하는 방법, UI를 구성하는 방법에 대해 다룬다. 이러한 닷지를 완성하면서 유니티에서 게임을 만들 때 꼭 필요한 대부분의 기초 지식을 간략하게 다룰 수 있다. 3부까지는 간단한 개념과 간단한 실습 위주로 내용을 배우게 된다. 본격적인 내용은 4부 부터 시작된다.
4부에서는 3부에서 자세히 다루지 않았던 수학적인 내용(공간, 벡터, 위치, 회전 등)을 다룬다. 게임 월드의 모든 오브젝트는 위치와 회전 값을 가지기 때문에 공간은 오브젝트를 담는 틀이며, 오브젝트를 배치할 때 사용하는 위치와 회전을 측정하는 기준을 제공하게 된다고 한다. 4부에서는 게임 월드에서 게임 오브젝트를 원하는 곳에 배치하고, 의도한 방향으로 움직이기 위해 방향, 위치, 회전, 속력, 움직임, 공간과 관련된 기초적인 수학적 지식과 코딩을 배우게 된다. 자세히 말하자면 9장에서는 방향, 크기, 회전을 담당하는 벡터 수학과 쿼터니언에 대해 다룬다. 10장에서는 9장에서 배운 수학을 응용하여 유니티에서 움직임을 표현하고 좌표계는 어떤 종류가 있는지 살펴보게 된다. 특히 벡터, 방향 부분은 비전공자도 쉽게 이해할 수 있게끔 깔끔한 그림과 명확한 설명과 함께 내용이 구성된다.
5부에서는 2D 러너 게임 유니런을 제작한다. 즉, 2D 플레이어 캐릭터를 구현하고, 이단 점프를 구현하고, 바닥을 감지하는 방법에 대해 자세히 다룬다. 2D 프로젝트에서 스프라이트를 다루는 방법, 애니메이터를 제어하여 어떤 애니메이션을 재생할지 결정하는 방법을 배우게 된다. 또한 유니티 게임에서 움직이는 발판과 장애물을 구현하는 방법에 대해 다루게 된다.
6부 및 7부에서는 탑다운 슈터게임인 좀비 서바이버라는 게임을 제작하게 된다. 이 장 부터는 점차 완성도가 높은 게임을 만들어볼 수 있게 된다. 또한 부록에서 어드레서블 시스템에 대해 자세히 설명해두었다.
이 책에서는 프로그래밍을 모르는 초보자들도 쉽게 어려운 유니티 게임을 만들 수 있도록 친절하게 가르쳐주고 있으며, 각 장에서 배운 내용들도 요약하여 중요한 점들을 확실하게 짚고 넘어갈 수 있도록 하였다. 특히나 유니티를 처음 다루는 사람들은 툴 자체에 익숙하지 않아서 게임 오브젝트 하나를 제어하는데도 어려움을 겪을 수 있는데, 이 책에서는 화면 스크린샷을 통해 최대한 자세히 설명하기 때문에 초보자도 쉽게 내용 이해는 물론 일련의 진행과정들을 순조롭게 따라 갈 수 있게 하였다. 그리고 또한 프로그래밍을 처음 접하는 사람들은 빌드조차 어려워하는 경우가 많은데, 이 책에서는 유니티 게임을 빌드하는 방법도 단계 별로 나누고, 스크린샷에서 그 단계들을 표시함으로써 가독성을 높이고, 누구든지 쉽게 따라할 수 있도록 내용을 구성해놓았기에 유니티로 게임을 제작하려는 초보자들에게 큰 길잡이가 될 수 있을 것이다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."