[도서리뷰] 레트로의 유니티 게임 프로그래밍 에센스 개정판 리뷰

미분류

한동안 많이 바쁜 관계로 도서 서평/리뷰를 신청하지 않고 있다가 약간 숨통이 트인 관계로 리뷰어 신청을 했다.
감사히도 2022년 한빛미디어의 리뷰어로 선정이 되어서 매달 원하는 책 3권 중 한권을 지원받아 리뷰를 할 수 있게 되었고, 올 해의 첫 번째 리뷰 도서로 ‘레트로의 유니티 게임 프로그래밍 에센스 (개정판)’를 리뷰할 수 있게 되었다.

이미 유니티 분야에 있어서 베스트셀러인 이 책이 최신버전의 유니티를 반영해서 개정판으로 출간 되었기에 더욱 기대가 되었다.

일단 책을 받아보고 든 생각은 ‘오, 두께가 엄청나군?!’ 이었다.
그도 그럴것이 마지막 페이지가 1071페이지이며, 책이 너무 두꺼운 관계로 분철이 가능하도록 2권이 묶여있는 책이었기에…+_+;

전에 게임 프로그래밍을 해본적은 없지만 오랜 기간동안 여러가지 언어로 웹 및 서버 개발을 해왔던터라 프로그래밍 파트에 대한 부담감은 없었고, 유니티라는 새로운 개발 환경에 적응하는 것이 관건이었다. 일반적으로 포토샵이나 일러스트레이터의 경우 2D 이미지 편집 툴이기에 익숙했던 반면 유니티는 3D를 커버해야했기에 X, Y가 아닌 Z 축에도 익숙해져야 하는것이다.
(물론 유니티에서 2D, 3D 모두 개발이 가능하지만 3D가 또 묘미이니까..ㅎㅎ)

책을 앞부분부터 차근차근 따라하다보니 앞서 가졌던 3D 라는 공간에 대한 부담감은 일단 조금씩 사라졌다. 그냥 예제가 흘러가는대로 수치를 입력하고 해당 수치가 오브젝트에 어떤 영향을 미치는지 확인하면서 진행하니 금방 익숙하게 되었다.

————————————————————————————

언제나 그렇듯 책을 받고 처음 본 것은 저자 서문도 아니고 추천사도 아닌 목차를 보았다.
목차를 보면 대략 어떤 흐름으로 책의 내용이 진행되는지 손쉽게 알 수 있기에.

목차를 보고 든 생각은 하나부터 열까지 정말 디테일하게 쓰여진 책이구나 하는 것을 느낄 수 있었다. 유니티가 무엇인가 하는것부터, 개발 환경 세팅, 인터페이스에 대한 설명, 엔진의 동작원리 등 기본적인 내용들을 시작으로 유니티의 개발 언어인 C#의 기초문법, 오브젝트 제어하기 와 같이 기초적인 내용들이 초반부에 약 200여 페이지에 걸쳐 배치되어있다.

그 이후에는 실제 프로젝트를 클론해보며 실제 게임 제작에 필요한 스킬들을 익혀가는 내용들이 있고 중간중간 벡터에, 공간과 움직임 등 공간에서 오브젝트들을 제어하는데 필요한 수학적인 내용들을 공부할 수 있다.

후반부의 고급진 내용들이 특히나 마음에 들었는데, 단순히 싱글플레이가 아닌 멀티플레이어 게임을 제작하는 튜토리얼이 있었는데 가장 빨리 학습하고 싶은 장이었다. 하지만 앞단의 기초가 없이 따라하는 것은 비효율적이므로 빠르게 앞의 내용들을 끝내고 네트워크 플레이 부분을 학습하기로 했다.

책의 초반부는 가볍게 슬슬 넘기며 읽을 수 있었다.
많은 개발자들이 그렇듯이 IDE는 설치나 세팅이 비슷비슷하기에 개발환경 세팅부분은 대충 보고 넘기는 경향이 있는데, 개발 환경 세팅 부분을 보면서 감탄을 했다. 이 부분을 이렇게까지 자세히 설명한다고..?

모든 과정을 단계별로 스크린샷과 함께 친절하게 설명하고 있기에 개발 입문자들이 따라하기에도 너무나 쉽게 구성되어 있고 NOTE나 주석 부분에는 좀 더 디테일한 부가적인 내용들을 명시해두어서 작은것 하나라도 더 알려주려는 저자의 배려가 돋보였다.

개발자의 입장에서는 더욱이나 아는 내용들은 슬슬 넘겨가며 볼 수 있어서 빠른 호흡으로 책장을 넘길 수 있고, 특히나 C#문법 부분은 그냥 건너뛰고 본인이 주로 사용하는 언어의 문법과 다른 부분만 그때 그때 참조하며 보면 되기에 좀더 편하게 진도를 나갈 수 있다.

튜토리얼에 필요한 내용들을 하나씩 쌓아 나가는 느낌이고 챕터별로 난이도의 편차가 심하지 않고 무난기 계속 올라가는 느낌이랄까? 중간중간 필요한 개념들은 지속적으로 설명을 해 주기에 공중 급유기의 급유를 받으며 지속적으로 비행하는 전투기의 느낌을 받았다. (ㅋㅋ)

책의 마지막 부분의 네트워크 게임 제작부분은 가장 흥미롭게 진행했던 부분인데, 멀티 플레이어 게임 제작 시 게임 서버의 종류, 플레이어 데이터의 동기화, 네트워크 권한분리, RPC 등의 흥미로운 내용들이 이미지와 함께 알기 쉽게 설명되어있고, 책 전반적으로 모든 코드에 주석이 심각할 정도로 잘 달려있어서 정말 편하게 튜토리얼을 진행할 수 있었다. (코드 반 주석 반?!)

이 책의 튜토리얼을 따라하면서 가장 좋았던 것은 유니티를 사용하여 프로젝트의 A to Z를 함께 해볼 수 있다는 것 뿐 아니라 튜토리얼에 나오는 각종 기능들을 실제 자신의 프로젝트에 바로 적용해서 써먹을 수 있다는 점인 것 같다. (바로 실무에 적용 가능한 스킬을 얻을 수 있다!)

책을 보기 전에는 유니티를 이용하여 어떻게 게임을 만들 수 있을까 하는 생각이 들었다면, 책을 마무리 지은 시점에 드는 생각은 이 아이디어는 이렇게 구현해볼 수 있겠군! 이라는 자신감이 든다.

유니티로 게임 개발을 해보고 싶은 입문자 그리고 기존에 어떤 분야가 되었든지 개발을 하고 있는 현직 개발자 모두에게 도움이 될 수 있는 좋은 책인 것 같다.
때로는 무기로도 쓸 수 있다는 점에 1점 더..ㅎㅎ

“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”