게임 개발의 꿈을 안고 유니티 책, 그리고 C# 프로그래밍 책을 읽어 보신 분들 중에는 이런 의문을 가진 분들이 있을 것입니다.
“유니티 입문서와 C# 프로그래밍 책을 다 읽고 나면 뭐든 만들 수 있을 줄 알았는데, 왜 이리 막막하지?”
사실 이런 기분은 유니티를 배우기 시작한 분들이라면 거의 모두가 느껴 보았을 것입니다. 책을 보면서 예제를 따라할 때는 뭔가 이해가 된 것 같았는데, 책에서 다룬 간단한 예제를 벗어난, 조금 더 복잡한 게임을 혼자 힘으로 만들어 보려고 할 때는 막막해지는 것이죠.
사실 이것은 아직까지 전체를 볼 수 있는 힘, 다시 말해서 전체 구조를 어떤 식으로 설계해야 하고, 개별 클래스의 인스턴스들을 어떤 식으로 생성, 관리해야 하고, 또 이들이 어떤 식으로 서로 커뮤니케이션하도록 해야 쉽고 효과적인지에 대해 아직 감을 잡지 못해서 그런 것입니다.
게임 개발이라는 것은 건물을 짓는 것과 비슷합니다. 63빌딩이나 롯데월드 건물에 들어가 보신 적이 있다면, 건물 자체의 크기 뿐 아니라 그 구조의 복잡함에 대해서도 놀랄 수 밖에 없습니다. 도대체 사람의 힘으로 이렇게 복잡한 구조물을 어떻게 만들어 낼 수 있는지 감탄만 나오는 것이죠. 하지만 조금만 자세히 분석해 보면, 이 거대하고 복잡한 건물이라는 것이 결국은 “수 많은 작은 것들의 유기적 결합체”에 지나지 않다는 사실을 깨달을 수 있습니다.
예를 들어 건물 천장에는 붙어 있는 수 많은 전구와 형광등, 벽마다 설치되어 있는 전기 스위치, 화장실의 수도꼭지와 변기, 바닥을 덮고 있는 타일 등을 하나씩 개별적으로 뜯어 본다면, 이들 개개 구성물들의 구조는 건물 자체에 비해서 훨씬 단순합니다.
게임을 개발하는 작업도 비슷합니다. 완성된 게임은 정말로 복잡한 소프트웨어이지만, 이것을 만드는데 사용된 개별 게임 오브젝트들이나, 그 근본이 되는 클래스들 하나 하나는 매우 작고 간단한 구조를 가지고 있습니다. 따라서 이들을 어떤 식으로 만들고 결합해야 다루기 쉽고 관리가 용이한 지에 대한 설계 지식을 갖추는 것이 매우 중요합니다.
유니티나 C# 입문서를 읽을 때,우리는 각각의 클래스를 어떻게 만들고 사용하는 지에 대해서는 배우지만, 이들을 어떤 구조 속에 배치하고 관리할 것인가에 대해서는 배우지 않습니다. 입문서를 다 보고 난 뒤, 스스로의 힘으로 자신만의 게임을 만들고자 했을 때 막막한 이유가 바로 여기에 있습니다.
최근에 전자책으로 출간된 <미사일 커맨더를 통해 배우는 유니티 C# 스크립트 연습>은 바로 이런 막막함을 느끼는 분들을 위한 책입니다. 이 책에서는 유니티를 이용하여 ‘미사일 커맨더’라는 고전 게임을 만드는 가운데, 어떤 식으로 전체 구조를 설계하면 관리가 용이하고 다루기 쉬운 게임 아키텍처를 만들 수 있을 지에 대해 여러분들이 쉽게 감을 잡을 수 있도록 서술하였습니다.
실제로 책을 읽어 보시면 개별 클래스들은 각각 단순 명확한 기능만 수행하고, 이들이 컴포지션 루트(Composition Root)의 역할을 담당하는 게임 매니저를 통해 서로의 존재를 모르는 가운데에서도 문제 없이 커뮤니케이션을 할 수 있도록 설계한 것을 확인하실 수 있습니다.
이 책에서는 이 외에도 다양한 기법들을 소개하고 있지만, 어쨌건 이런 식으로 게임을 만들게 되면 흔히 말하는 ‘유지 보수성’ 높은 코드 작성이 가능해지고, 여러분이 새로운 게임 개발을 시작하기 전에 느꼈던 막막함이 많이 해소되는 것을 느끼실 수 있을 것입니다.
유니티와 C# 입문서를 다 읽기는 했는데, 다음 단계가 막막하신 이유를 어느 정도 알 것 같으신지요? 전체 구조를 설계하는 힘이 아직 부족해서입니다. 물론 한 두권의 책을 더 읽는 것만으로 능수 능란한 구조 설계를 하기는 어렵습니다. 그래도 <미사일 커맨더를 통해 배우는 유니티 C# 스크립트 연습>이라는 책을 시작점으로 삼아 기초를 다져 나가신다면 조만간 여러분이 느끼시는 막막함이 사라지고 어떤 새로운 게임 개발에 도전하시더라도 최소한 ‘할 수 있다’는 자신감을 가지고 시작하실 수 있을 것입니다.
만약 여러분이 제가 말씀 드린 그러한 막막함으로 고민 중이시라면, 주저 말고 지금 <미사일 커맨더를 통해 배우는 유니티 C# 스크립트 연습> 책을 읽어 보시기 바랍니다. 책에서 다룬 내용을 다 소화하실 수 있다면 아마 여러분의 앞을 가리던 안개가 걷힌 느낌을 받으실 수 있을 것입니다. 책에 대해 조금 더 알아 보고 싶으시다면 다음의 무료 ebook을 신청해서 읽어 보시면 됩니다.
더 공부할 자료 - 개발 능력 다양화를 위한 학습의 필요성
유니티 엔진의 대안으로서, 인디 개발자들에게 선풍적인 인기를 끌고 있는 엔진이 바로 고도 엔진입니다. 혹시 고도 엔진을 배워 보려고 하신다면, 다음의 온라인 강의를 체크해 보시기 바랍니다.