기본적인 안드로이드 프로그래밍에 대해 어느 정도 숙지하고 나면 아마도 제일 먼저 만들어 보고 싶은 것이 게임이 아닐까 한다. 자신이 손수 만든 캐릭터를 이러저리 옮기며 간단한 시나리오를 만들어 게임으로 구현하는 것은 프로그램밍 실습에 가장 좋은 방법일 것이다.
본 포스트에서 소개하는 도서는 이를 현실로 만들어 주기에 매우 적합한 책이다. 물론 책 내용 중 아쉬운 부분도 있지만 그 보다는 장점이 더 많은 책이기에 간단하게 책의 구성 및 내용에 대해 공유하기로 한다.
아쉬웠던 부분
대상 독자 (누가 보는 거지?)
기본적으로 게임 프로그램을 하려면 안드로이드 프로그래밍에 대한 기본은 숙지한 독자여야 한다. 최소한의 안드로이드 프로그래밍 지식이 없는 독자에게 안드로이드 게임 프로그래밍을 소개하려면 여지없이 그 책은 베게(?) 수준의 책이 되버리기 십상이기 때문이다.
결국 이 책은 안드로이드 프로그래밍을 할 수 있는 독자를 대상으로 한 책인데, 이런 독자를 대상으로
Chapter 01 안드로이드 소개
안드로이드 개발환경
개발환경 설치하기
이러한 구성은 이 책의 대상 독자를 어떤 수준으로 두었는지 다소 의아하게 만드는 부분이다.
기본기 배우기 (정말 기본이라고 생각해?)
게임 프로그래밍의 기초부터 배우며 게임 프로그래밍의 원리를 이해하려는 독자에게 기본기를 키워주기 위한 챕터이다. 게임 프로그래밍을 처음 접하는 독자에게 본 챕터는 가장 중요한 부분이다. 하지만아쉽게도 Chapter 01의 수준과는 다르게 초보자가 이해하기에는 다소 설명이 어려운 부분이 있다.
만약, 이 챕터에 게임개발에 기초가 되는 용어 설명(스프라이트 등)에 많은 할애를 했다면 기본기 챕터가 훨씬 더 풍부해지지 않았을까 하는 아쉬움을 남긴다.
훌륭했던부분
패턴, 프레임워크, 다양한 시나리오 (따라만 해봐!!)
기초 서적인 만큼 게임 개발에 필요한 기본적인 패턴, 프레임워크에 대한 소개가 매우 간결하면서도 이해하기 쉽다. 뿐만 아니라, 제목에서 약속한대로 만들면서 배울 수 있도록 단계별 유형별 시나리오 기반으로 설명되어 있어 따라하기만 하면 쉽게 간단한 게임을 완성할 수 있다. 따라하기 책들 중 정작 따라해도 잘 안되는 경우가 종종 있는데, 이 책은 매우 잘 정리가 되어 있다.
정리해 보면...
입문서인 만큼 기초에 보다 중점을 뒀으면 하는 바램이 있다. 하지만 실제로 한줄 한줄 코딩을 하면서 쉽게 배울 수 있게 게임 프로그램의 단계별 유형별 설명이 매우 잘 되어있어 전반적으로 기초 게임 프로그래밍의 원리를 이해하는데는 매우 유용하다.
요즘 게임분야는 전성시대를 맞이 했다고 해도 과언이 아닐만큼 하루에도 많은 게임들이 쏟아져나오고 있습니다.
자신의 스마트폰으로 인터넷, 카톡, 등 남들이 만들어 놓은 프로그램에 지겨우신 분들께 권해 드립니다.
이책에서는 단계별로 진행되는 게임예제 들로 안드로이드 게임에 한발더 쉽게 다가갈수 있게 해줍니다. 게임이 퀄리티는 다소 낮을수 있지만, 내가 원하는 이미지, 게임 사운드, 그래픽등을 표현할 수 있다는 것에 매우 만족 하였고, 따라만 했을 뿐인데. 게임에 대한 이해와 표현을 높일 수 있는 책입니다.
1. 만들면서..책은 OpenGL이나 서피스뷰 등 게임에 필요한 안드로이드 및 그래픽 요소 소개 후 실제 프로젝트들을 통해 알려주고 있습니다.
2. 슈팅게임 1개로 만드는 과정 보여주고 있습니다.
실제 사례 하나를 자세히 단계별로 알려주는 것은 장점
리지만 그러나 다양한 예제는 부족한 모습입니다.
각각의 장단점이 명확하기 때문에 독자의 기호에 따라 판단하면 좋을 듯 합니다.
(비교했던 책은 4~5개의 중 프로젝트/챕터로 구성)
3. 코딩상 발생할 수 있는 예외상황 등 자세하게 알려주고 있습니다.또한, 칼라 이미지와 설정 창 코드 화면 등 구성 배치가 괜찮은 편입니다.
게임 개발은 일반적인 어플리케이션, 웹 사이트 개발과는 많이 다릅니다. 사용자의 말도안되는(?) 액션에 반응해야 하고 예상치 못한 문제들, 가령 단말의 다양성과 같은 것에 대응해야만 합니다.
그런데 그런 게임 개발에 대한 기초는 안드로이드 일반 서적에도 나오지 않고 이클립스 서적에는 더더욱 나오지 않습니다. 게임 개발을 위한 책은 따로 읽어야 한다고 생각하며 이 책은 바로 그런 관점에서 입문서로 RIght Book 이라 하겠습니다.
부담없이 편안하게 읽으면서 게임 개발을 위해 앞으로 뭘 더 공부할지 방향을 잡아주는 책이 될 것입니다
Android Game Programming
이 "안드로이드 게임 프로그래밍"은 게임 개발에 입문하는 독자를 대상으로 한다.
이 책을 학습하기 위해서는 기본적으로 Java와 OOP에 대한 기본 지식을 가지고 있어야 한다.
이 책은
윈도우 피씨에 안드로이드 개발 환경을 구축하는 방법.
Activity와 View를 생성하고 그림을 그리는 방법.
Touch 입력을 처리하는 방법.
Thread를 사용하는 방법.
음향 데이터를 로드하고 출력하는 방법.
몇가지 디자인 패턴에 대한 소개.
SufaceView를 활용하는 방법.
슈팅게임 예제.
기타 하드웨어 액세스 방법
에 대한 내용을 담고 있다.
이 책은 초보 게임 프로그래밍 지망생을 대상으로 작성되었지만 초보에게 권하기는 어려워 보인다.
1.
이 책에서 사용한 기술로 좋은 그래픽과 사운드를 활용하기 어렵다.
초보 개발자들이 착각할 것 같다.
이 책의 제목은 "그래픽이 화려한 안드로이드 앱 만들기"가 더 적합할 것 같다.
2.
쓰레드 활용의 잘못된 목표를 예제에 보여 준다.
쓰레드를 설명하기 위한 목적이지만, 쓰레드는 엘리베이터 같은 연출 제어를 목적으로 사용하지 않는다.
쓰레드의 사용은 신중해야 한다.
철저한 분석, 설계, 라이브러리 검증없이 사용하면 품질문제로 과제는 좌초되기 쉽다.
이 책의 쓰레드 활용 예제는
초급 개발자들이 오해할까 염려된다.
3.
자바의 코딩 스타일을 어겼다.
게임 개발자들에게서 주로 나타나는 습관이다.
안드로이드 자바에 MFC 스타일을 혼합하여 사용한다.
로마에서는 로마의 법을 따라야 한다.
자바에서는 자바의 관습을 따라야 하고
MFC에서는 MFC의 관습을 따라야 한다.
초급 개발자에게 잘못된 코딩 스타일을 가르칠까 염려된다.
4.
슈팅게임 예제 뿐이다.
이 책의 기술에 대한 소개는 슈팅 게임을 만들기 위한 과정이다.
요즘 게임은 SNS나 동적 리소스등을 다룬다.
트위터, 페이스북와 네트워크에 대한 기술들을 전혀 다루고 있지 않다.
결론.
게임 개발과 안드로이드에 입문하는 초급 개발자에게 권하지 않는다.
중급 이상의 게임 개발자들은 이 책을 통해 얻을 지식은 적어 보인다.
장기간 고생하여 탈고한 저자와 출판사에게 미안한 맘이 들지만,
올해 리뷰한 책들 중에서 최고의 악평이 아닐까 싶다.
다음 개정판에서 더 좋은 내용으로 독자를 만나기를 기대해 본다.