-
-
레트로의 유니티 게임 프로그래밍 에센스 - C#으로 배우는 입문부터 4가지 게임 제작까지(Unity 2021/2022 호환, 부록: 어드레서블 시스템, 2022 버전 호환 가이드 별도 제공), 개정판 ㅣ 소문난 명강의
이제민 지음 / 한빛미디어 / 2022년 2월
평점 :
1. 유니티는 게임개발자가 사용할 수 있는 최고의 게임 엔진 중 하나다. 프로그래머가 아닌 사람들도 기능을 직관적으로 이해할 수 있도록 GUI가 구성되어 있으며 수정한 내용을 바로바로 빌드해서 볼 수 있다는 것도 큰 장점이다. 다만 아무리 직관적이라 하더라도 그 엔진을 사용 가능한 수준까지 배우는 것은 또 다른 일이다. 회사에서 실무로 사용하며 배운다면 가장 좋겠지만, 워낙 잘 알려진 엔진이라 사용경험이 있거나 이해도가 어느 정도 있는 사람을 필요로 한다. 그렇다면 유니티와 같은 엔진은 어떻게 학습해야 할까?
레트로의 유니티 게임 프로그래밍 에센스(개정판)은 유니티 엔진을 학습하는데 있어 큰 인기를 끌고 있는 책 레트로의 유니티 게임 프로그래밍 에센스의 개정판이다. 유니티 2021 내용으로 업데이트 되었고, 스크립터블에셋, 어드레서블 시스템에 대한 내용을 추가로 담고 있으며 유니티 2022 호환을 포함한다.
아무리 개념을 배우고 레퍼런스 문서나 프로젝트를 참고한다 하더라도, 직접 게임을 만들어보는 것만큼 배움의 효율을 체감할 수는 없다. 게임을 개발하기 위한 엔진이고(그렇지 않은 경우도 있겠지만), 그걸 배우는 방법은 직접 게임을 만드는 것이다. 그렇다고 게임을 직접 기획해서 만드는 것은 유니티 엔진을 배우는 것 외에 고려해야 할 사항이 늘어나는 것이고, 기획적인 부분을 제외한 개발 부분에 집중하기 위해 보통은 클론 프로젝트를 많이 하는데, 이 책 역시 몇 개의 게임 프로젝트를 예시로 유니티 엔진을 이해하고 활용할 수 있도록 돕는다.
2. 레트로의 유니티 게임 프로그래밍 에센스(개정판)은 총 4개 게임을 만들어볼 수 있다.
● 탄막 게임 - 닷지
● 2D 런게임 - 유니런
● 탑 다운 슈터 게임 - 좀비 서바이버
● 네트워크 게임 - 좀비 서바이버 멀티 플레이어 버전
책은 유니티를 한 번도 접해보지 못한 사람들도 유니티를 설치하고 위 프로젝트를 하나하나 따라서 진행할 수 있도록 일목요연하게 잘 설명되어 있다. 이 책의 가장 큰 장점이라 함은 개념을 이미지와 예시를 충분히 활용하여 설명한다는 점이다. 따라서 단순히 코드를 따라하는 것에서 그치는 것이 아니라 프로그래밍의 개념을 이해하고, 위 프로젝트가 끝난 후에 새롭게 자신만의 게임을 만들 수 있도록 돕는다.
개정판 이전에 나왔던 책도 공부하면서 참 두껍다고 생각했는데, 레트로의 유니티 게임 프로그래밍 에센스(개정판)은 무척 두껍다. 굳이 페이지를 확인하지 않아도 기존에 봤던 IT 관련 서적과 비교해도 무겁다는 것을 알 수 있는데 공식사이트 기준 1102쪽으로 기재되어 있고, 그런 이유 때문인지 개정판 역시 2권으로 책이 나뉘어져 있다. (그럼에도 한권 한권 참 두껍다)
레트로의 유니티 게임 프로그래밍 에센스(개정판)는 총 19개 장으로 구성되었다.
앞에 1~3장은 유니티를 설치하고, 인터페이스를 둘러보며 기본적인 개념을 알려준다. 그리고 4장과 5장은 C# 프로그래밍(이 책은 C# 기준으로 유니티를 다룬다)의 개념을 설명하는데, 변수나 함수, 제어문, 배열 등의 기본적인 C# 개념과 클래스와 컴포넌트를 이용해서 유니티의 오브젝트를 제어하는 방법을 다룬다.
이후 앞서 얘기한 게임 프로젝트가 진행되는데, 간단한 프로젝트(닷지)에서 시작해서 점차 복잡한 프로젝트로 나아가며 게임 개발에 필요한 게임 매니저의 개념, 유니티 공간의 개념, 빌드, 애니메이션, 인터페이스 등 유니티 개발에 필요한 항목들을 자연스럽게 배울 수 있게 된다. 각 프로젝트마다 3개 내외의 장을 할애되는데, 코드 작성은 물론이고 그 코드가 왜 그렇게 작성되어야 하는지, 그리고 다른 어떤 방법들이 있는지 개념을 이미지와 사례를 들어 설명해주기 때문에 단순히 코딩을 따라하는데서 그치지 않고 나중에 활용할 수 있도록 돕는 점이 무척 좋다.
3. 이 책의 장점이라 함은 전공자는 물론이고 비전공자도 (쉽지는 않겠지만) 잘 이해할 수 있게 책을 구성했다는 점이다. 아무래도 예시를 들거나 이미지로 개념을 설명하는 것이 상대적으로 번거롭고 힘든 작업이었을텐데 전달하는 부분에서 많은 고민을 했음을 몸소 체감할 수 있다.
또한 프로젝트 중심으로 책이 진행되지만, 자연스럽게 유니티에 필요한 개념들을 담아내는 것도 좋은 부분이다. 공부하는 입장에서도 뭔가 직접 만들어보면서 배우는 것이 재미있고 의욕도 생기는데, 중간중간 흐름을 끊어서 개념을 가르치는 것이 아니라 각 프로젝트마다 적절하게 유니티를 이해하고 활용하는데 필요한 개념들을 적절히 배치하였다.
모두 일일히 찾아보진 못했지만, 이 책에서 다루는 범위는 유니티 에디터, C# 프로그래밍, 애니메이션, 백터 수학, UGUI, 머터리얼/라이팅/글로벌 일루미네이션, 디자인 패턴, 네트워크 등이다. 심도 있게 다루기에는 다양한 주제지만 개념을 이해하고 부족한 부분을 찾을 수 있도록 돕는데는 충분하다.
4. 이 책을 개정판 전에 따로 구입해서 공부를 했었고 지금 진행 중인 개인 프로젝트에 많은 도움을 받았다. 그리고 한빛미디어를 통해 개정판을 받을 수 있었는데 사실 엄청난 변화는 아니지만, 유니티가 지속적으로 버전을 업데이트하는 만큼 책도 업데이트가 되어 새롭게 접하는 사람들에겐 좋은 일이라 생각한다.
시중에 많은 유니티 책이 있고 다 장단점이 있겠지만 레트로의 유니티 게임 프로그래밍 에센스(개정판)의 가장 큰 장점은 폭 넓은 개념을 비교적 쉽고 자연스럽게 다룬다는 점에 있다. 단점이라면 책이 워낙 두꺼워서 컴퓨터 옆에 놓고 보기가 좀 힘들다는 것 정도가 될까.
유니티는 무척 매력적인 엔진이다. (개인이라면) 별도의 개발 비용이 필요 없고, 쉽고 직관이라 자신이 생각하는 것들을 비교적 쉽게 구현할 수 있다. 하지만 무엇이든 처음 시작은 어려운 법이다. 아무리 쉽고 직관적으로 만들어졌다고 하지만, 아무 것도 모르는 상태에선 코코스나 언리얼이나 유니티나 크게 다르지 않다. 사실 요즘은 유튜브나 블로그에서도 유니티를 잘 가르치는 곳이 많긴 하지만, 잘 정리된 커리큘럼으로 처음부터 끝까지 제대로 배워보고 싶다면 레트로의 유니티 게임 프로그래밍 에센스(개정판)가 좋은 선택이 되리라 믿는다.