|
게임에 필수적인 요소 구현이 어려운 초보 개발자들을 위한 지침서 ![]()
게임을 직접 제작하다 보면 다른 게임에서 흔하게 했던 행동들이나 기능들이 막상 직접적으로는 구현하기 힘든 경우가 종종 있습니다. 이는 실력 문제가 아닌 직접 만들어보지 않아서, 기능 구현 자체를 어떻게 접근해야 할지 모르기 때문입니다.
그러한 사람들을 위해 만들어진 이 도서는 유니티 게임을 설계하는 초보 개발자의 관점에서, 각각의 디자인 패턴을 이용하여 예제 게임의 기능들을 하나하나씩 설계하며 지식 습득을 할 수 있도록 도와줍니다.
또한 책에서는 이 습득을 위해 예제로 레이싱 게임 제작을 선택했는데, 그 이유는 일관적인 프레임을 유지해야 하는 레이싱 게임은 코드의 효율성을 중시하게 되어 좀 더 좋은 프로그래머가 되기 위한 습관을 기를 수 있으며, 타 장르와 다르게 필수적인 게임 메커니즘이 적기 때문에 더욱 빠르게 구현하여 빠르게 습득할 수 있기 때문입니다.
책의 구성은 계단을 올라가듯이 단계별로 나누어져 있습니다. 앞의 2장에서 게임 기획과 C#과 유니티의 기능을 짧게 배우고, 그다음 장부터 레이스의 기초적인 구성요소인 카운트다운, 레이스 시작, 일시 정지를 위한 이벤트 버스 구현 내용 등이 정리되어 있습니다.
그 뒤로 게임 내적 부분인 오브젝트 풀 패턴을 이용한 게임 최적화, 무기 시스템을 위한 데 커 레이트 패턴, 오브젝트 관리를 위한 공간 분할 방법 등 필수적인 요소를 습득한 뒤, 마지막으로 게임에서 있으면 좋은 부가 기능인 옵저빙, 리플레이 구현까지 배울 수 있습니다.
그리고 이 책의 장점으로 생각되는 것이, 깃허브 링크와 실습 영상 내용을 제공하는 것과, 각 챕터 시작 부분에 이 패턴의 장단점을 설명하고 어떤 상황에 응용하면 좋을지 예를 제시해주고, 실습 뒤 만약 본인이 만드는 프로그램에 해당 패턴을 적용할 수 없으면 이에 대한 대안을 직접 추천해주기도 합니다. 이렇게 상황에 맞게 적용할 수 있는 추가적인 설계 방법도 배워갈 수 있습니다.
그래도 한 가지 단점 아닌 단점이 있는데, 유니티와 C#의 기능을 어느 정도 이해하고 있어야 하는 점입니다. 앞에서 말했듯이 한 장으로 잠깐 C#과 유니티를 간단하게 설명하고 본 내용으로 들어가는데, 깃허브와 아예 프로그래밍을 모르는 초심자일 경우, 내용을 배우는데 큰 애로사항이 생길 수 있기 때문에 이 점을 유의하셔야 합니다.
마지막으로 이 책은 절대로 정형화된 디자인 패턴이 아닙니다. 단지 이러한 방법으로도 개발자가 생각하던 방식을 구현할 수 있다는 것을 조언해줄 뿐이고, 그래서 오히려 정형화되지 않고 패턴을 응용하여 한번 다르게도 만들어보는 등 여러 가지 경우의 구현을 경험할 수 있어 개발 지식에 큰 도움이 될 수 있을 것입니다.
<< 이 글은 제이펍에서 책을 제공 받아 작성된 서평입니다. >> |
|
유니티에 대한 디자인 패턴에 대해 좀 더 깊이 있게 알고 싶어서 선택했던 도서이다. 유니티에 대해서도 잘 알고 있는 선에서 게임을 개발할 때 어떤 방식으로 디자인 패턴을 해야할지에 대한 가이드가 잘 되어 있어서 책을 선택할 때 차례를 보고 선택하기도 했다.
이 도서는 유니티와 C#에 대해서 기본적인 공부를 끝낸 독자를 대상으로 유니티 게임 개발에 적용 가능한 디자인 패턴을 설명하고 있다.
|
|
유니티로 만드는 게임 디자인 패턴 책을 보았다. 디자인 패턴 책은 시중에 많이 출판되어 있기 때문에 단순히 디자인 패턴이 궁금하다면 아무것이나 골라 봐도 되지만 이 책은 유니티에서 게임 구현에서 디자인 패턴이 어떻게 사용될 수 있는지를 염두에 두고 만들어 졌다고 볼 수 있는 것으로 보인다.
목차는 여러 파트로 나뉘어져 있고 나는 이중 절반 정도를 읽었는데 간단하게 싱글톤 패턴과 게임 매니저와 더불어 책 소개를 해볼까 한다.
단순할 수록 이해하기 좋고 응용하기 좋은 부분이 있다고 생각한다. 그런 의미에서 책에 쓰여 있듯이 '첫 번째 원칙은 단순함이야' 라는 대사는 시사하는 바가 크다고 생각한다. 물론 현대 과학에서 중요한 위치를 차지하는 것들 중 이해하기 어려운 것들도 있지만 할 수 있다면 최대한 간단 명료하고 단순하고 응용하기 쉽게 알려지는 것이 좋은 선택지라고 생각이 든다.
게임 매니저 클래스를 만들며 싱글톤 패턴을 이해하는 부분이 나온다. 싱글톤 패턴이 장점은 리소스나 서비스를 전역으로 사용 가능하고 인스턴스가 한 개임을 보장할 수 있다는 것이라고 생각한다. 게임 매니저 클래스를 통해 싱글톤을 설명하고 수명 주기도 보여주고 있다. 게임 매니저는 게임의 전역 데이터, 전역 규칙 같은 것을 담당하고 있기 때문에 싱글톤으로 관리하기 용이하다고 생각한다.
이상으로 제이펍에서 출판된 유니티로 배우는 게임 디자인 패턴 책의 리뷰를 마칠까 한다. |