서브메뉴

본문

Flash Game Development by Example 한국어판 (9가지 예제로 배우는 플래시 게임 개발)
Flash Game Development by Example 한국어판 (9가지 예제로 배우는 플래시 게임 개발)
저자 : 에마누엘레 페로나토
출판사 : 에이콘출판
출판년 : 2011
ISBN : 9788960772465

책소개

게임 개발 방법을 한국어로 소개하는 『Flash Game Development by Example』. 널리 알려진 ‘짝 맞추기’, ‘지뢰 찾기’, ‘스네이크’ 등을 다루는 이 책은 아홉 가지 유명 게임의 개발 방법을 단계별로 제시하고 있다. 인공지능, 레벨 처리, 움직이는 대상에 발사, 퍼즐, 점수 체계, 시간제한 등 게임 개발에 필요한 다양한 기술을 학습하도록 돕는다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

『Flash Game Development by Example 한국어판』은 지금까지 나온 플래시 게임 개발서 중 친절한 설명 과정이 단연 최고인 책이다. 대부분 개발 서적이 독자의 눈높이를 맞추는 시도한다고 표방해도 목적 달성에 실패하는 사례가 많은데, 이 책에서는 그야말로 진정한 초급 개발자, 심지어는 개발을 한 번도 해보지 않은 사람조차도 바로 게임 개발을 배울 수 있을 정도로 친절하고 쉬운 방법으로 접근한다. 특히 테트리스, 비주얼드, 지뢰 찾기 등 누구나 알 만한 유명 게임 9종을 선택해 개발 과정을 단계별로 상세히 소개함으로써, 따라 하기만 해도 누구나 손쉽게 플래시 게임 개발을 배울 수 있는 좋은 구성을 보여준다.

『Flash Game Development by Example 한국어판』은 매우 빠르게 게임 개발 방법을 배울 수 있게 구성했다. 9가지 유명 게임을 단계별로 차근차근 설명하며, 각 게임마다 새로운 기법과 기술, 개념을 소개한다. 책의 마지막 장을 덮을 때면 이미 실전 게임 개발 기법을 모두 경험하고 직접 자신만의 창작 게임을 만들 수 있는 기술을 갖추게 될 것이다.

이 책은 간단하면서도 널리 알려진 ‘짝 맞추기’과 ‘지뢰 찾기’ 게임으로 시작한다. 기초적인 게임 설계를 배우고 나면 ‘사목’ 게임을 통해 간단한 인공지능에 대해서도 배운다. 그러고 나면 유명한 고전 아케이드 게임인 ‘스네이크’, ‘테트리스’, ‘아스트로 패닉’ 같은 게임을 직접 제작하며, 책의 마지막 부분에서는 비교적 최신 캐주얼 게임을 만드는 과정도 담았다.

★ 이 책에서 다루는 내용 ★

■ 플레이 가능한 9가지 게임을 간결하고 빠른 진행으로 배울 수 있게 구성했다.
■ 게임 개발 기술의 핵심을 설명하기 위해 신중하게 선택한 게임을 쉬운 방식으로 설명합니다.
■ 퍼즐과 보드 스타일 게임뿐만 아니라 빠르게 진행되는 아케이드 게임에 이르기까지 다양하게 다뤘다.
■ 인공지능, 레벨 처리, 움직이는 대상에 발사, 퍼즐, 점수 체계, 시간제한 등 게임 개발에 필요한 다양한 기술을 소개한다.
■ 짝 맞추기, 지뢰 찾기, 사목, 스네이크, 테트리스, 아스트로 패닉, 비주얼드, 퍼즐 버블, 볼 밸런스 같은 다양한 형태의 게임 제작 과정을 소개한다.
웹사이트에서 무료 영문 PDF로 제공되는 보너스 장에서 10번째 보너스 게임인 ‘소코반’의 개발 과정도 살펴볼 수 있다.

★ 이 책의 대상 독자 ★

기존에 게임 개발 경험이 전혀 없거나, 개발을 시작했지만 부족한 기술을 좀 더 향상시켜 성공적인 프로젝트를 완수를 희망하는 사람이라면 이 책은 분명히 많은 도움이 될 것이다.

★ 저자 서문 ★

플래시 게임 시장이 점점 더 확장됨에 따라 더 많은 개발자가 플래시 게임을 개발하는 데 노력을 기울이는 현상은 놀랄 일이 아니다. 어쨌든 플래시 게임 개발이 다른 플랫폼의 캐주얼 게임 개발과 다른 점은 상업적 성공을 이끌어내는 데 소요되는 예산이 매우 저렴하다는 점이다.

남는 시간을 활용해 게임을 개발하는 독립 개발자가 많이 있으며, 이런 열정을 수익으로 연결하기도 한다. 이중 일부는 전업 개발자로 뛰어들어 제법 높은 수익을 내기도 한다.
재미있는 게임을 빠르게 개발하는 일은 고용주로서도 꼭 알아야 하는 기술이다. 이 책은 그런 관점을 염두에 두고, 플래시 게임 개발을 어떤 방식으로 진행하는지 다룬다.

비디오 게임의 역사를 만든 게임을 분석하고 따라 해보면서 1인 개발자라 하더라도 그리 어렵지 않게 재미있는 플래시 게임을 만들 수 있음을 확인할 수 있다.

★ 옮긴이의 말 ★

지금으로부터 약 20년쯤 전인 중학생 시절, ‘서태지와 아이들’ 1집이 발매되고 세상이 온통 ‘난 알아요’ 열풍에 휩싸였을 무렵, 저는 처음으로 컴퓨터라는 물건을 접했습니다. 하지만 그보다 훨씬 이전인 초등학교도 들어가기 이전부터 저는 게임에 살짝 미쳐 있었습니다.

당시 기억으로 제가 살던 곳에는 아직 이렇다 할 오락실조차 없었고, 기껏해야 세탁소 같은 가게들이 매장 한쪽에 게임기를 한두 대 정도 갖춰놓고 부업(?)으로 운영하던 시절이었습니다. 이후 정식으로 오락실이 하나씩 생기면서 제비우스, 갤러그 등 당시로는 환상적인 음향과 그래픽을 자랑하는 게임을 접할 수 있었습니다. 이때부터 저는 컴퓨터 게임에 매료됐고, 부모님의 눈을 피해 가며 동전 50원을 들고 열심히 오락실을 제집 드나들 듯하기 시작했습니다. 상당히 어린 시절이었음에도 아직 당시 게임들의 배경음악과 효과음이 잊히지 않는 걸 보면, 제게 오락실 게임은 매우 신선하고 충격적인 일이었습니다.

이후 중학생 시절 자연스레 컴퓨터를 접하면서 오락실에서 하던 게임을 공짜(?)로 즐길 수 있다는 생각에 또 한 번 흥분했던 기억이 납니다. 이후 열심히 플로피 디스크를 들고 불법 복사를 해가며 수많은 게임을 즐기던 무렵, 같은 반 친구 녀석이 GW-BASIC이라는 언어로 게임을 만들어 제게 보여줬는데, 이는 제 인생 행로에 큰 영향을 미치는 사건이었습니다. 이 사건(?)을 계기로 게임을 즐기기보다 개발하는 일로 흥미가 옮겨갔습니다.

앞서 말한 내용은 비단 저만의 이야기는 분명히 아닐 것입니다. 수많은 나의 친구가 다 그랬고 누구나 게임에 열광했다고 생각합니다. 그만큼 게임이라는 것은 인간 본연의 욕구와 아주 깊은 관련을 맺고 있으며, 그렇기 때문에 수많은 산업이 아무리 바뀌어도 게임 산업의 기본은 항상 흔들림 없이 유지된다고 생각합니다. 다른 산업과 달리 게임은 게임을 즐기는 플레이어의 선택을 받아야만 성공할 수 있으며, 이 선택의 과정은 결국 전적으로 게이머가 느끼는 재미에 따라 결정됩니다. 물론 이 과정에서 발생하는 마케팅 등의 변수는 존재하지만, 핵심은 ‘플레이어가 재미를 느끼는가’입니다. 아무리 거액의 개발비와 마케팅 비를 쏟아 붓더라도 플레이어가 즐길 때 기대하는 재미를 충족시키지 못하는 게임은 죽은 게임이나 다름없습니다.

이 책을 선택한 독자들은 모두 가슴 한 켠에 인간에게 기쁨과 즐거움을 주고자 하는 마음이 자리 잡고 있는 사람들일 거라 생각합니다. 플래시 게임을 개발하고 싶지만, 어디에서부터 어떻게 접근해야 할지 모르는 사람이라면, 이 책은 정말 과장됨 없이 딱 맞는 책이라 생각합니다. 저자는 매우 친절한 방식으로 9가지 게임 개발 과정을 ‘따라하기’ 방식으로 상세히 설명합니다. 이 책에서 소개하는 9가지 게임 대부분은 평소 게임에 관심 없는 사람이라 하더라도 누구나 다 알 만한 유명 게임들이며, 이렇게 유명한 게임들을 직접 개발해보며 샘솟는 자신감은 분명히 이후에도 큰 도움이 되리라 생각합니다. 플래시로 개발해보지 않은 사람은 물론, 심지어 프로그래밍 경험이 전혀 없는 사람이라고 해도 이 책을 읽으며 조금의 노력만 기울인다면 손쉽게 게임을 직접 만들어볼 수 있게 구성된 훌륭한 책입니다. 내용을 쉽게 설명하면서, 실제 시장에서도 통하는 살아있는 게임을 직접 만들 수 있게 고심한 저자의 노력이 책 전반에 걸쳐 묻어납니다.

부디 이 책이 플래시 게임 개발자로서의 인생을 시작하는 데 큰 디딤돌이 되기를 간절히 희망합니다/
[교보문고에서 제공한 정보입니다.]

목차정보

1장 짝 맞추기 게임
___게임 디자인 정의
___스테이지 크기, 프레임 레이트, 배경 컬러 설정
___‘짝 맞추기 게임’ 본격 개발("Hello World")
___타일 만들기
___무질서도 추가: 타일 섞기
___스테이지에 타일 배치
___타일 선택
___타일 일치 검사
___플레이어에게 사건 보여주기
___부정행위 방지
___교육 요소 추가를 통한 완성도 향상
___정리
___추가 작업

2장 지뢰 찾기 게임
___게임 디자인 정의
___비어있는 필드 생성
___지뢰 숨기기
___숫자 추가
___최적화
___스테이지에 타일 배치
___타일 콘텐츠 보여주기
___인접한 빈 타일 자동으로 보여주기
___타일 깃발 처리
___타이머와 게임오버
___서든데스
___정리
___추가 작업

3장 사목 게임

___게임 디자인 정의
___게임 필드
___부드러운 애니메이션 처리
___코드 분리
___보드 추가
___스테이지에 보드 배치
___클래스 추가 생성
___ 배치
___원반 이동
___게임 규칙 적용
___빈자리가 있는 행 찾기
___떨어지는 원반 처리
___셀 값 확인
___원반 놓기
___스테이지에 추가되는 원반 대기
___승리 판정
___원반 애니메이션
___애니메이션 처리
___컴퓨터 플레이 제작
___컴퓨터 능력 업그레이드
___인공지능과 대결: 수비적 플레이
___정리
___추가 작업

4장 스네이크 게임
___게임 디자인 정의
___배열 기반 게임과 무비클립 기반 게임
___필드 준비
___그래픽 출력
___뱀 배치
___뱀
___코드 최적화
___뱀 움직이기
___뱀 이동 제어
___과일 놓기
___과일 먹기
___뱀 길이 늘이기
___벽 배치
___뱀 사망 처리
___정리
___추가 작업

5장 테트리스 게임
___게임 디자인 정의
___클래스 임포트와 변수 선언
___게임 필드 배경 그리기
___게임 필드 배경 화면 개선
___테트로미노 만들기
___테트로미노 배치
___테트로미노 수평 이동
___테트로미노 수직 이동
___테트리미노 착지 처리
___테트로미노 충돌 처리
___테트로미노 회전
___완성된 라인 제거
___나머지 라인 처리
___테트로미노 자유낙하 처리
___게임 종료 검사
___다음 테트로미노 보여주기
___정리
___추가 작업

6장 아스트로 패닉 게임
___게임 디자인 정의
___ 생성과 그래픽 작업
___우주선 추가와 제어
___글로우 필터 추가
___우주선 총알 발사
___총알 발사
___적군 추가
___적군 이동
___적군과의 충돌 처리
___적군 죽이기
___적군 죽이기: 좋은 방법
___적군 죽이기: 그래픽 효과
___레벨 증가
___현재 점수와 최고 점수 처리
___로컬 컴퓨터에 데이터 저장
___정리
___추가 작업

7장 비주얼드 게임
___문서와 객체 생성
___보석 배치
___현실감 있는 보석 배치
___보석 선택
___보석 맞교환을 위한 준비
___보석 맞바꾸기
___실제 보석 교환
___사라질 보석 선택
___보석 제거
___보석 낙하 처리
___새 보석 추가
___콤보 처리
___힌트 주기
___정리
___추가 작업

8장 퍼즐 버블 게임
___문서와 자원 생성
___대포 배치와 이동
___게임 필드 그리기
___홀수 열 그리기
___게임 필드에 피타고라스 정리 적용
___대포에 방울 장전
___방울 쏘기
___방울 반사와 정지 처리
___방울의 위치 조정과 재장전
___방울 쌓기
___방울 체인 제거
___체인 제거
___연결되지 않은 방울 제거
___정리
___추가 작업

9장 볼 밸런스 게임
___파일과 자원 생성
___지렛대 추가
___낙하지점 선택
___공 낙하 처리
___공 쌓기
___공 제거
___떠있는 공 처리
___지렛대 움직이기
___정리
___추가 작업
___부록 앞으로 가야 할 길

마치면서
[교보문고에서 제공한 정보입니다.]

QuickMenu