‘인생 유니티 교과서’는 유니티 엔진을 이용해 게임 만드는 법을 소개하는 책이다.

표지

유니티(Unity)는 현재 가장 많이 사용되는 게임 엔진 중 하나다. PC 뿐 아니라 모바일, 콘솔 게임기 등 지원 플랫폼이 많고, 사용법도 비교적 간단하며, 개인은 퍼스널 판을 무료로 사용할 수 있어 부담도 없기 때문이다.

이 책은 그런 유니티로 게임 만드는 방법을 바닥에서부터 알려주는 일종의 입문서다.

게임을 만들려면 알아야 하는 게 많다. 게임이 무엇으로 어떻게 구성되어 있는지나 그것들을 구현하기 위해서는 유니티에서 어떤 기능을 사용해야 하는가 하는 것들이 그렇다. 게임에 걸맞는 세세한 동작을 제어하기 위해서는 코딩도 할 줄 알아야 하며, 유니티에 맞는 코드를 작성하기 위해서는 유니티 SDK의 API도 알아야만 한다.

작은 것 하나를 만들려고 해도 이렇게 알아야 할 정보량이 엄청나다보니 그것들을 책에서 하나하나 다 알려주는 것은 무리가 있다. 그래서 이 책에서는 반드시 알아야 할 기본적인 개념들만 집어준 다음에 실제로 간단한 게임을 제작해보면서 그때 그때 필요한 것들만 알려주는 식으로 책을 구성했다.

책에서 만들어보는 게임은 슈팅게임과 FPS게임이다. FPS 게임은 사실상 게임의 끝판왕이라고 할 만큼 고려해야할 게 많다. 과장을 좀 보태자면, FPS를 만들 수 있다면 다른 게임도 다 만들 수 있을 정도랄까. 그런 점에서 최종 개발 목표를 FPS로 잡은 것은 꽤나 적절한 것 같다.

그에 비하면 2D 스크롤 슈팅게임은 가장 간단한 게임 중 하나다. 그래서 이를 만들어보는 것이 유니티에 익숙해지고 기본기를 닦는데 좋은 연습이 된다.

작은 것을 일단 하나 만들어보고 좀 더 큰 것을 만드는 식으로 만든 것이 좋다. 게다가 본문도 하나 하나씩 보고 따라하는 식으로 만들었기 때문에 유니티는 물론 게임 제작에 전혀 지식이 없는 사람도 쉽게 따라갈 수 있는 편이다.

책에서 만들어보는 게임은 크게보면 둘 다 ‘슈팅’이라는 장르에 속한 것인데, 그래서 2D 스크롤 슈팅게임을 만들면서 익혔던 총알 발사나 충돌, 객체 관리 같은 개념이나 지식을 FPS 게임을 만들때도 그대로 유용하게 사용할 수 있다. 이런 점에서도 구성을 꽤 잘한 셈이다.

세부 설명도 나쁘지 않다. 기술적인 것에 개념 설명도 적당히 섞고 그림과 코드도 많이 사용해 이해하기 쉬운 편이다.

아쉬운 것은 잘못된 코드도 눈에 띈다는 거다. 이 책은 쉬운 설명을 위해 코드를 조금씩 증가시켜가며 여러번 실었기 때문에 중복해서 나오는 것도 많은데, 틀린 코드가 그렇게 중복된 곳에 모두 나와서 ‘대체 뭐지?’하고 한참을 보기도 했다. 예제 소스를 인터넷으로 공개해 받을 수 있게도 해놨으므로 나름 보완이 되긴 하겠다만, 책에도 좀 꼼꼼하게 동작검증된 코드를 실었으면 더 좋았겠다.