레트로의 유니티 게임 프로그래밍 에센스 - C#으로 배우는 입문부터 4가지 게임 제작까지(Unity 2021/2022 호환, 부록: 어드레서블 시스템, 2022 버전 호환 가이드 별도 제공), 개정판 소문난 명강의
이제민 지음 / 한빛미디어 / 2022년 2월
평점 :
장바구니담기




한동안 많이 바쁜 관계로 도서 서평/리뷰를 신청하지 않고 있다가 약간 숨통이 트인 관계로 리뷰어 신청을 했다.
감사히도 2022년 한빛미디어의 리뷰어로 선정이 되어서 매달 원하는 책 3권 중 한권을 지원받아 리뷰를 할 수 있게 되었고, 올 해의 첫 번째 리뷰 도서로 '레트로의 유니티 게임 프로그래밍 에센스 (개정판)'를 리뷰할 수 있게 되었다.

 

이미 유니티 분야에 있어서 베스트셀러인 이 책이 최신버전의 유니티를 반영해서 개정판으로 출간 되었기에 더욱 기대가 되었다.

 

일단 책을 받아보고 든 생각은 '오, 두께가 엄청나군?!' 이었다.
그도 그럴것이 마지막 페이지가 1071페이지이며, 책이 너무 두꺼운 관계로 분철이 가능하도록 2권이 묶여있는 책이었기에...+_+;

 

 

전에 게임 프로그래밍을 해본적은 없지만 오랜 기간동안 여러가지 언어로 웹 및 서버 개발을 해왔던터라 프로그래밍 파트에 대한 부담감은 없었고, 유니티라는 새로운 개발 환경에 적응하는 것이 관건이었다. 일반적으로 포토샵이나 일러스트레이터의 경우 2D 이미지 편집 툴이기에 익숙했던 반면 유니티는 3D를 커버해야했기에 X, Y가 아닌 Z 축에도 익숙해져야 하는것이다.
(물론 유니티에서 2D, 3D 모두 개발이 가능하지만 3D가 또 묘미이니까..ㅎㅎ)

책을 앞부분부터 차근차근 따라하다보니 앞서 가졌던 3D 라는 공간에 대한 부담감은 일단 조금씩 사라졌다. 그냥 예제가 흘러가는대로 수치를 입력하고 해당 수치가 오브젝트에 어떤 영향을 미치는지 확인하면서 진행하니 금방 익숙하게 되었다.

 

------------------------------------------------------------------------------------

 

언제나 그렇듯 책을 받고 처음 본 것은 저자 서문도 아니고 추천사도 아닌 목차를 보았다.
목차를 보면 대략 어떤 흐름으로 책의 내용이 진행되는지 손쉽게 알 수 있기에.


 

 

목차를 보고 든 생각은 하나부터 열까지 정말 디테일하게 쓰여진 책이구나 하는 것을 느낄 수 있었다. 유니티가 무엇인가 하는것부터, 개발 환경 세팅, 인터페이스에 대한 설명, 엔진의 동작원리 등 기본적인 내용들을 시작으로 유니티의 개발 언어인 C#의 기초문법, 오브젝트 제어하기 와 같이 기초적인 내용들이 초반부에 약 200여 페이지에 걸쳐 배치되어있다.

 

그 이후에는 실제 프로젝트를 클론해보며 실제 게임 제작에 필요한 스킬들을 익혀가는 내용들이 있고 중간중간 벡터에, 공간과 움직임 등 공간에서 오브젝트들을 제어하는데 필요한 수학적인 내용들을 공부할 수 있다.

 

후반부의 고급진 내용들이 특히나 마음에 들었는데, 단순히 싱글플레이가 아닌 멀티플레이어 게임을 제작하는 튜토리얼이 있었는데 가장 빨리 학습하고 싶은 장이었다. 하지만 앞단의 기초가 없이 따라하는 것은 비효율적이므로 빠르게 앞의 내용들을 끝내고 네트워크 플레이 부분을 학습하기로 했다.

 

책의 초반부는 가볍게 슬슬 넘기며 읽을 수 있었다.
많은 개발자들이 그렇듯이 IDE는 설치나 세팅이 비슷비슷하기에 개발환경 세팅부분은 대충 보고 넘기는 경향이 있는데, 개발 환경 세팅 부분을 보면서 감탄을 했다. 이 부분을 이렇게까지 자세히 설명한다고..?

 

모든 과정을 단계별로 스크린샷과 함께 친절하게 설명하고 있기에 개발 입문자들이 따라하기에도 너무나 쉽게 구성되어 있고 NOTE나 주석 부분에는 좀 더 디테일한 부가적인 내용들을 명시해두어서 작은것 하나라도 더 알려주려는 저자의 배려가 돋보였다.

 

개발자의 입장에서는 더욱이나 아는 내용들은 슬슬 넘겨가며 볼 수 있어서 빠른 호흡으로 책장을 넘길 수 있고, 특히나 C#문법 부분은 그냥 건너뛰고 본인이 주로 사용하는 언어의 문법과 다른 부분만 그때 그때 참조하며 보면 되기에 좀더 편하게 진도를 나갈 수 있다.

 

튜토리얼에 필요한 내용들을 하나씩 쌓아 나가는 느낌이고 챕터별로 난이도의 편차가 심하지 않고 무난기 계속 올라가는 느낌이랄까? 중간중간 필요한 개념들은 지속적으로 설명을 해 주기에 공중 급유기의 급유를 받으며 지속적으로 비행하는 전투기의 느낌을 받았다. (ㅋㅋ)

 

책의 마지막 부분의 네트워크 게임 제작부분은 가장 흥미롭게 진행했던 부분인데, 멀티 플레이어 게임 제작 시 게임 서버의 종류, 플레이어 데이터의 동기화, 네트워크 권한분리, RPC 등의 흥미로운 내용들이 이미지와 함께 알기 쉽게 설명되어있고, 책 전반적으로 모든 코드에 주석이 심각할 정도로 잘 달려있어서 정말 편하게 튜토리얼을 진행할 수 있었다. (코드 반 주석 반?!)

 

이 책의 튜토리얼을 따라하면서 가장 좋았던 것은 유니티를 사용하여 프로젝트의 A to Z를 함께 해볼 수 있다는 것 뿐 아니라 튜토리얼에 나오는 각종 기능들을 실제 자신의 프로젝트에 바로 적용해서 써먹을 수 있다는 점인 것 같다. (바로 실무에 적용 가능한 스킬을 얻을 수 있다!)

 

책을 보기 전에는 유니티를 이용하여 어떻게 게임을 만들 수 있을까 하는 생각이 들었다면, 책을 마무리 지은 시점에 드는 생각은 이 아이디어는 이렇게 구현해볼 수 있겠군! 이라는 자신감이 든다.

 

유니티로 게임 개발을 해보고 싶은 입문자 그리고 기존에 어떤 분야가 되었든지 개발을 하고 있는 현직 개발자 모두에게 도움이 될 수 있는 좋은 책인 것 같다.
때로는 무기로도 쓸 수 있다는 점에 1점 더..ㅎㅎ

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Do it! 점프 투 장고 - 파이썬 웹 개발부터 배포까지! Do it! 시리즈
박응용 지음 / 이지스퍼블리싱 / 2021년 1월
평점 :
장바구니담기



점프 투 플라스크 서평을 마무리 하고 얼마 되지 않아 점프 투 장고 서평단을 진행하게 되었다.

두 서저 모두 박응용님께서 쓰신 책으로써 서로 다른 프레임워크이지만 같은 기능을 만드는 내용을 담고 있어서 각 프레임워크 간의 차이를 쉽게 비교해 볼 수 있어서 좋은 시간이었다.


이 책에서는 Pybo라는 이름의 질문/답변 웹 서비스의 기능을 처음부터 끝까지 직접 코딩하며 구현하는 내용을 다루고 있으며 해당 기능은 실제로 저자님이 운영중이신 pybo.kr 에서 운영중이다.


난이도는 웹 서비스 개발에 초보적인 사람도 충분히 소화할 수 있는 정도의 난이도로써 html이나 css, javascript에 대해 전혀 모른다 해도 책의 내용대로 타이핑하면서 따라가기만 한다면 또 다른 나만의 pybo를 완성하고 AWS의 lightsale에 배포까지 할 수 있다.
(물론 프레임워크 특성 상 코드 몇 줄로 복잡한 기능들을 구현 해주는 매직들이 많이 숨어있어서 초심자의 입장에서는 따라 하니까 되긴 하는데 왜 이렇게 되는거지? 하고 찝찝한 마음이 들 수도 있다. 어쨋거나 이 책은 프레임워크를 속속들이 파헤치는 것이 목적이 아니라 전반적인 내용들을 이렇게 따라 하다 보니 내가 할 수 있구나! 하는 자신감을 심어주는 책이기에...)


파이썬 언어를 사용하는 프레임워크이니 파이썬에 대한 이해가 어느정도 있는 상태라면 좀 더 따라가기 쉬울 것이고, 웹개발의 기초, 서버에 대한 지식 여하에 따라 독자가 느끼는 난이도는 모두 다를듯 하다. (박응용님의 점프 투 파이썬 강추 ㅎㅎ)


책의 흐름은 여느 개발 서적이 그렇듯이 개발 환경 세팅부터 시작한다.
파이썬을 설치하고, 장고 개발 환경을 준비하고 프로젝트 생성부터 개발서버 실행까지를 1개의 장으로 구성했고, 2장부터는 본격적으로 프레임워크에 대해 알아본다.


2장에서 주소의 routing, 데이터 모델, 장고 Admin, 부트스트랩과 템플릿 등에 대해 설명하고 있는데 장고 Admin은 정말 놀라웠다. 생성한 모델에 대해서 별도의 기능 개발 없이 CRUD가 가능했다. 가령 게시판 모델을 만들었다면 별도의 작업 없이 장고 어드민에서 플라스크를 공부할 땐 느껴보지 못한 편의성이었고, Admin에서 생성한 모델에 데이터를 CRUD 기능을 별도의 개발 없이 이용 가능한게 정말 편리했다.
(검색을 해보니 플라스크도 flask-admin이라는게 존재했고, django-admin과 같은 기능을 한다.)


3장에서는 회원가입, 로그인 및 로그아웃 기능 추가, 게시판 기능의 점진적 고도화를 다루고 있다. 회원 인증 관련 기능은 django.contrib.auth 앱을 이용하여 간편하게 구현할 수 있다.


4장에서는 코드를 효율적으로 관리할 수 있게 해주는 Git의 사용법에 대해 간략히 다루고 있고, 내가 만든 서비스를 세상에 널리널리~ 알리기 위해 AWS lightsale 에 배포하는 법을 아주 친절하게 설명하고 있다. AWS 가입부터 lightsale 인스턴스 생성, 서버 운영환경 세팅 등을 자세히 알 수 있고 서버/개발 환경을 위한 세팅 분리, nginx를 이용한 reverse proxy, 로깅 적용 및 도메인 연결, PostgreSQL 적용까지 전체적인 배포/운영/관리 내용을 다루고 있다.


요즘같이 시간에 쫒기고 바쁜 시대를 살아가는 와중에 보다 빨리 웹 개발 및 배포에 대한 감을 잡고 싶은 독자에게는 가뭄에 단비 같은 책이라고 생각한다. 개인의 사전 지식에 따라 시간의 차이는 있겠지만 어쨋든 믿고 따라하면 어느새 내가 직접 타이핑 해서 개발 한 Pybo가 웹에 공개되어 있을테니 말이다. (저자가 Github를 통해 모든 소스코드를 제공하고 있지만 왠만하면 직접 타이핑 하기를 권한다. 머리는 잊어도 손은 기억한다...)


회원관리 + 게시판을 직접 구현할 수 있으면 대부분의 기능들을 구현 할 수 있다.
어쨋든 개발이란게 상태에 대한 분기 처리, 데이터 저장과 조회를 조합하여 원하는 기능을 구현하는 것이고, 아무리 복잡한 기능의 방대한 프로그램이라도 단순한 기능들이 점점 추가되어 그 덩치가 커져 가는것이니 말이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Do it! 점프 투 장고 - 파이썬 웹 개발부터 배포까지! Do it! 시리즈
박응용 지음 / 이지스퍼블리싱 / 2021년 1월
평점 :
장바구니담기


웹 개발 초심자가 손쉽게 따라해볼 수 있는 친철한 장고 길라잡이 (파이썬에 대한 기본 지식이 있으면 더 좋음)

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Do it! 점프 투 플라스크 - 파이썬 웹 개발부터 배포까지! Do it! 시리즈
박응용 지음 / 이지스퍼블리싱 / 2020년 11월
평점 :
장바구니담기



이지스 퍼블리싱의 Do it! 시리즈..

이번엔 Python의 프레임워크중 하나인 Flask의 책을 리뷰하는 서평단에 참여하게 되었다.


위키독스 운영자이신 박응용 님의 저서로써 '점프 투 파이썬'을 시작으로 최근 '점프 투 플라스크' 및 '점프 투 장고'를 출간하였다.


일단 책을 받기 전에 약간(만) 알아본 바에 의하면 플라스크는 뺄 것은 빼고 핵심만 포함한 심플하게 구성되어있는 micro framework로써 필요에 따라 다른 라이브러리들을 붙여가며 사용이 가능하다고 한다. 타 프레임워크들이 이것저것 모든 기능을 다 가지고 있어서 덩치가 크고 무거운 것에 비하면 말이다.


책을 배송받고 처음 마주한 순간 첫 느낌은 딱 이랬다.

"이렇게 얇다고...?"


보통 개발 관련 서적의 절반 정도 두께여서 이렇게 얇은데 기초부터 회원 인증 기능까지 있는 게시판을 단계별로 만들어 갈 수 있다는 점에서 놀랐다.

물론 이 책은 기본적으로 HTML / CSS / JS에 대해 약간의 기본지식이 있는 상태에서 봐야 큰 무리 없이 진행이 가능하다.




목차를 보니 있을 내용은 다 있었고, 책 내용을 대략 훑어보니 음.. 이래서 얇았군? 하는 생각이 들었다. 그만큼 사용하기 간결하고 익숙해지면 더없이 편리할 구성이었다.

이래서 사람들이 파이썬 파이썬 하는군? 하는 생각이 든다.


사실 처음 파이썬 코드를 봤을 때 뭔가 체계가 없어보인달까..?

좀 와일드 해보였다 그냥 개인적인 느낌이 그랬다는...

근데 쓰다보니 이렇게 편한게 또 없다...ㅎㅎ

이전까지 개인 프로젝트는 nodejs로 진행을 했었는데 새로운 프로젝트에는 플라스크를 사용해봐야겠다는 생각이 들었다.


문법적인 사항들은 여타 다른 언어들과 크게 다를바가 없어서 파이썬 자체를 익히는데는 문제가 없었고, 처음 개발에 입문하는 분이라면 파이썬을 우선적으로 공부하면 좀 더 이해하기 쉬울 것이다. 물론 파이썬에 대해 전혀 몰라도 그냥 따라서 타이핑 해보고 결과물을 보면서 진행하면 개인차는 있겠지만 자연스레 깨우치게 될지도 모르겠다.


순서대로 따라하다보면 어느새 템플릿 사용법 및 route 기능 사용법 등 플라스크의 원리와 기능들을 익히게 되고 챕터가 진행함에 따라 앞 챕터의 내용을 점점 개선시켜가며 최종 결과물을 완성시켜가는 진행 방식이 참 괜찮은 것 같다.


단순히 게시판 기능 개발만을 포함하고 있다면 아쉬울 법한 책의 내용에 Git을 이용한 버전관리 및 AWS lightsail을 이용해 실제 운영 환경에 배포하는 방법 및 팁들도 다루고 있어서 이 책 한 권으로 본인이 원하는 웹 애플리케이션을 만들고자 하는 사람에게는 입문하여 배포까지 익히기에 더할나위 없이 좋은 책인 것 같다.


한 가지 아쉬운 점은 개발 환경 세팅 및 진행 과정이 Windows 환경에만 맞춰져 있어서 기타 Linux나 OSX 환경에서 개발을 하려는 사람에게는 진행에 있어서 약간의 불편함이 있다.

(물론 구글링을 통해 금방 해결 가능한 문제들이긴 하지만 그건 기존 개발 하던 사람들 이야기이고.. 아예 처음 입문자의 경우 개발환경 세팅부터 막힐 수도 있겠다는 생각이 든다. 웹사이트나 영상 강의를 통해 보완되었으면 하는 부분이다.)


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Do it! 프로그레시브 웹앱 만들기 - 반응형 웹 개발부터 하이브리드 앱 배포까지 PWA 완전 정복! Do it! 시리즈
김응석 지음 / 이지스퍼블리싱 / 2020년 8월
평점 :
장바구니담기



서버 개발자로써 Backend를 주로 개발하다보니 항상 Frontend에 목마르다.


기존에 공부했던 Vue.js에 Vuetify로 날개를 달아줄 수 있었고, 개념만 알고 있었던 Progressive Web App 을 JS로 직접 구현해봄으로 구조와 원리를 이해할 수 있었고, 그 후에 프레임워크를 이용해 실전 기능들을 구현해봄으로 전반적인 이해도를 높일 수 있었다.


이 책의 챕터는 총 17장으로 구성된 전체 내용 중 1장은 PWA가 무엇인가에 대한 개념적인 설명들을 하고 있으며, 2장에서는 모던 자바스크립트에서 가장 중요한 핵심 내용들을 간추려서 설명하고 있다.


자바스크립트도 정석대로 배우자면 레퍼런스만 수백페이지 이상이기 때문에 2장의 내용으로 모든 것을 깨달을 순 없겠지만 적어도 책을 따라하는데는 지장이 없도록 잘 설명이 되어있다.


기존에 프로그래밍을 접해본 경험이 있다면 더욱 이해하기 쉬울 것이다.


3장에서는 순수 자바스크립트로 PWA 를 만드는 방법에 대해 설명하고 있는데 아무리 라이브러리와 툴들이 좋아도 그 것들을 구성하고 있는 베이직한 내용을 이해하지 못한 상태로 이용한다면 기능을 100% 활용할 수 없을 것이다. 그러한 의미에서 3장을 공부하는 것은 PWA가 어떻게 구성되며 어떤 원리로 작동하는지 알 수 있는 좋은 챕터이다.


4~5장은 Vue.js 에 관한 내용들을 담고 있으며 기존에 장기효님의 Vue.js 책을 구매해서 공부한 적이 있었기에 빠른 속도로 공부를 진행할 수 있었다. 핵심적인 내용들을 다루고 있기에 뷰를 맛보기에 충분해 보이지만 역시나 좀 더 vue에 대해 깊게 알고 싶다면 vue만을 다룬 서적 혹은 레퍼런스를 참조하면 좋을 것이다.


6~7장은 Vuetify에 대해 공부 할 수 있으며 이것은 Vue에서 Google의 Material Deisgn 을 사용할 수 있게 해주는 최고의 프레임워크라고 한다.


여기까지가 PWA를 만들기 위한 기본기들을 익힐 수 있는 장이었고 8장부터는 Vue framework로 PWA를 만드는 실전에 들어간다.


TO-DO, 사진 갤러리 앱, 카메라 사진 갤러리, 구글 로그인 연동, 푸시 알림 서비스, 오프라인 동기화, Cordova로 하이브리드 앱 만들기, 웹앱을 안드로이드 앱으로 만들기, 구글 플레이 스토어에 앱 등록하기 등 실전에 사용하는 여러 기능들을 구현해 볼 수 있는 챕터들로 이루어져있으며 Google의 firebase와 연동을 통한 실시간 데이터 저장 및 동기화 등을 익힐 수 있다.


총평을 하자면 약간의 개발 경험이 있는 초급자가 책을 따라하면서 개발부터 배포까지 한번에 익힐 수 있는 좋은 길잡이라고 할 수 있겠다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo