게임 매니악스 탄막 게임 알고리즘

작가정보
저자 마츠우라 켄이치로는 동경대 공학계 연구과 전자공학전공 석사과정 수료 후, 연구소 근무를 거쳐 현재는 취미와 생업을 겸하여 프리랜서 프로그래머, 작가, 강사로 활동 중이다. 관심분야와 작업범위는 프로그래밍을 중심으로 컴퓨터 전반에 걸쳐 있으나 가장 흥미를 느끼는 분야는 프로그래밍 언어 만들기와 게임 만들기다.
저자 츠카사 유키는 동경대 이학계 연구과 정보과학전공 석사과정 수료. 학부생 때부터 작가와 프로그래머 일을 계속 하고 있으며 집필, 번역 이외에 소프트웨어 수주/설계/개발도 하고 있다.
목차
- 1장. 슈팅 게임의 구조
__1.1 슈팅 게임이란
__1.2 슈팅 게임의 구성요소
__1.3 게임은 어떻게 움직이는가?
__1.4 게임 프로그램에서의 타이밍
__1.5 이동과 드로잉을 분리하기
__1.6 충돌 판정 처리
__1.7 개발환경
__1.8 게임 라이브러리
__1.9 게임의 본체
__1.10 이동 처리
__1.11 드로잉 처리
__1.12 입력 읽어들이기
2장. 캐릭터 움직이기
__2.1 캐릭터를 움직이기 위해 필요한 사항
__2.2 클래스를 사용하여 캐릭터 구현하기
__2.3 파생 클래스로 캐릭터 구현하기
__2.4 가상 함수의 오버라이드
__2.5 클래스 계층 구조
__2.6 캐릭터 생성
__2.7 캐릭터 소멸
__2.8 생성과 삭제 반복하기
__2.9 생성/삭제 반복에 강한 메모리 관리 방법
__2.10 태스크와 태스크 리스트
__2.11 태스크 리스트 초기화
__2.12 태스크 생성
__2.13 태스크 삭제
__2.14 이동 물체 클래스
__2.15 물체 모양
__2.16 태스크 이터레이터
__2.17 충돌 판정 처리
__2.18 플레이어기 클래스
__2.19 플레이어기 이동
__2.20 화면 좌표계
__2.21 적기 클래스
__2.22 탄 클래스
__2.23 태스크 리스트 생성
3장. 소용돌이탄 베리에이션
__3.1 방향탄
__3.2 소용돌이탄
__3.3 다방향 소용돌이탄
__3.4 양회전 소용돌이탄
__3.5 선회가속 소용돌이탄
__3.6 양회전 소용돌이탄+선회가속 소용돌이탄
__3.7 세탁기 소용돌이탄
4장. n-way탄 베리에이션
__4.1 n-way탄
__4.2 원형탄
__4.3 선회가속 원형탄
__4.4 밀집 n-way탄
__4.5 조준 n-way탄
__4.6 시간차 조준 n-way탄
__4.7 랜덤 n-way탄
__4.8 랜덤 원형탄
__4.9 회전 n-way탄
__4.10 파장 n-way탄
__4.11 파장 원형탄
5장. 탄 조합
__5.1 조준탄
__5.2 원형탄+조준탄
__5.3 영역탄
__5.4 와인더
__5.5 직선탄
__5.6 n-way 직선탄
__5.7 조준 직선탄
__5.8 확산탄
__5.9 랜덤 확산탄
__5.10 추월탄
__5.11 흑백탄
6장. 색다른 탄막
__6.1 유도탄
__6.2 밀집 짝수탄
__6.3 궤적탄
__6.4 틈새탄
__6.5 패턴탄
__6.6 설치탄
__6.7 별 모양 설치탄
__6.8 별 모양 재설치탄
에필로그
책 속으로
역자의 말
이 책을 통해 오래간만에 게임 프로그래밍을 접했습니다. 자료 처리, 그래픽 처리, 메모리 핸들링 등 다양한 지식이 필요하더군요. 그렇지만 워낙 세세하고 친절하게 탄막 게임을 만드는 방법을 알려주어서 어렵다는 생각보다는 “아, 이렇게 하면 더 재미있는 게임이 되겠구나!”라는 감탄이 먼저 나왔습니다. 게임을 한 번 만들어 보고 싶다는 욕구가 샘솟기도 했습니다.
이 책은 오브젝트지향 언어인 C++로 설명을 하지만 오버라이딩, 오버로딩, 폴리머피즘 등과 같은 개념에 대해서는 자세히 설명하지 않습니다. 따라서 C++에 대한 기본 지식이 있는 분이 읽으셔야 합니다.
이 책은 탄이나 적 클래스를 정의하다가, 비슷한 역할을 하는 부분을 상위 클래스로 뽑아냅니다. 혹시나 이제 막 프로그래머의 길로 접어든 분이 있다면 이 책에서 줄곧 사용하는 클래스 재사용이나 파생 기법을 눈여겨보시기 바랍니다. 프로그래밍을 하다 보면 비슷한 역할의 클래스를 몇 개고 정의할 때가 있습니다. 당장은 복사/붙여넣기가 편할 수도 있지만 유지보수 비용이 많이 들기 때문에 좋은 습관이 아닙니다. 부디 공통 부분을 클래스로 뽑아내고 자기만의 개성을 파생 클래스로 정의하는 ‘클래스 계층화’를 이용하시길 바랍니다. 프로그램 볼륨이 크면 클수록 그 효과가 크므로 작은 프로그램을 만들 때부터 습관화하는 게 좋습니다.
- 윤석조
출판사 서평
이 책은 C++ 기반으로 37가지 탄막을 만드는 방법을 알려줍니다. 여러분은 각 탄막별로 다양한 속성 변화를 주어 세세하게는 100여 종류에 이르는 탄막을 직접 만들게 될 겁니다. 또한 다양한 탄을 실제로 확인할 수 있게 간단한 슈팅 게임을 제공합니다. 따라서 게임을 하듯 다양한 탄막을 체험해보실 수 있습니다.
* 탄막란 무엇인가?
탄막은 무수히 많은 미사일이 넓게 퍼지며 발사되면서 만든 막을 말합니다. ‘좌현, 탄막이 엷이다’는 만화 기동전사 건담의 우주모함 선장이 애용하던 말인데요, 탄막이 엷으면 두?게 만들면 되겠지요. 그래도 안 되면 유도탄을 쏘거나 회오리탄을 쏴서 적을 벌벌 떨게 하면 될 겁니다. 봄바람에 흩날리는 꽃잎처럼 화려하고 아름답기까지 한 탄막이 여러분 게임에 등장한다면, 플레이어의 마음에 불을 지필 수 있지 않을까요?
이 책의 특징과 장점
* 샘플 프로그램 소개
이 책에서 소개한 다양한 탄막 움직임을 실제로 확인할 수 있게 게임 형태의 샘플 프로그램을 제공합니다. 샘플 프로그램을 내려받아 실제로 플레이어기를 조작해서 여러 가지 탄막을 체험해보십시오. 이 책 샘플은 윈도우 비스타, 윈도우 XP, 윈도우 7에서 동작을 확인했습니다. 샘플 프로그램을 실행하면 게임화면이 표시됩니다. 조이스틱이나 키보드로 게임을 조작할 수 있습니다.
어떤 독자를 위한 책인가?
탄막을 좋아하는 사람들에게 추천드립니다.
? 탄막 슈팅 게임이 재밌는 분
? 탄막 구조를 익혀 게임을 더욱 재밌게 즐기고 싶은 분
? 스스로 탄막을 만들고 싶은 분
물론, 다음과 같은 탄막 프로그래머들에게도 추천드립니다.
? 다양한 탄막 구현 방법을 알고 싶은 분
? 탄막의 ‘기술 카탈로그’나 ‘소스’를 찾는 분
? 과제로 탄막 슈팅 게임을 만들기로 했지만, 어디서부터 손을 대야 할지 모르는 분
다음과 같은 중증 탄막 매니아들도 부디 읽어보시기 바랍니다.
? 불꽃놀이를 보면서 자기도 모르게 회피 코스를 생각하는 분
? 사람이나 자동차를 피할 때 자기도 모르게 아슬아슬하게 피하려고 하는 분
추천사
“저자는 이 책의 시리즈인 『게임 매니악스 슈팅 게임 알고리즘』, 『게임 매니악스 퍼즐 게임 알고리즘』(2013, 한빛미디어)에서와 마찬가지로 이 책에서도 아주 다양하고 세세한 설명을 들려준다. 무려 400페이지가 넘는 상세한 탄막 게임 개발 노하우 공유는 감동 그 자체다.”
강백주
엔씨소프트 모바일 게임 개발 PD
(전 스파이크걸즈, 실크로드 for 카카오 개발 PD)
"게임 디자인의 가장 깊은 곳에 위치한 게임 메카닉을 알고리즘 레벨에서 소개하는 게임 매니악스 시리즈의 3탄인 이 책은 '동방' 시리즈 등을 비롯한 유명 탄막 슈팅 게임들에서 접할 수 있는 다양한 탄막 알고리즘을 자세히 소개한다. 프로그래머를 대상으로 씌어진 책이지만, 슈팅 게임 개발에 관심이 있는 게임 디자이너들에게도 큰 영감을 준다. "
김형진
엔씨소프트 CCD(Chief Creative Director)
"수많은 탄이 기하학적으로 아름답게 쏟아지는 탄막 게임은 어떤 의미에서 미디어 아트에 가장 근접한 장르다. 저자는 몇 줄 안 되는 코드로 상용 게임에서나 보던 탄막을 쉽게 만들 수 있다는 걸 보여준다. 이 책이 출간되고 나면 스마트폰용 탄막게임이 범람하지 않을까 걱정될 정도다."
박일
『위대한 게임의 탄생』 저자,
엔씨소프트 리니지 이터널 프로그래머
기본정보
ISBN | 9788968480812 | ||
---|---|---|---|
발행(출시)일자 | 2014년 02월 01일 | ||
쪽수 | 408쪽 | ||
크기 |
183 * 235
* 30
mm
/ 784 g
|
||
총권수 | 1권 | ||
원서(번역서)명/저자명 | 彈幕 最强のシュ-ティングゲ-ムを作る/松浦健一郞 |
Klover 리뷰 (6)
구매 후 리뷰 작성 시, e교환권 200원 적립
사용자 총점
평가된 감성태그가
없습니다
집중돼요
도움돼요
쉬웠어요
최고예요
추천해요
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)
기분 좋은 발견
이 분야의 베스트
이 분야의 신간
-
움직이는 그림 만들기 with Unity10% 19,800 원
-
현업 기획자 마이즈가 알려주는 게임 시나리오 스쿨10% 23,400 원
-
유니티 게임 제작 입문10% 23,400 원
-
언리얼 엔진5으로 개발하는 멀티플레이어 게임10% 36,000 원
-
레트로의 유니티 6 게임 프로그래밍 에센스10% 59,400 원
게임 매니악스 탄막게임 알고리즘 슈팅게임은 어릴 때부터 오락실에서 조이스틱을 통해서 1945게임과 탄막피하기 게임 등을 남학생들이라면 많이들 접해본 게임이었을 것이다. 각 단계별로 맵들이 만들어져 있고 단계마다 상중하 형태의 적 비행기가 나오게 되고 약한 비행기 중간급 비행기, 왕 비행기가 나오며 왕을 깰 때까지 한 단계가 구성이 되어있다.
게임의 구성요소로는 나의 비행기가 있고 비행기에도 종류가 있으며 위기의 순간에 살아나올 수 있는 필살기도 있고 주인공이기에 몇 가지의 목이 더 있게 된다. 적 비행기도 미사일을 쏘며 단계별로 미사일의 강도와 적 비행기의 체력과 방어도도 높아지게 된다.
강해지는 적들을 이기기 위해서 주인공 비행기의 미사일의 힘을 강하게도 만들고 살아나올 수 있는 필살기를 주는 적비행기도 나오게 된다. 그리고 적군의 기지나 비행기가 미사일이 맞았을 때 폭발하는 영상이 나오게 되고 적군의 체력이 다 떨어지면 폭발하면서 터지고 점수가 되는 돈이 나오게 된다.
적군의 비행기를 많이 격파하고 돈도 많이 먹게 되면 점수가 올라가며 왕이나 조금 강한 적을 만나게 되면 더 큰 점수를 받는 방식으로 게임이 진행되게 된다. 슈팅 게임 안에도 왕은 탄막게임과 같은 형태의 많은 미사일을 쏘며 변신을 하게 된다. 탄막게임이 주된 게임은 탄막을 피하는 원형의 탄막에서부터 단계별로 피하기 어려운 탄막들이 계속 나오게 된다.
게임을 생각하면 좋아하는 이들이 모두들 랭킹에 들려고 하고 친구들끼리 내기도 하며 재미용으로 게임들을 많이 한다. 이 책의 게임을 만드는 언어로는 c++을 어느 정도 알아야 소스가 어떻게 되어있는지 알 수가 있고 기본적인 c++을 공부한 사람들이 이 책을 통해 멋진 탄막게임이나 슈팅게임을 응용하여 만들어 낼 수 있도록 도와 줄 것 같다.
게임이 먼저 나왔던 게임들로 인해서 나도 게임을 만들고 싶다 생각하는 사람들은 직접 게임을 만들어보므로 보람도 느끼고 게임을 하는 것에서 만들 수 있는 실력을 원하는 사람이 보면 좋은 책인 것 같다. 프로그래밍 책을 보게 되면 입문자들을 위한 책들이 많이 나오기 때문에 깊이 있는 책들과 고급서적들은 잘 안 나오지만 c++을 할 줄 아는 사람으로 시야가 좁혔으며 입문서가 아닌 게임을 만들기 위한 중급서적으로 보아도 될 것 같다.
많은 사람들이 알고리즘을 어려워하고 게임에 들어가야 할 것을 생각하고 만들기를 어려워한다. 책을 보면서 모르던 게임들도 많았지만 어떤 형태의 게임인지는 비슷한 유형의 게임을 해보았기에 옛날에 게임을 하던 시절도 생각이 났었다.
이 책을 보기 전에도 알고리즘은 모르지만 만들어봐야겠다는 생각으로 슈팅게임을 기획도 해보면서 이런 형태가 되고 각각의 필요한 부분들을 분석하였었는데 알고리즘 부분에서 어려웠었지만 하지만 이 책의 다양한 알고리즘 정리를 통해서 슈팅게임의 알고리즘을 볼 수가 있었다.
요즈음은 육아로 바쁜 나날을 보내고 있지만, 그래도 즐거운 책읽기는 계속되어야 한다. ^^
이 책은 한빛미디어에서 매니악스 시리즈로 나온 책 중에 하나로 지금까지 나온 3권 모두 일본 저자인 마츠우라 켄이치로가 작성한 것이다.
사람들이 게임을 개발하고자 할때 한번씩 고민해 보는? 한번씩 만들어 보고 싶은 ? 내용을 책으로 만들어 준게 나같은 사람에게는 즐거운 것이 아닐 수 없다.
책의 내용은 전반에는 개발에 필요한 기반 지식 및 플레이어, 적기, 탄에 대한 클래스 생성 과정에 대해서 설명하며, 중반이후부터는 탄막 알고리즘을 점차 발전시켜나가는 과정으로 설명되어 있다.
전반적인 번역의 상태는 최상이라고 판단되며, 제공되는 소스 프로그램 또한 컴파일 및 실행하는데 문제가 없다. 다만, 소스코드 및 readme파일에 대한 일본어 번역이 안되어 있어 깨져 보이는 글자(Shift-JIS: 일본어)는 약간의 옥의 티라고 할 수 있다. (그리고 그래픽이 조금만 더 화려했으면 좋았을 것을..)
그리고 책을 읽으면서 발견한 오타가 있는데, 이부분은 해당 출판사에 오타 수정 요청을 할 예정이다.
늘 좋은 책을 만들기 위해 최선을 다하고 있는 출판사 및 저자에게 감사함을 전한다.
(이번에도 건진게 있는 것 같아 개인적으로 흐뭇함을 감출 수 없다.)
아래는 ReadMe파일을 번역하여 올려 놓은 파일이다. (소스상의 일본어는 크게 볼 내용이 없어 별도로 번역하지 않았다.)
--------------------------------------------------------------------------------
" 사격 최강의 슈팅 게임 을 만든다! "샘플 프로그램 에 대해■ 개요본 CD -ROM에는 책 " 탄막 최강의 슈팅 게임 을 만든다! " 샘플 프로그램이 포함되어 있습니다. 책 에서 소개 한 다양한 탄막을 실제로 움직여 즐길 수 있습니다. 또한 샘플 의 전체 소스 코드 도 함께 제공하고 있습니다.■ 구성샘플 프로그램은 Visual C + + 2008 Express Edition 용 입니다. 샘플을 실행 및 빌드하는 경우 에는 도서 를 추천 필요한 소프트웨어를 설치해야 합니다.폴더 구성 은 다음 과 같습니다.○ Bullet 폴더샘플 프로그램 의 본체 입니다.○ LibGame 폴더DirectX 관련 기능을 정리 한 라이브러리입니다.○ LibUtil 폴더Win32 API 관련 기능을 정리 한 라이브러리입니다.■ 샘플 프로그램을 시작할 때 옵션샘플 프로그램은 Windows Vista / XP에서 작동합니다. 샘플 실행 에는 DirectX 9 에 대응 한 비디오 카드 와 드라이버, 각종 런타임 라이브러리 가 필요합니다. 자세한 내용은 책 을 참조하십시오.샘플 을 시작 하려면 탐색기 에서 " Bullet \ Release "또는 " Bullet \ Debug " 폴더에있는 " Bullet.exe " 를 실행 합니다. 또한 시작할 때 다음 옵션을 설정하면 기본 ( 800x600 ) 보다 높은 해상도로 샘플 프로그램을 실행 할 수 있습니다.- w 화면 의 폭- h 화면 의 높이- fw 화면 의 폭 ( 전체 화면 모드 )- fh 화면 의 높이 ( 전체 화면 모드 )예 :Bullet.exe - w 1024 - h 768 - fw 1280 - fh 1024( 창 모드로 1024x768 전체 화면 모드 에서 1280x1024 으로 설정 )■ 사용 조건모든 프로그램 및 데이터 의 저작권은 마츠우라 켄이치 / 츠카사 눈 속한다 . 무단 전재, 배포 , 수정 , 무상 을 포함한 상업적 프로그램 에 포함 된 저작권 표시 및 도서 소개 표시 의 변경 등은 삼가 해주십시오.그러나 저작권 표시 및 도서 소개 보기 에 손 보지 않는 한은, 수록된 소스 프로그램 을 원래 프로그램 의 작성 에 사용하는 것은 허용 되고 있습니다.■ 면책 사항본 CD-ROM에 수록된 프로그램은 사용자의 책임 에서 이용 하십시오. 수록 프로그램 의 안전 에 세심한주의 를 기울이고 있습니다 만, 만일 프로그램이나 바이러스 등에 의해 어떠한 손해 를 입은 경우, 혹은 사용자 이외의 자에게 손해를 입힌 경우 프로그램 의 릴리스 노트 발생 장애 에 대한 저작자 · 출판사 ( 소프트 뱅크 크리에이티브 ( 주) ) 는 일체 책임을 지지 않습니다.사용자 의 실수로 본 CD-ROM 파손 된 경우 출판사 는 그 책임을 지지 않습니다.■ 컴퓨터 바이러스에 대한본 CD-ROM에 수록 한 파일들은 제작 관계자 에 의한 강력한 바이러스 검사 를 실시하고 있습니다 . 그러나 그것으로 바이러스 의 부재 를 보장 하는 것은 아닙니다. 각자 바이러스 검사를 수행하여 안전성을 확인하는 것을 추천 합니다.이미 바이러스 에 시달린 컴퓨터 에 책 CD-ROM에 수록된 파일을 설치 한 경우이 CD-ROM 파일 도 바이러스 에 시달리고 버릴 가능성이 있습니다. 이 내용은 제작 관계자 의 책임 이 미치는 곳은 없습니다.■ 감사샘플 프로그램은 libpng 를 사용 하고 받고 있습니다. libpng 는 Glenn Randers - Pehrson 씨 등이 저작권 을 가지고 있습니다.샘플 프로그램은 libjpeg 을 사용 하고 받고 있습니다. libjpeg 는 Thomas G. Lane 씨 등이 저작권 을 가지고 있습니다.샘플 프로그램은 메르 센 · 트위스터 법 을 사용 하고 받고 있습니다. 이 기술은 마쓰모토 마코토 씨 , 니시무라拓士씨 등이 개발 한 난수 발생 알고리즘입니다.■ 저자 Web 사이트아래 의 저자 Web 사이트 에서는 도서 및 프로그램 에 대한 다양한 정보 를 제공 시키고 받고 있습니다. 도서 및 프로그램에 대한 문의 사항 이 있으시면 , 꼭 이용 하십시오.http://cgi32.plala.or.jp/higpen/gate.shtml
--------------------------------------------------------------------------------
이 책은 게임 매니악스 게임 알고리즘 시리즈의 세 번째 권인
탄막 게임에 대한 책입니다.
사실 탄막이라는 말이 일상생활에서 많이 쓰는 말이 아닌 것 같아서
약간 어색한 느낌이 들기도 하지만, 게임의 세계에서 보면 상당히 흔하게
볼 수 있는 내용이기도 합니다.
슈팅게임같은 곳에서 상대편으로 부터 많은 총알이나 미사일이 날아오는 것을
쉽게 볼 수 있는데요. 그런 것을 탄막이라고 하고, 그런 탄막을 컴퓨터 화면에
나타내는 방법을 알려주고 있는 것이 바로 이 책의 내용입니다.
앞서 나왔던 슈팅 게임이나 퍼즐 게임처럼 이 책도 탄막이라는 주제에 집중하고 있습니다.
이 게임매니악스 시리즈는 해당 주제를 지정하고 그 주제에 집중합니다.
그렇다보니 이 책이 다른 게임 개발 책 처럼 초보자용이나 중급자용이라는 구분을 하기
애매한 부분이 있습니다.
즉, 게임 개발에는 초보자 이더라도, 프로그래밍 경험이 많은 경우라면
어렵지 않게 볼 수 있기 때문입니다.
다양한 탄막의 종류와 그에 대한 구현 방법, 즉 알고리즘을 차근차근 설명해 줍니다.
그리고, 소스코드 까지 있어서, 다양한 탄막을 직접 확인해볼 수 있게 되어 있습니다.
이 책의 주 목적이 알고리즘과 그 구현에 있기 때문에,
알고리즘의 이해가 목적인 분에게도 많은 참고가 될 수 있습니다.
소스코드 또한 해당 알고리즘에 집중하고 있으므로, 그 부분을 주의하셔야 합니다.
이 책만으로 어떤 게임 전체를 만들기에는 부족합니다.
원하는 게임이 슈팅 게임과 같은 종류이고, 탄막과 같은 효과가 필요한 분이
이 책의 가장 직접적인 도움을 받을 수 있습니다.
그 외의 분들에게는 게임 개발을 위한 참고도서로 유용할 것 같습니다.
게임 개발에 관심있는 분들이라면,
자신이 생각하는 분야가 슈팅이나 탄막이 필요하지 않더라도
한 번쯤 읽어보시는 것이 좋을듯 합니다.
어린시절이나 지금이나 우리가 오락실에서 또는 마메 같은 애뮬레이터로 수많은 슈팅게임들을 접하면서 와 저건진짜 어떻게 피하지 하면서도 이걸 어떻게 만들지? 라는 생각이 머릿속 가득했습니다. 프로그래머의 길을 택하고 게임 개발이라는 분야에 뛰어들었지만 아직도 저건 정말 대단한거 같아! 하는 생각이 듭니다. 학교 과제나 포트폴리오를 만들기위해 DX나 Ogre엔진으로 슈팅 게임을 만들어 봤지만, 도대체 저런 알고리즘은 어떻게 만들어야 하는지 궁금했습니다. 그래서 알고리즘에 대한 설명하는 책이나 인터넷자료를 찾아봤지만, 많지가 않거나 전혀 없어서 고민 하는시간이 늘었습니다. 그래서인지 이번에 번역서로 출판된 게임 매니악스 탄막 게임 알고리즘을 보면서 정말 도움이 많이될것 같아 기분이 좋습니다.
2.
이 책을 한마디로 표현하자면 정말 친절하다라는 말이 나옵니다.
일단 목차를 보면
1장. 슈팅 게임의 구조2장. 캐릭터 움직이기3장. 소용돌이탄 베리에이션4장. n-way탄 베리에이션5장. 탄 조합6장. 색다른 탄막
게임 프로그래머가 아니더라도 이 책을 보는데는 전혀 문제가 없습니다. 1장과 2장에서 게임 개발 이론과 슈팅게임 게임을 어떻게 만드는지에 대해서 친절하게 설명합니다. 꼭 필요한 스킬도 설명합니다. 움직임, 프레임, 버퍼링, 드로잉, 텍스쳐와 메모리 관리, 충돌판정까지!
어느정도의 지식은 필요하지만 이 책을 보는데 있어서는 전혀 문제가 되지 않습니다!
컴퓨터 그래픽스에 대한 지식과 게임 개발에 대한 지식이 있다면 1장과 2장은 건너뛰고 3장부터 보는편이 좋습니다.
번역서이지만, 이 책에서는 하나하나 설명을 자세하게 합니다. 그리고 게임을 만들기위해서 어떻게 클래스를 설계하며 함수를 관리하는지에 대해 주목할 필요가 있습니다. 소프트웨어 공학적으로 보면 유지보수하기가 굉장히 쉬운 소스라고 볼 수 있습니다.
조금 아쉬운점이 있다면 예제소스를 딱 받아보는 순간 멘탈이 붕괴됩니다. 모두 일본어 주석이기 때문이죠... 그런 부분들은 책을 통해 설명된부분을 봐야합니다. 모든 소스를 라인 바이 라인으로 설명하면 좋겟지만 일부분에 그쳐 어느정도는 스스로 분석을 해야합니다.
이 책의 이름처럼 탄막에 대한 설명이기 때문에 당연할 수도 있는것 같습니다. 슈팅게임의 전반적인 것은 "게임 매니악스 슈팅게임 알고리즘" 도서를 참고하는게 좋을듯 싶습니다.
3.
이 책을 보면서 놀란것은 37가지나 되는 탄막을 설명한다는 것입니다. 다양한 탄막의 구현방법을 알수 있으며, 바로 적용이 가능하다는 것입니다! 예제소스를 만지면서 다양한 조합을 섞다보면 나만의 탄막 알고리즘을 만들다보면 탄막 알고리즘이 예술이라는 것을 알수있습니다. 함수 각각의 파라미터 값에 대한 상세한 설명과 응용하는 것까지 담겨 있습니다.