[도서]만들면서 배우는 HTML5 게임 프로그래밍

황동윤 저
한빛미디어 | 2013년 06월

내용 편집/구성 구매하기

한 번 읽는 것으로 경험을 쌓은 듯한 부담스러운 페이지수와 부담스럽지 않은 난이도가 장점.

누구나 HTML5로 게임을 개발할 수 있도록 하겠다는 프리랜서 게임 개발자의 의도가 잘 반영된 책이다. 다양한 환경에서 동작할 수 있는 HTML5에 대한 실습과 게임 프로그래밍을 하면서 습득해야 할 기본적인 원리들이 들어있다.


전체적인 구성이나 난이도는 무난했다. 개발환경에 대해 소개한 뒤, 기초적인 기능으로 된 게임을 만들어 보고, 그 과정을 프레임워크로 다시 정리한 뒤에 게임으로써 본격적으로 갖춰야 할 여러 고려사항들을 다시 반영했다. 그 뒤 모바일 게임의 필수요소인 멀티유저 게임을 Nods.js 로 구현해 보고, 배포과정을 안내해줘 사실상 게임개발에 관심있는 독자가 필요로 하는 내용들은 모두 들어있다고 보여진다.


700여쪽에 달하는 두께와 장황한 문장들이 부담인데, 독자들의 의욕을 북돋우기 위해 최대한 친절하게 설명하고자 한 의도는 드러나지만, 그리 성공적이지는 못한 것 같다. ^^;; 재밌는 수다를 떠는 듯한 느낌을 주기도 해 쉽게 읽히지만, 적절한 요약과 좀 더 구체적인 설명이 필요해 보인다. 게임프로그래밍을 할 때 생각해 볼 요소들은 적절한 데, 대처방법에 대해 언급할 때는 다소 당위적이다.


개인적으로는 처음부터 정독하기 보다는 전체적인 흐름에 익숙해진 뒤에 편하게 따라가는 것이 적절해 보인다. 심한 경우, 샘플 코드가 나오고, 이전에 나왔던 코드가 다시 나오고, 전체 코드를 또 보여주는데 읽자니 지겹고 무시하자니 읽는 리듬에 좋지 않았다. 이는 분량을 늘이려는 것보다는 코드를 보면서 작업량, 규모를 예상하는 습관을 들이게 하려는 작가의 의도로 풀이되는데, 책내용이 한참 지난 뒤에 등장한다. 이런 부분이 아쉬운데, 몇몇 내용들은 기초적인 프로그램 문법을 설명할 때 같이 넣어줬어야 할 내용이라고 보여지고, 분량이 많을수록 앞부분에서 전체적인 가이드를 잘 잡아줘야 한다고 본다.


집중력이 떨어지는 수준의 독자라 책을 읽으면서 곧잘 헤매는 부분이 있었는데, "3.3 사운드 시스템 구현" 의 251쪽의 설명도 그중 하나다. 앞뒤 1~2 쪽 가량은 분명 사운드에 관한 설명인데, 삽입한 이미지는 사운드 관련 UI가 없는 브라우저 게임 화면들이다. 뭔가 잘못 봤다는 생각에 몇 번 들춰보고 웃고 말았는데, 아직도 이 캡쳐 이미지가 뭘 의미하는지 모르겠다. HTMLAudioElement 객체가 모든 웹브라우저에서 같은 방식으로 동작하지 않는다는 걸 보여주는 삽입화면으로 보여지는 것으로 추측하고 있다. ^^;;


프레임워크를 개발하면서 어떤 것을 만들었는지 한 번 살펴보겠습니다.


● 게임 루프를 통한 지속적인 그래픽 처리와 업데이트 기반

● 게임 상태 기반

● 상호작용을 위한 '입력 처리 시스템'

● 사운드가 없는 게임은 허전하겠죠? '사운드 시스템'

● 쉬운 그래픽 그리기를 위한 'GraphicObject'

● 게임에 필수인 'SpriteAnimation'

● 원활한 게임 환경을 위한 '리소스 프리로더'

● 개발의 편리를 위한 '디버그 시스템'

● 시간을 체크하는 '타이머 요소'와 '타이머 시스템'

● 게임 성능을 올려주는 '프레임 스키퍼'

● 자연스러운 화면 전환을 위한 '화면 전환 효과'


382쪽 발췌.


HTML5 게임 프로그래밍은 아직 정형화된 개발방법이 없다는 지은이의 얘기는 곧 위의 발췌한 여러 요소들을 스스로 생각해 보고 나름대로의 방법을 개발해 보라는 뜻일수도 있겠다. 게임에 관심있고, 재밌게 즐기는 사람들이라면 위의 제목들만으로도 이 책의 내용을 짐작할 수 있을 것 같다.


앵그리버드 등의 각종 화려한 게임들 사이에 등장한 고전게임 "문 패트롤" 삽입 이미지는 압권이다. ^^;; 정말 그 때 생각이 절로 난다. (왜 그리 느리게 점프하냐고!!)


***** 이 리뷰는 "한빛리더스 6기" 활동의 일환으로 작성되었습니다.

'옮길것모음 > ' 카테고리의 다른 글

추운 나라에서 돌아온 스파이  (0) 2013.07.09
미생 6권 : 봉수편  (0) 2013.06.28
미생 5권 : 요석편  (0) 2013.06.16
미생 4권 : 정수편  (0) 2013.06.15
클린트 이스트우드 인터뷰 모음집  (0) 2013.06.10

WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,





한빛리더스3기_로고

한빛리더스3기_로고


본 도서는 한빛미디어에서 지원받은 책으로 작성한 리뷰이며, 자세한 내용은 아래 링크를 참조하시기 바랍니다.


웹 페이지를 만들 때, 기본적인 태그만 만든 후에 , CSS와  자바스크립트는 샘플 코드들에서 찾아서 쓰는 수준인데, 버전이 바뀌면 그래도 기본적인 명세나 사용시 주의사항 등은 한번 읽어둘 필요가 있어 골랐습니다. 

제목도 좀 유치하면서도 어렵게 느껴지는 " ( 사전처럼 바로 찾아쓰는 ) HTML5 핵심 API " 라 좀 얇고 쉽게 읽힐 책일 줄 알고 골랐습니다만 예상과 달리 쉽게 읽히지만 반복해서 보게 될만한 책이 되버렸습니다. ^^;; 

HTML4 명세는 매우 훌륭했지만, 대학 주도로 만들어져서 그런지 현실과는 좀 동떨어진 느낌이 있었습니다. 지향하는 방향은 훌륭하지만 상세한 방법론에서 브라우저 벤터 재량대로 하라는 주문이 많앗습니다. 브라우저 전쟁에 연루되지 않기 위해서였을까요? 브라우저 벤더의 자유를 지나치게 존중했던 탓에 난립하는 API를 정리하지 못하는 한계가 있었습니다. 

2010년 중반부터 HTML5는 웹 세상의 화두가 되었습니다. HTML5 명세에는 여러가지 장점이 있지만, 정식 버전으로 발표되기도 전부터 이렇게 뜨거운 관심을 모은 주된 이유는 새 명세에서 현실을 존중하면서도 일관되게 브라우저 API를 표준화하고 있어서 입니다. 물론 그 선두에는 Canvas, 웹 폼 2.0, 클라이언트 데이터베이스, 지오로케이션 같이 눈길을 끄는 기능이 있습니다. 

- 추천사 중에서. 한선용


HTML5 가 어떤 건지 혹은 어떤 의미인지 내용에 들어가기 전에 이미 감을 잡을 수 있도록 친절하고 알기 쉽게 설명을 해주고 있습니다. 

이 책은 HTML5 의 API 위주로 설명합니다. HTML5 의 API 라고 해도 그 양이 워낙 방대하기 때문에 그 중에서도 사용자가 직접적으로 접하는 UI 와 그래픽, 오디오, 지오로케이션 등을 주된 내용으로 합니다. API 위주이다 보니 자바스크립트에 대한 내용이 많지만 1 장부터 차근차근 살펴본다면 이해하는 데 크게 어려움은 없을 것입니다. 
- 옮긴이의 말 중에서. 윤준 


지은이인 하나토 후토미의 설명 부분이 참 좋은데, 이 분은 HTML5 의 진정한 효과는 PC 에서 드러날 것이고, HTML + 자바 스크립트 + CSS 가 모든 PC 애플리케이션의 기반이 될 것이며, 우리가 이미 배웠거나 앞으로 배우고자 하는 웹표준은 미래의 모든 장치에 응용할 수 있을 것이라 예상하고 계십니다. 이런 설명을 풍부해진 웹 생태계의 현황(?) - 자바 스크립트의 진화, API 표준화의 현실, RIA ( Rich Internet Application ), 웹표준과 플러그인, 브라우저의 구현 현황 등 - 들을 짚어보고 근거로 제시하고 있습니다. 

현업 종사자가 아닌 관계로 깊은 뜻까지 이해할 수는 없겠지만, 비교적 쉽게 쓰여진 문장들이라 HTML5 과 웹표준 기술이 어떤 흐름을 지향하고 있는지는 알 수 있었고, 세세한 명세까지 외우지는 못하더라도 대강의 개념이라도 익혀두면 나중에 써먹을 곳이 있겠다 싶은 느낌이었습니다. 그러니 나중에 찾아봐도 손쉽게 사용할 수 있을 만큼 내용이 충실한지가 관건이었는데, 첫 느낌은 대만족이었습니다. ^^;; 

책표지

출처 : 한빛미디어


일단 읽기에 편합니다. 책이 두꺼워서 그렇지 구성도 일목요연하고, 설명하는 패턴도 살펴보면 군더더기없이 깔끔합니다. 
구성은 DOM 스크립팅의 기초, 폼, Canvas, 비디오와 오디오, 텍스트 편집, 드래그 앤 드롭, File API, 웹 워커, Geolocation API 정도입니다. HTML5 에 관한 다른 책들의 목차를 보면 한두개 정도 차이가 있을 뿐입니다. 설명하는 방식은 무작정 태그나 API를 적어놓고 설명하는 게 아니라 HTML5 에 어떤 명세가 있는데, 어떤 기능을 하고, 어떤 상황에서 써야 한다는 식의 설명 후에 실제 API 의 기능명세와 샘플 코드, 그리고 결과화면을 같이 곁들여 줍니다. 그러면서 중간중간 필요한 경우에 주의사항과 브라우저별 구현현황, 그리고 관련명세의 링크주소를 알려줍니다. 다른 책들도 이런 간결한 설명들로 진행하지만, 웹 서적을 읽다가 이젠 익숙해진건지 글 내용이 한눈에 들어오더군요. ^^;; 사실 Canvas 부분은 한번만 읽고 넘어갔는데, 이 부분은 좀 어렵더군요. ^^;; 다른 부분들은 이해가 잘 안가서 잠깐 돌아가 보면 금새 감이 오는 수준이었습니다. 

앞으로는 웹 표준의 구현을 얼마나 했는가에 따라 브라우저를 평가하는 경쟁이라고 하더군요. 그렇기에 아직 HTML5 의 완전한 교과서라고 하기에는 무리겠지만, 일단 개념이 잡히니 찾아쓸 수 있는 HTML5 핵심 API 가 될 수 있을 것 같습니다. 


WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,





지난 2011년 6월부터 12월까지 한빛리더스 3기로 활동했었습니다. 

한달에 한권꼴로 책을 리뷰했고, 한두번 가량 아이디어 제안도 수행했습니다. ^^;; ( 분명 수행이었으며, 지나고 나니 부담스럽지는 않았습니다. ^^;; 분명 삭제될 겁니다. ㅋㅋㅋ )

한빛리더스로써 첫 활동이었는데, 제 입장에서는 아주 만족스러웠습니다. 물론 오프라인 모임도 두세차례 있었는데, 나가지는 못했습니다만 페이스북에 올라온 사진이나 서로 안부 인사들을 보면 나름 좋은 분위기였나 봅니다. 

자세한 설명은 아래 링크를 참고하시면 될 것 같습니다.


http://www.hanb.co.kr/readers/ 
( 한빛리더스 활동내역을 보실 수 있습니다. ) 

https://www.facebook.com/hanbitreaders 
( 지원페이지입니다. )  

매 리뷰때마다 몇 권의 책을 한빛리더스 참가자들에게 제시하고, 그 중 한권을 골라 리뷰를 주어진 기간 내에 작성하면 되었습니다. 이미 출간된 도서는 리뷰책을 고르기 전에 정보를 잘 찾아보신 후 선택하시면 되고, 출간 전의 책인 경우에도 한빛미디어 관계자분들이나 팀장 ( 한빛리더스는 IT전문서 등 몇 개의 팀으로 나뉘어 운영됩니다. ) 님에게 페이스북으로 문의하시면 친절하게 설명해 주십니다. 이 얘기가 부잡스러워 보이지만, 한달의 기간 동안 읽기에 부담스러운 책이 골라지면 리뷰를 수행하기 어려워져 고생하는 일이 생기기 때문입니다. ( 사실 제가 지금 그렇습니다. 하필 제일 마지막 리뷰에서 책은 좋은데, 두께나 내용이 많아 허덕이고 있습니다. ^^;; )

단지 아쉬운 건 아직도 페이스북이 전혀 편해지지 않아 아쉽긴 합니다만 특정분야(?)의 책을 6개월간 몰아볼 수 있는 점은 분명 매력적입니다. 게다가 한빛미디어 외에 한빛비즈 같은 곳에서 한빛리더스 리뷰외에 별도로 가끔 도서 베타테스트 미션을 공지하기도 해서 컴퓨터나 경제쪽 책을 빠르게 접하실 수 있습니다. 

6~7권 정도(베타테스트 포함)를 받은 것 같은데, 2권은 아주아주 만족스러웠고, 1~2권 정도가 그냥저냥이었으며, 그 나머지는 꽤 괜찮았습니다. ( 4기에 지원하기 위해 작성했습니다. ㅋㅋㅋ 다른 분들 지원하시면 짤릴지도 모르겠습니다. ㅡㅡ;; )

참고로, 1, 2, 3 기 OB 모임 페이스북도 있었습니다. 가입한지 얼마 안되서 모하는 곳인지는 거의 모르겠는데, 서로 가입인사 올라온 것까지만 잔뜩 보고 왔습니다. ^^;; IT분야 관련자 분들과 더 많은 만남을 원하시는 분들께도 좋을 것 같습니다. ( 써놓고 보니 왠지 성인광고문구같은 느낌이.. ㅡㅡ;; ) 

정리하면, 한빛리더스라는 괜찮은 독서리뷰 모임이 있고, 최근에 4기를 모집 중이며, 제 경험으로는 아주 좋았으며, 관심있으신 분들에게 좋은 기회가 될 것 같아 포스팅을 했습니다. 참고로, 제 기억에 원래 모집 인원보다 몇 분 정도 더 뽑으셨던 것 같습니다. ( 개인적으로 아주 땡큐였죠. ㅎ 이번에도 기대를 해봅니다. ) 


덧붙이기 : 4기에 또 새로운 로고를 만들고 계시더군요. 3기때보다 좀 화려해질 것 같습니다. 리뷰다실 때 꼭 로고 다셔야 합니다. ㅋㅋㅋ
 

WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,








본 도서는 한빛미디어에서 지원받은 책으로 작성한 리뷰이며, 자세한 내용은 아래 링크를 참조하시기 바랍니다.

http://www.hanb.co.kr/readers/


이 책의 특징은 강사출신다운 저자의 집필의도가 잘 드러나는데 있다. 형식적인 이론보다는 실습 위주로 작성되어 부잡스런 부분을 최소화했고, 학부생이나 수강생을 대상으로 작성했기에 책의 흐름을 잃지 않고 따라올 수 있도록 적절히 반복적으로 주요 내용들을 상기시켜준다.


챕터별로 간략하게 주요 개념들을 설명하고, 샘플 코드를 통해 즉시 눈으로 확인시킨 후, 요약페이지를 통해 정리해 준다. 그밖에 복습할 내용이나 심화학습 혹은 알고 있어야 하지만 크게 중요하지 않은 것들은 연습문제로 넘겨 독자들에게 내용에 집중할 수 있으면서도 스스로 체득해 갈 수 있는 방법을 제공해 준다.




이 책은 2004년에 나온 " 윈도우 네트워크 프로그래밍 : TCP/IP 소켓 프로그래밍 " 과 2008년 개정판에 대한 확장판의 성격이다. 목차에서 IPv4 부분은 이전 책들과 거의 비슷하지만, IPv6 부분을 추가했고, 기존의 IrDA 나 블루투스 부분은 업데이트시켜놨다. 따라서, 이전 책을 구입한 사람들의 경우에는 추가된 부분을 확인할 필요가 있겠다.

저자가 말하는 기존 책과의 차이점은 다음과 같다.
- IPv6 프로그래밍 지원
- 응용 프로그램 간 효과적인 데이터 전송 방법 추가
- 직렬 통신과 무선 통신 프로토콜 내용 추가 보완
- 최신 윈도우 7 에서 비주얼 스튜디오 2010 으로 실습 진행




IPv6 는 오래 전부터 공인IP 부족문제를 해결할 대안으로 준비되어 왔고, 특히 모바일 쪽의 규격에서 많은 변화가 있어 조만간 널리 쓰이게 될 가능성이 있다. 이미 윈도우7 운영체제에는 IPv4 와 함께 IPv6 프로토콜이 같이 내장되어 있으며, IPv6 는 현재 벌어지는 많은 네트워크 부하를 어느 정도 해소할 수 있을 것이라는 기대도 받고 있다. 그럼에도 아직 충분한 자료가 준비되지 못했는데, 이 책을 통해 맛보기와 함께 네트워크 프로그래밍에서 어떤 변화가 생겼는지 확인할 수 있다.

참고 : http://ko.wikipedia.org/wiki/IPv6 ( IPv4 의 주소가 2011년 2월 4일에 이미 고갈됐다고 하네요. ^^;; )

또한 네트워크 프로그래밍을 실습하는 환경으로 비주얼 스튜디오 2010 버전을 채택했기에 MS 사이트에서 데모버전을 다운받아 ( 90일 사용가능 ) 사용해 보는 재미도 있다. 윈도우XP 서비스팩2 와 비주얼 스튜디오 6.0 환경에서도 실습할 수 있으며, 이에 대한 설명도 들어 있다.


풍부한 도표와 샘플 코드는 초보자에게는 반복학습의 효과를 줄 수 있으나, 현업에 종사하거나 이미 C++ 프로그래밍에 익숙한 분들에게는 지루한 느낌을 줄 수 있다.


추천 참고 사이트

http://www.ietf.org : 인터넷 표준 제정. IETF 공식사이트.

http://msdn.microsoft.com

http://www.codeguru.com

http://www.irda.org

http://www.bluetooth.com

http://www.bluetooth.org

WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,


평소 이메일을 통해 " 한빛미디어 " 에서 나오는 컴퓨터 관련 서적들을 살펴보곤 했는데, 얼마 전에 " 한빛리더스 " 라는 서포터(?)를 모집한다는 소식을 접했다.

한빛미디어에서 나온 책들을 좋게 읽었기에 재밌겠다 싶어 지원은 했지만, 별 기대는 하지 않고 있었다. 기억하기로는 지원하는 이유에 대해 " 책을 읽고 싶다 " 고 적고, 지원자의 장점을 적으라는 곳에는 블로그를 봐달라고 썼다. 쫌 성의없이 보일 거라는 생각은 들어지만, 굳이 머리써가며 왜곡된 말들을 적고 싶은 생각은 없었다.

선정과정이 어땠는지는 모르겠지만, 나에게도 연락이 왔다. 크게 IT 전문서 그룹 : 27 명, IT 활용서 그룹 : 18 명, 대학교재 그룹 : 18 명으로 구성됐다. 경쟁률이 얼마였는지는 모르겠지만, 왠지 지원자 전원을 뽑아놓고 미션 수행이 미흡했던 사람들이 짤리는 흐름이 아닐까 하고 예상하고 있다. ^^;; 인원수가 소수정예라고 하기에는 좀 많고, 한빛미디어의 인지도를 봤을 때는 조금 부족한 숫자라 애매한 느낌이다. 6 개월간 출간될 책들의 베타테스터 역할(?)이 쉬운 일은 아니다. 버텨내면 제법 성취감도 들 것 같다.

한빛리더스_3기_2011.07.01

뭐 이런 일들을 한답니다.



솔직히 말하자면 " 한빛리더스 " 에 지원하게 된 동기는 2 가지다.

하나는 컴퓨터 관련 서적들을 정독해서 그간 쌓였던 어줍잖은 지식들을 정리해 두고 싶다. 나름 컴퓨터 관련 학과를 졸업했고, 컴퓨터와 연관된 직업을 가졌었지만, 호기심에 닥치는 대로 읽었다가 이도저도 아닌 상태로 남아있다. 6 개월 정도면 뭔가 보이지 않을까 싶다.

또 하나는 " 한빛리더스 " 의 활동을 페이스북에서 해야 하기 때문에 페이스북을 익힐 좋은 기회가 될 것 같다. 참고로 해야할 활동들을 기록해 본다. 좀 난이도가 있어 보인다.


한빛 리더스 활동 내역

신간 도서를 읽고 리뷰 및 오탈자 등록.
미출간 도서 읽고 미션 수행.
설문 조사 참여.
기획의견 및 벤치마킹 아이디어.
급미션 수행.
전략 도서 토론회.


우리나라에도 페이스북이 성공적으로 안착은 한 것 같다. 한때 싸이월드처럼 압도적으로 치솟을지는 모르겠지만, 현재 전세계적으로 엄청난 수의 가입자를 확보하고 있어 배워둘 필요는 있을 것 같다. 

개인적으로는 별로 좋아하지 않는데, 포스팅이나 책을 통해 살펴본 페이스북은 인맥을 쌓거나 기업의 홍보가 주를 이룰 것으로 보이기 때문이다. 차근차근 사용해 보고 있고, 의미가 생기면 아마 블로그와 페이스북 2 개를 운영하게 될지도 모르겠다. 지금으로선 블로그와 트위터가 합쳐지고, 기타 서비스들이 추가된 것 같은 느낌이 들 뿐이다.  


이제부터 시작이고 연말까지 꾸준히 달릴 준비를 해야겠다.

WRITTEN BY
리컨
영화를 즐기는 취미를 기록한 블로그입니다.

,