사실 나는 이 전에 이 책을 구입하려고 마음먹었었다.
우리팀 메리데브에는 전속 프로그래머도 있고, 개발도 잘하고 있고 딱히 사이에 문제가 있는 것은 아니지만.
그래도 내가 유니티로 간단한 게임을 개발할 수 있게 되면, 내 공부에 더 도움이 될 것 같다고 생각했다.
그래서 서점에 가서 유니티 관련 서적들을 둘러봤다.
개인적으로 책은 직접 보고 사는걸 좋아해서 일단 서점에 가서 책을 둘러보고 구입은 온라인에서 10% 할인받아서 사는 편이다.
유니티 관련 책들은 엄청나게 많기 때문에 일단 전부 서가에서 꺼내다가 쌓아 놓고 프로그래머인 지인에게 봐달라고 했었다.
그 중 한권이 바로 이 '유니티로 게임을 만드는 10가지 방법'이라는 책인데, 사실 이 책은 페이스북에서 먼저 봤다.
페이스북 한빛 페이지에서 먼저 봤고 책 내용이 좋아보여서 서점에 가서 한번 봐야지라고 마음먹었던 책이다.
프로그래머인 지인이 내가 쌓아 놓은 책들 중에서 1차로 현재의 유니티 버전과 맞지 않는 책들을 추려내고,
2차로 내용이 어려운 책들을 추려내고 남은 건 세권 정도의 책뿐이었다.
10가지의 실제 프로젝트와 스크립트를 보며 활용할 수 있고, 다양한 예제들을 직접 만들어 볼 수 있는 책.
책 내용이 디테일하게 잘 되어 있었기 때문에 이 '유니티로 게임을 만드는 10가지 방법'이라는 책을 구입하기로 마음먹었다.
집에가서 책을 주문하려고 하는데, 때마침 페이스북의 한빛 페이지에서 하는 '나는 리뷰어다' 이벤트를 보게 됐다.
기가 막히게 운이 좋았다라고 할까. 이벤트 대상 도서에 이 책이 있었다. 될지 말지 모르지만 일단 신청을 해봤는데 됐더라.
3월 10일 정도에 당첨 안내를 받았고 그 다음주에 책이 사무실로 배송되었다.
하지만 근래 벌어진 일련의 사건으로 나는 멘탈이 가루가 되어 있었기 때문에 멘탈회수 여행중이었기에 수령은 그 다음주가 됐다.
돌아와서는 개발일정에 치여서 책에 손도 못 뻗어봤고 저번주나 되어서야 책을 들춰보고 살펴볼 수 있었다.
서점에서 봤을 때보다 '내책'이 되었을때 읽는 책은 좀 더 편안하게 읽을 수 있게 되는데, 찬찬히 둘러보니 책 내용이 정말 좋았다.
이하는 지극히 주관적이지만, 내가 보았을 때 이 책이 왜 좋은지 위주로 서술을 한다.
'유니티로 게임을 만드는 10가지 방법'이라는 책의 표지.
최신 유니티5를 기반으로 하는 개정판으로 현재 버전과 같기 때문에 구버전의 유니티를 설치해야 할 필요가 없다.
개인적으로 이 책이 전문적인 개발서적을 많이 다루는 '한빛미디어'의 책이라는 점을 가장 높게 샀고,
두번째는 최신 버전이라서 이전 버전을 설치하지 않아도 된다는 점이었다. (현재 우리팀의 개발은 유니티5를 사용하고 있다.)
한권에 10개의 예제가 들어가 있고 그것도 각각 다양한 프로젝트가 들어있다는 점도 마음에 들었다.
표지디자인을 한 사람이 매우 센스가 있다.
네가 뭘 좋아하는지 몰라서 10개만 준비했어. 이 중에서 네 취향 하나쯤은 있겠지.
이게 매우 중요하다.
프로그래밍이든 뭐든 공부하는 과정에서 가장 중요한 것은 흥미를 잃지 않고 계속 하는 것. 그러려면 그걸 일단 좋아해야한다.
게임의 장르는 다양하고, 사람마다 좋아하는 장르가 있고 좋아하지 않는 장르가 있다.
혹은 좀 더 좋아하는 장르와 그저 그런 장르가 있겠지.
이왕이면 내가 만들고 싶었던 게임과 같은 장르의 예제로 공부를 한다는 것은 매우 큰 동기부여가 된다.
이 '유니티로 게임을 만드는 10가지 방법' 에는 무려 10가지의 프로젝트를 담고 있다.
클릭액션. 조각그림퍼즐. 도트잇. 3D사운드탐색. 리듬액션. 전방향스크롤슈팅. 블록퍼즐액션. 점핑액션. 롤플레잉. 레이싱.
어느하나 겹치는 것 없는 다양한 장르의 게임을 다루고 있다.
게임의 이름이 '유니티로 만드는 10가지 게임'이 아니라, '유니티로 게임을 만드는 10가지 방법'인 이유는,
이 10가지 프로젝트들을 다루면서 각 장르의 게임에서 요구하는 부분을 '구현'할 수 있게 하기 때문이 아닐까 싶다.
10가지의 프로젝트를 모두 만들어보고 코드를 단순히 복붙하는게 아니라 분석을 하고 공부를 하게 되면
비슷한 장르나 여기에서 배운 메카니즘을 사용할 수 있는 게임을 만드는 것도 충분히 가능해질 정도!
맨 앞에 있는 이 책의 대상 독자.
프로그램을 만들 수 있고, C#도 기본적인 내용은 알고 있으며, 유니티 사용법을 익혀 '혼자서 게임을 만들고 싶다'고 생각하는 사람.
그렇다면 프로그램을 만들 줄 모르고, C#도 전혀 모른다면?? 이라는 의문이 들 것이다.
나도 C#잘모르고 프로그램 만들 줄 모르지만, 이 책은 아주 상냥하게 유니티 사용법을 알려주고 있고
예제코드를 모두 제공하는데다가 책에 코드를 해석한 부분들도 상냥하게 설명되어 있기 때문에 막막한 일은 아니라고 생각된다.
적어도 나는 충분히 따라해볼만 하다라고 생각되었으니, 생초보가 이 책을 선택하는 것이 나름 좋은 선택이라고 생각한다.
책의 저자는 반다이 남코 스튜디오의 가토 마사키. 저자가 누구인지보다 중요한 점들은,
이 책의 샘플게임은 남코 개발진들이 업무 외 시간을 이용하여 만들었다는 점이다. 오로지 이 책을 위해!
본 업무 외에 샘플게임을 만들고 책을 썼으며, 그 소스코드를 공개하고 있다.
전문가가 시간을 들여 이 책을 위해서 만든 10가지의 게임 샘플.
소스코드는 물론 게임 자체도 제공하고 있기 때문에 분석하기 전에 직접 플레이 해보는 것도 가능!
보통의 책은 이것 이것을 이렇게 하면 됩니다. 짠! 참 쉽죠? 라고 하는데,
한빛미디어 웹페이지에서 본문의 소스코드를 확인하는 것은 물론, 유니티용 프로젝트 파일을 다운로드 받을 수 있고,
각 장에 따라 각 장에서 다루고 있는 게임 본체 외에 실험용으로 작성한 프로젝트도 들어 있다.
전문가의 소스코드를 직접 보고 분석을 하고 공부할 수 있는 기회를 제공해주고 있는 셈!
게다가 C#스크립트와 3D모델, 2D그림, 애니메이션, 사운드 등의 에셋을 상용과 비상용 구분하지 않고 자유롭게 재배포할 수 있다.
에셋스토어나 그외 스토어에 에셋을 올려 판매하는 것은 금지한다.
상식적으로 자기가 만든 게 아닌 걸 팔아서 이익을 취하면 고소 각이다.
책의 앞에서 라이센스 범위를 밝혔는데 몰라서 그랬다라고 변명할 여지도 없으니 주의하자.
에셋을 상용, 비상용 구분 없이 자유롭게 사용하고 재배포해도 된다는 것은,
이 스크립트와 리소스로 다른 게임을 만들거나 판매해도 된다는 이야기다.
예제 스크립트를 응용해서 다른 게임을 만들 수도 있을 거고, 리소스를 가져다가 다른 게임을 만들 수도 있을 거다.
혹은 제작한 다른 게임에 사운드를 가져다가 쓸 수도 있다.
다만, 라이센스가 허용한다고 하더라도
예제로 나와있는 게임을 그대로 스토어에 올려서 판매하는 건 '개발자'로써 자제했으면 좋겠다.
우리는 '게임'을 만들고 싶은 개발자이지, '돈을 벌고 싶은데 그 수단이 게임'인 사람이 되면 안된다고 생각한다.
자신의 게임을 만드는데 이 에셋을 활용할 수 있지만, 이 에셋을 가져다가 자신의 게임인척 하면 안된다는 거다.
개발자의 최소한의 양심과 자존심은 지켰으면 좋겠다는 작은 바람이다.
나는 유니티를 켤줄도 몰라. 프로젝트 생성은 어떻게 하는 거지??
그런 것 하나 하나를 귀찮게 책에서 다룰까 싶지만 다루더라.
게임 오브젝트를 불러오고 설정하는 방법을 그림을 통해 아주 상세하게 다룬다.
글자나 스크린샷만 있는 서적보다 그림을 통해 이해시키는 부분이 많기 때문에 다른 책에 비해 이해하기 쉽게 되어 있었다.
심지어 새로운 프로젝트 생성하는 방법까지 그림으로 친절하게 알려주며, 프리팹 사용법도 다룬다.
유니티는 C#과 자바스크립트로 다룰 수 있는데 그 차이점에 대해서도 상세하게 기술하고 있다.
'유니티로 게임을 만드는 10가지 방법'의 첫번째 예제인 클릭액션게임 '도깨비'다.
홈페이지에서 제공하는 소스코드를 열어볼 수 있는데, 책에선 각각의 소스코드가 어떤 역할을 하는지.
왜 이 부분이 필요한지에 대해서 상세하게 기술되어 있다.
이것이 위에서 내가 'C#'을 할 줄 몰라도 이 책으로 공부하는데는 큰 무리가 없어보인다고 말한 이유다.
정말 이 책은 '왜' 그렇게 해야하는지에 대한 설명이 너무 잘되어있더라.
전에 내가 기획한 적이 있었던 장르인 3D 사운드 탐색 게임. 이 책에서 이 게임을 보게 되니까 무척 반가웠다.
역시나 이 챕터도 그림을 통해서 상냥하게 설명해주고 있다.
게임을 만들고 싶어하지만, 게임 개발에 대해서 잘 모르더라도 '왜' 이렇게 되는지 이해할 수 있게 되어 있달까.
개인적으로 이 책은 '유니티'를 공부하고 싶어하는 '기획자'에게도 좋은 책이라고 생각했다. (나처럼)
게임의 장르대로 각 10개의 챕터를 만든 것 같지만, 책을 읽어보면 난이도 순으로 목차가 배열된 것 같다는 생각이 든다.
하지만 각각의 챕터는 독립적이기 때문의 앞의 프로젝트를 먼저 만들어보아야 뒤의 프로젝트를 할 수 있지는 않다.
그러니 자신이 가장 좋아하는 장르, 만들어 보고 싶은 장르의 프로젝트를 먼저 공부해 보는 것도 좋다.
공부는 흥미를 잃으면 재미가 없어지고, 흥미를 유지하기에는 좋아하는 게 최고니까.
가장 마음에 들었던 챕터는 아래의 점핑 액션 게임 - 고양이 미닫이문이다.
기분 좋은 점프라는 아이디어 메모도 그렇고, 캐릭터의 스텝 관리나 점프 높이 컨트롤이라던가 충돌판정 등
프로젝트의 개발 과정을 상냥하고 세세하게 다루고 있다.
스탭의 전이에 대해서 이해하기 쉽게 그림으로 표시를 해두었다.
문자로 설명을 하더라도 게임개발 경험이 있고 기획 경험이 있으면 이해할 수 있지만,
초보자는 쉽게 이해하기 힘들수도 있는 부분인데 설명이 잘 되어 있다.
간혹 이 부분을 간과하면 UX가 엉망인 게임 기획이 나온다.
한 조작이 되도록 점프하는 높이를 컨트롤 하는 것에 대한 내용도 들어있다.
이 부분에서 나는 정말 이 책에 감탄했다.
서점에서 훑어 보았을때는 현업 프로그래머 지인이 '이 책 괜찮다' 라고 말해주었고,
집에서 꼼꼼히 읽은 후에도 '이 책 참 괜찮다' 라는 생각이 들었다.
정말 상냥하고 친절하며 흥미를 잃지 않고 공부를 할 수 있게 만들어 놓은 책이다. 시간과 열정만 있다면!
자신의 아이디어를 형상으로 구현해 내는 것.
나는 그런 면에서 프로그래머를 존경하고, 그들을 '신'으로 호칭한다.
존재하지 않는 것을 존재하게 만든다니. 그리고 유니티의 힘을 빌어 자신이 그런 사람이 된다니 멋지지 않은가??
직접 게임을 구현해 내는 것은, 아마도 그 게임의 아이디어를 내고 기획을 한 것보다 더 뿌듯한 일 일거라고 생각한다.
나와 같은 기획자들이, 게임을 만들고 싶은 사람들이 이 책을 꼭 보았으면 좋겠다.
이 책은 정말 좋은 책이다.