Top

Flash Game Development by Example 한국어판 [9가지 예제로 배우는 플래시 게임 개발]

  • 원서명Flash Game Development by Example (ISBN 9781849690904)
  • 지은이에마누엘레 페로나토
  • 옮긴이조경빈
  • ISBN : 9788960772465
  • 30,000원
  • 2011년 11월 30일 펴냄
  • 페이퍼백 | 444쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

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


[ 소개 ]

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

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


[ 이 책에서 다루는 내용 ]

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


[ 이 책의 대상 독자 ]

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

[ 이 책의 구성 ]

1장, 짝 맞추기 게임은 배열과 제한된 UI만으로 개발 가능한 가장 간단한 게임이다.

2장, 지뢰 찾기 게임은 배열을 사용해 만들 수 있으며, 재귀 호출 함수 같은 흥미로운 내용을 다룬다.

3장, 사목 게임은 좀 더 복잡한 규칙과 간단한 인공지능을 사용해 사람과 컴퓨터가 대결할 수 있게 한 배열 기반 게임이다.

4장, 스네이크 게임은 간단한 규칙을 따라 키보드를 사용해 조작하는 게임이지만, 실시간 처리가 필요한 게임이다. 뱀은 쉬지 않고 끊임없이 움직이기 때문에 플레이어의 입력을 가만히 앉아 기다리기만 할 수 없다.

5장, 테트리스 게임은 가장 개발 난이도가 높은 게임이다. 타이머 처리, 플레이어 입력, 다차원 배열, 각기 다른 모양을 가진 블록 처리 등이 필요하다.

6장, 아스트로 패닉 게임은 난이도를 높여가며 끊임없이 진행하는 슈팅 게임이며, 점수 체계를 지원하고, 최고 점수를 기록하는 시스템을 구현한다.

7장, 비주얼드 게임은 공전의 히트를 기록한 최신 게임으로, 콤보 처리와 플레이어에게 힌트를 제공할 때 필요한 간단한 인공지능 기능을 다룬다.

8장, 퍼즐 버블 게임은 3개의 방울을 맞추는 게임으로, 게임 필드 형태가 직교 형태가 아니며, 2인 이상의 다중 플레이를 지원한다.

9장, 볼 밸런스 게임은 저자가 직접 개발한 게임으로, 복잡하지는 않지만 어느 정도 성공한 게임이다. 이 게임을 바탕으로 순수 창작 게임을 만드는 방법을 소개한다.

소코반은 좀 더 복잡한 규칙을 가진 게임이며, 키보드로 동작하고, 다양한 레벨을 제공한다. 또한 ‘되돌리기’ 기능은 모든 프로그래머가 참고할 만한 내용이다. 온라인 영문 PDF 문서는 https://www.packtpub.com/sites/default/files/0904_Sokoban.pdf 에서 다운로드할 수 있다.

저자/역자 소개

[ 저자 서문 ]

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

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

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


[ 저자 소개 ]

에마누엘레 페로나토 (Emanuele Feronato)
80년대 초반부터 웹과 게임 개발에 관심을 갖고 프로그래밍 언어에 대한 연구를 시작했다. 유럽사회기금(European Social Fund)을 위한 온라인 프로그래밍 강의를 했으며, 현재 이탈리아에 있는 웹 개발사를 운영하며 리드 프로그래머로서 일한다.
그가 개발한 플래시 게임은 최대 게임 포털 사이트의 후원을 받고 있으며, 5천만 번 이상 실행될 정도로 인기를 끌었고, 또한 저자로서 팩트출판사(Packt Publishing)의 기술 자문으로 일했다.
독립 개발자에 관한 내용을 다루는 블로그 www.emanueleferonato.com를 운영 중이다.


[ 옮긴이의 말 ]

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

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

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

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

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

부디 이 책이 플래시 게임 개발자로서의 인생을 시작하는 데 큰 디딤돌이 되기를 간절히 희망합니다.


[ 옮긴이 소개 ]

조경빈
중학교 때 처음으로 8비트 컴퓨터를 만지기 시작하면서부터 게임 개발에 흥미를 느끼기 시작했으며, (주)인프라웨어에서 온라인 게임과 인터넷 브라우저 엔진 개발에 참여했다. 형식에 얽매이는 일을 가장 싫어하며, 새롭고 흥미로운 세상 모든 일, 그리고 사람들을 즐겁게 하는 일에 관심이 많다. 대학 시절부터 다수의 전시회 출품과 공모전 입상 경력이 있으며, 가장 최근에는 SKT T스토어 제1회 공모전 스마트폰 게임 부문에서 입상했다.

목차

목차
  • 1장 짝 맞추기 게임
    • 게임 디자인 정의
    • 스테이지 크기, 프레임 레이트, 배경 컬러 설정
    • ‘짝 맞추기 게임’ 본격 개발("Hello World")
    • 타일 만들기
    • 무질서도 추가: 타일 섞기
    • 스테이지에 타일 배치
    • 타일 선택
    • 타일 일치 검사
    • 플레이어에게 사건 보여주기
    • 부정행위 방지
    • 교육 요소 추가를 통한 완성도 향상
    • 정리
    • 추가 작업
  • 2장 지뢰 찾기 게임
    • 게임 디자인 정의
    • 비어있는 필드 생성
    • 지뢰 숨기기
    • 숫자 추가
    • 최적화
    • 스테이지에 타일 배치
    • 타일 콘텐츠 보여주기
    • 인접한 빈 타일 자동으로 보여주기
    • 타일 깃발 처리
    • 타이머와 게임오버
    • 서든데스
    • 정리
    • 추가 작업
  • 3장 사목 게임
    • 게임 디자인 정의
    • 게임 필드
    • 부드러운 애니메이션 처리
    • 코드 분리
    • 보드 추가
    • 스테이지에 보드 배치
    • 클래스 추가 생성
      • 배치
    • 원반 이동
    • 게임 규칙 적용
    • 빈자리가 있는 행 찾기
    • 떨어지는 원반 처리
    • 셀 값 확인
    • 원반 놓기
    • 스테이지에 추가되는 원반 대기
    • 승리 판정
    • 원반 애니메이션
    • 애니메이션 처리
    • 컴퓨터 플레이 제작
    • 컴퓨터 능력 업그레이드
    • 인공지능과 대결: 수비적 플레이
    • 정리
    • 추가 작업
  • 4장 스네이크 게임
    • 게임 디자인 정의
    • 배열 기반 게임과 무비클립 기반 게임
    • 필드 준비
    • 그래픽 출력
    • 뱀 배치
    • 코드 최적화
    • 뱀 움직이기
    • 뱀 이동 제어
    • 과일 놓기
    • 과일 먹기
    • 뱀 길이 늘이기
    • 벽 배치
    • 뱀 사망 처리
    • 정리
    • 추가 작업
  • 5장 테트리스 게임
    • 게임 디자인 정의
    • 클래스 임포트와 변수 선언
    • 게임 필드 배경 그리기
    • 게임 필드 배경 화면 개선
    • 테트로미노 만들기
    • 테트로미노 배치
    • 테트로미노 수평 이동
    • 테트로미노 수직 이동
    • 테트리미노 착지 처리
    • 테트로미노 충돌 처리
    • 테트로미노 회전
    • 완성된 라인 제거
    • 나머지 라인 처리
    • 테트로미노 자유낙하 처리
    • 게임 종료 검사
    • 다음 테트로미노 보여주기
    • 정리
    • 추가 작업
  • 6장 아스트로 패닉 게임
    • 게임 디자인 정의
      • 생성과 그래픽 작업
    • 우주선 추가와 제어
    • 글로우 필터 추가
    • 우주선 총알 발사
    • 총알 발사
    • 적군 추가
    • 적군 이동
    • 적군과의 충돌 처리
    • 적군 죽이기
    • 적군 죽이기: 좋은 방법
    • 적군 죽이기: 그래픽 효과
    • 레벨 증가
    • 현재 점수와 최고 점수 처리
    • 로컬 컴퓨터에 데이터 저장
    • 정리
    • 추가 작업
  • 7장 비주얼드 게임
    • 문서와 객체 생성
    • 보석 배치
    • 현실감 있는 보석 배치
    • 보석 선택
    • 보석 맞교환을 위한 준비
    • 보석 맞바꾸기
    • 실제 보석 교환
    • 사라질 보석 선택
    • 보석 제거
    • 보석 낙하 처리
    • 새 보석 추가
    • 콤보 처리
    • 힌트 주기
    • 정리
    • 추가 작업
  • 8장 퍼즐 버블 게임
    • 문서와 자원 생성
    • 대포 배치와 이동
    • 게임 필드 그리기
    • 홀수 열 그리기
    • 게임 필드에 피타고라스 정리 적용
    • 대포에 방울 장전
    • 방울 쏘기
    • 방울 반사와 정지 처리
    • 방울의 위치 조정과 재장전
    • 방울 쌓기
    • 방울 체인 제거
    • 체인 제거
    • 연결되지 않은 방울 제거
    • 정리
    • 추가 작업
  • 9장 볼 밸런스 게임
    • 파일과 자원 생성
    • 지렛대 추가
    • 낙하지점 선택
    • 공 낙하 처리
    • 공 쌓기
    • 공 제거
    • 떠있는 공 처리
    • 지렛대 움직이기
    • 정리
    • 추가 작업

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안