이제껏 게임을 한 번도 짜보지는 못했지만, #프로그래밍 배우기 시작한 초기부터 지금까지 꼭 한 번은 내가 짠 스토리와 아이디어, 캐릭터 등을 고스란히 담은 게임을 만들고 싶다는 생각은 변함없다. 그래서 드문드문 틈이 나면, 게임 관련 책을 보곤 했는데, 잊을 만하면 보다 보니, 머리에 남은 게 그리 많지 않고, 항상 리셋이 되는 느낌이다. 그런데 게임은 아니지만, 앞으로 프로그램 개발에 쓸 일도 있고 해서, 미리 공부하는 차원에서 다시 #유니티 책을 보게 되었다.
#유니티엔진, 유니티 #UNITY 이란 단어는 #게임개발 에 관심이 있는 사람이면 다들 잘 알 것이다. 그만큼 게임 프로그램에 특화된 막강한 성능의 툴이다. 유니티 엔진은 PC, 윈도우, 리눅스, 애플, 모바일, 콘솔 등 다양한 플랫폼을 지원하고, 게임 개발에 쓰이는 밑바닥 코딩의 수고를 덜어, 게임 개발 초보도 쉽게 만들 수 있고, 좀 더 스토리에 집중해서 만들 수 있게 돕는다.
나 역시 게임에 관해서는 #초보자 와 마찬가지다 보니, 전반적으로 유니티를 다시 공부할 필요가 있어, 대학에서 #교재 로도 사용되고 있고, 시중에 평가가 좋은 '레트로의 유니티 게임 프로그래밍 에센스'를 보게 되었다. 이 책은 올 초에 나와 유니티 2021, 2022 최신판의 내용을 담고 있고, 깃허브를 통해 주기적으로 유니티 버전 업그레이드에 따른 변화된 내용을 그때 그때 반영하고 있다. 최신 버전 반영이 중요한 이유는 구 버전으로 된 책으로 공부하다 보면, 버튼 찾다 시간 낭비할 수 있고, 예제 코드가 제대로 작동되지 않을 수 있기 때문이다. 전에 이런 경험을 여러 번 해봐서, 나 역시 잘 안다. 초보 입장에서는 더욱 혼란스럽고, 원인을 몰라 당황하게 만들어, 유니티 공부의 의욕을 떨어트릴 수 있다. 그러므로 #레트로의유니티게임프로그래밍에센스 개정판이 그런 문제를 줄일 수 있는 것이다.
'레트로의 유니티 게임 프로그래밍 에센스'를 처음 접하게 된 사람들은 찾아보기 포함 1071쪽에 달하는 두꺼운 두께의 책 부피에 이걸 언제 공부하나 걱정이 될 수도 있다. 나도 책을 들고서는 이거 베개로 딱인데 하는 생각을 했다. 하지만 그만큼 유니티에 관한 많은 것을 배울 수 있다는 소리다. 실제 이 책을 보면서, 유니티 전반을 꿰뚫어 설명하는 내용들에 괜히 흥분감도 들었다. 모르는 것을 알게 되면서 생기는 그런 희열 말이다.
이 책 한 권으로 유니티와 C#을 다 익힐 수 있다. PC 프로그램 외에 안드로이드와 iOS 모바일 빌드 하는 방법도 나오며, 게임 인공지능 AI를 다루는 부분도 배운다. 네트워크를 사용하는 멀티플레이어 게임도 익히게 된다.
총 4가지 게임을 만들며 유니티를 배우는 데, 간단한 슈팅게임부터 시작해서, 닌텐도 마리오처럼 점프하고 달리는 게임, 총을 쏴서 좀비를 맞추는 게임, 좀비 서바이벌 게임을 하게 된다. 게임들이 현재도 가장 많이 사랑받는 유형들이라, 게임 개발에 기본을 배우는데 도움이 되는 것들이다.
그리고 부록편에는 추가 콘텐츠를 유연하게 관리하고 배포하는데 쓰이는 어드레서블 시스템이 큰 비중으로 다룬다. 어드레서블 시스템은 솔직히 처음 보는 것인데, 어떻게 사용해야 하는지 아직 제대로 표준화되어 있지 않은 것을 저자가 전문가로서 구체적인 가이드를 제시하고 있기까지 하다.
그러고 보니, 게임에서 빼놓을 수 없는 것이 수학의 벡터다. 중고딩들이 수학 배워서 어디다 써먹냐는 소리를 많이 하는데, 너희들 좋아하는 게임에 쓴다고 말하면 딱이다. 학창 시절 배운 수학과 물리 다 쓰이고, 이젠 인공지능까지 많이 쓰이게 되었다. 벡터에 대한 이해는 중요하므로 역시 책에서 다루고 있다.
'레트로의 유니티 게임 프로그래밍 에센스'는 확실히 두꺼운 값어치를 한다는 책이다. 이 많은 것들을 책에 다 담은 것을 보면, 이제민 저자는 욕심이 많거나, 완벽주의자인지도 모르겠다. 저자에 대해서 잠깐 소개하면, 유니티 코리아의 인증을 받은 유니티 마스터이며, 강의 플랫폼 유데이에서 평점과 판매량도 가장 높은 한국어 강의로 알려져 있는 실력 있는 분이다.
이렇게 많은 내용을 다루니 어렵지 않을까 지레짐작할 수 있는데, 보면 알겠지만, 겁먹을 필요 없다. 초보와 비전공자를 위해 많은 부분 풀어 해설하고, 그것도 안되면, 700장 이상의 그림이나 일러스트로 설명을 하고 있고, 유니티 에디터 곳곳을 캡처하여 과정별로 보여주고 있어서, 중고등학생도 이해하는데 어렵지 않을 것이다.
유니티에서는 스크립트 언어로 C#을 쓰고 있는데, C#을 이미 쓰고 있는 분은 더욱 쉽게 접은 할 수 있기는 하지만, 그렇다고 자만해서는 안된다. 나 역시도 C#을 주력으로 쓰고는 있지만, 유니티를 배울 때는 스크립트 코딩도 중요하지만, 공부할수록 능숙하게 유니티 에디터 사용할 수 있어야 한다는 생각이 든다. 그렇게 되기까지 책을 보며 많은 연습이 필요할 것이다. 눈으로만 봐서는 안된다. 개발자에게 백문이 불여일타라는 소리가 있듯이 키보드로 직접 쳐봐야 제대로 알 수 있는 것이다.
'레트로의 유니티 게임 프로그래밍 에센스'가 유니티 전반을 꿰뚫고 있다 보니, 부피가 두껍다고 말했는데, 아주 고맙게도 가운데를 쪼개면 2권으로 나눠 가지고 다닐 수 있게 제본이 되어 있다.
게임 개발에 유니티 엔진이 유명하지만, 최근에는 #가상현실 이나 #증강현실 에서도 사용되고 있고, 이젠 #메타버스 까지 그 영역을 넓히고 있는 중으로 알고 있다. 날이 갈수록 유니티의 활용 영역이 넓어지고 있는 것이다. 게임 개발자를 꿈꾸는 분뿐만 아니라, 좋은 아이디어를 가지고 있는 분에게는 유니티가 좋은 기회가 되어 줄 것이다.
이번 '레트로의 유니티 게임 프로그래밍 에센스'를 통해 유니티에 관한 많은 것을 알게 되었다. 책 내용이 단순한 사용법 위주가 아니라, 유니티 개발 환경 전반에 대한 개념 이해를 돕고 있어, 기초 개념을 확고히 잡을 수 있었다. 이 책이 왜 소문난 명강의 시리즈에 들어 있는지 느낄 수 있었다. 유니티를 배우고자 하는 분에게 강력히 추천하는 #유니티교재 다.