레트로의 유니티 게임 프로그래밍 에센스 - 기술의 핵심을 이해하다 미분류

 이 글을 스는 때에는 사실 묘하게 바쁜 시간을 보내고 있습니다. 잠이 계속해서 부족한 상황이기도 하고, 동시에 해결 해야 하는 다른 일들도 계속해서 늘어나고 있는 상황이기도 합니다. 개인적으로 오미크론때문에 영화관을 가는 횟수를 줄이고 있긴 합니다만, 그 문제는 시간이 해결 해주리라는 생각을 더 하고 있는 상황이기는 합니다. 물론 그 전에 해결 해야 하는 문제가 있고 반드시 다 해결을 해내고 말리라는 생각도 있다 보니 최대한 일을 마무리 치려고 노력 하고 있지만 말이죠.

 그럼 리뷰 시작합니다.






 한 때 그래픽 디자인에 관해서 정말 다양한 이야기를 하는 지인이 있었습니다. 저와 상당히 악우로 유명했는데, 회사에 있으면서 디자이너로서와 개발자로서의 충돌이 뭔지 제대로 보여주는 사람이었기 때문이었습니다. 각자의 이해가 충돌하는 모습을 정말 여과없이 보여줬었죠. 기술자이다 보니 디자인에 관해서 정말 혼란스러워 하는 상황이었고, 디자이너였던 그 사람은 시스템의 내부에 들어가는 것에 관해서 이해를 할 때 정말 많은 설명을 요했던 상황입니다

 그런 양반을 다시 만났을 때, 자그마한 게임 회사에서 그래픽 관련 작업을 한다는 이야기를 들었습니다. 정말 많은 푸념을 늘어놓더군요. 친구 회사이고 단순 디자인 정도로 생각하고 들어갔다가, 팔자에도 없는 시스템 작업을 배워야 했다고 말입니다. 영원한 직업이 많지 않은 상황이다 보니 아무래도 이런 상황이 저에게도 얼마든지 벌어질 수 밖에 없다는 생각도 들었습니다. 그리고 결국 저도 어느 정도는 게임이라는, 그래픽과 프로그래밍이 동시에 필요한 매우 독특한 상황에 빠져버리고 말았습니다. 결국 두 상황을 모두 이해 해야 하는 상황이 된 것이죠.

 게임의 설계는 날이 갈수록 상당히 독특한 지점으로 흘러가고 있습니다. 거대 게임사들은 자신들의 게임 엔진을 개발합니다. 이 엔진을 통해 게임의 전반적인 구성을 모두 해내는 것이죠. 다만, 여기에서 자신들이 필요한 것들을 그 때 마다 변형 하는 식입니다. 그리고 시스템 파트별로 작업 하는 사람들도 분리 되어 있는 경우가 많은 편입니다. 이를 전체적으로 보는 사람들은 해당 프로젝트의 담당자 역할을 많이 하는 편입니다. 어쨌거나, 결국에는 게임은 기술이자 동시에 디자인의 념모를 모두 가져가는 상황이 됩니다.

 그리고 이에 관해서 이제는 게임 이상의 면모를 가져가는 경우도 많은 편이기도 합니다. 당장에 그래픽카드의 GPU 칩셋은 게임만 하는 것이 아니라 인공 신경만 연산에 관한 작업을 많이 하는 상황이기도 합니다. 동시에 게임을 개발하는 엔진들을 통해 그래픽 작업을 하는 경화사 마저도 생기는 상황이기도 합니다. 당장에 매트릭스 신작이 영화의 배경 생성 작업을 게임 엔진으로 했다는 이야기도 나온 상황이기도 합니다.

 게임의 엔진이 중요하게 다가오는 이유는 사실 간단합니다. 상황에 관한 상호작용을 기본적으로 그래픽으로 만들어내고, 그 반응에 관해서 어느 정도 시스템에 맡겨버리는 것이 가능하기 때문입니다. 결국에는 게임 만들기가 이제는 단순히 사람들이 즐겁게 뭔가를 즐기는 것만으로 가는 것이 아니라, 우리가 보고 듣는 것에 대한 작업을 좀 더 단순하게 만들기 위낳 도구로서 다가오는 상황이 되기도 하는 겁니다. 그리고 유니티 엔진은 이 특성을 다루기 상당히 쉽다는 점으로 인해 이야기가 많이 되기도 합니다.




 게임 엔진의 역사에 관해서 정말 다양한 이야기가 많은 편입니다. 당장에 게임 시스템에 관해서 오랫동안 들어왓던 분들은 어떤 게임 엔진이 어떤 게임의 기반이 되었고, 그 게임 엔진이 필요로 하는 기본 사양에 대한 이야기 역시 정말 많기 때문입니다. 다만, 당시에 게임 엔진은 그 자체로서 제품이라기 보다는, 일종의 기술 모음 툴로서 이야기 되면서, 이 엔진이 어떤 게임에 적용되는가에 대한 이야기만 많은 편이었습니다. 하지만, 시간이 지나가고 너무 다양한 시스템이 들장 하면서 이에 관한 통합 작업이 필요한 상황이 되었고, 결국에는 게임 엔진을 배우는 일이 중요하게 되엇습니다.

 당장에 핸드폰을 가지고 뭔가 시간을 보낸다고 하면 이제는 유튜브 보는 사람들이 정말 많긴 하지만, 게임을 즐기는 사람들도 굉장히 많은 편입니다. 그런데, 단순히 게임 뿐만이 아니라 게임 엔진들을 통해 여러 앱을 구성하는 상황도 되었습니다. 결국에는 게임 엔진을 배우는 일이 좀 더 확대 된 것이죠. 이 책이 그래서 나름대로의 중요한 면모를 가지게 된 것이 사실입니다. 말 그대로 상호작용을 끌어내는 작업에 관해서 게임 엔진을 사용하는 것이 나을 때도 있게 된 것이죠.

 다만, 개발용 책을 자주 보신 분들이라면 대략 대부분의 책들이 이느 정도 이미 개발자로서 다른 개발툴을 많이 봐 왔고, 이에 관해서 조금 발전한 기기라는 식의 이야기라 하면서 어물쩡 넘어가 버리는 모습도 자주 보셨을 거라는 생각이 듭니다. 실제로 많은 사람들이 아무래도 프로그래밍에 관해서 시간을 쓴 적이 있고, 이에 관해서 다양한 이야기를 하는 것은 가능합니다만, 프로그래밍을 안다고 하더라도 정작 언어가 바뀌는 경우도 볼 수 있기 때문입니다.

 이런 지점들에 관해서 많은 책들이 깨려고 합니다만, 기술자가 설명하는 지점들이 있다 보니 아무래도 한계가 많은 것도 사실이긴 합니다. 그만큼 기술자들만이 이해할 수 있는 이야기를 상다잏 다양하게 전달 하고 있기에 실질적으로 당장 이전에 어느 정도 기반을 이해하고 있던 사람의 경우에는 그래도 이 문제에 관해서 나름대로 좋은 결과를 내는 경우가 있는 편입니다. 하지만, 알긴 알아야 하는데, 시스템에 관해서는 알지 못하는 경우에는 상황이 좀 달라지는 것이죠.

 이 지점들에 관해서 많은 사람들이 이해를 못 하고 해당 시스템을 포기 하는 경우도 있습니다. 결국에는 퇴사로 이어지기도 하죠. 실무가 그만큼 무시무시한 부분이 있는 겁니다. 당장 일을 하는 사람으로서 일 하는 사람의 역할을 제대로 할 수 없다는 점은 그만큼 한계로서 작용할 수 밖에 없으니 말입니다. 이 책의 목적은 바로 그 상황에 처한 사람들에게, 상황에 관해서 나름대로 해석을 할 힘은 있지만, 시스템 자체는 다시 배워야 하는 상황에 들어간 사람들에게 위한 책이라고 할 수 있습니다.




 이 책에서 이야기를 전달하는 언어는 결국에는 C를 어느 정도 이해할 경우에는 이해가 쉬운 방식입니다. 사실 이 문제에 관해서는 다른 언어가 주요 작업 기반인 분들에게는 조금 미묘할 수도 있겠습니다만, 그래도 어느 정도 하드코어안 작업을 어느 정도 염두에 두는 분들이라면 알만한 언어라는 생각이 들기도 합니다. 실제로 저도 시스템 작업에 관해서 의외로 C 관련 언어들이 훨씬 더 강하게 작용하는 경우가 많았던 상황이기도 하고 말입니다.

 언어를 어느 정도 이해하고 나면 단게를 거쳐가면서 이야기를 이해하는 것이 정말 쉬운 편입니다. 사실 굉장히 다양한 어언어적인 면모를 강하게 드러내고 있기는 합니다만, 그 언어에 관해서 조금 생각을 해보면 결국에는 다른 시스템과도 얼마든지 연결 할 수 있는 상황이기 때문에 이 책에서 이야기를 전달하는 것이 매우 편하게 다가오는 편입니다. 여기에서 중요한 것은 각 단계의 설명에 관해서 개념이 어떻게 응용으로 넘어가게 될 것인가에 관해서 생각 하게 만들어주는 힘 역시 어느 정도 가져가고 있기에 더 매력적으로 다가오는 겁니다.

 이쯤 되면 문제가 전혀 없는 책처럼 설명이 되기도 합니다만, 사실 이 책은 이미 부피에서 상당히 파괴적인 면모를 보여주고 있다는 점에서 한게가 강하게 다가오기도 합니다. 그래서 분철을 할 수 있게 해줬다는 생각이 들긴 합니다만, 두 파트가 완전히 분리 되는 상황이 아니다 보니 아무래도 겨룪에는 두 권을 다 봐야 하는 상황이 벌어지는 것이죠. 이 문제로 인해서 아무래도 결국에는 부피가 한계가 되는 매우 기묘한 상황이 되었다고 할 수 있습니다.

 실무진에게 확실히 다가오는 책들 중에서도, 그 실무에 처음 뛰어드는, 비슷한 작업을 했었지만 유니티라는 시스템에 관해서 처음 알게 된 사람들에게 단비 같은 책입니다. 기본 설명이 매우 탄탄하게 진행 되는 편이며, 이 설명들에 관해서 좀 더 다양한, 그리고 좀 더 응용하기 쉬운 면모를 매우 확실하게 보여주고 있기도 합니다. 세세하게 설명을 하고 있기도 하기 때문에 한 시스템을 온전하게 사용하는 것에 관해서 매우 효과적으로 다가오는 책이라고 할 수 있겠습니다.



YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다.



예스블로그