Top

플래시 게임 개발 & 기획 마스터 세트

  • 원서명ActionScript for Multiplayer Games and Virtual Worlds, The Essential Guide to Flash Games: Building Interactive Entertainment with ActionScript, The Art of Game Design: A book of lenses
  • 지은이죠비 마카르, 제프 펄튼, 스티브 펄튼, 제시 셸
  • 옮긴이송용근, 유윤선, 전유택, 이형민
  • ISBN : 9788960772328
  • 98,000원
  • 2011년 09월 30일 펴냄
  • 페이퍼백 | 1,972쪽 | 188*250mm
  • 시리즈 : 게임 개발 프로그래밍

책 소개

[ 세트 구성: 전3권 ]

1) 『플래시 멀티플레이 게임 개발: 소셜 게임과 다중사용자 콘텐츠 제작을 위한』
2) 『플래시 게임 마스터: 액션스크립트 3.0을 활용한 인터랙티브 게임 개발』
3) 『The Art of Game Design: 게임 디렉터, 기획자, 개발자가 꼭 읽어야 할 게임 디자인에 관한 모든 것』


『플래시 멀티플레이 게임 개발』 소개

최근 멀티플레이 게임의 요구는 급격히 증가해 왔고, 앞으로도 많은 발전을 보일 것이다. 하지만 멀티플레이 게임을 어떻게 만들 수 있는지에 대한 종합적인 설명은 거의 없었다. 이 책은 바로 이 지점을 직시한다. ‘멀티플레이 요소’에 대한 기본 질문부터 멀티플레이 게임을 만드는 과정에서 맞닥뜨리는 기술 내용(캐릭터의 순간이동, 지형 표현)에 이르기까지, 플래시로 만드는 멀티플레이 게임의 모든 것을 설명한다.

『플래시 게임 마스터』 소개

플래시 게임 개발자와 액션스크립트 프로그래머 또는 기존 게임 개발자를 위한 완벽 마스터 가이드다. 책을 읽으며 따라 해보는 것만으로 모범 개발 기법을 익힐 수 있다. 게임 프레임워크를 완성하고 10가지 게임 프로젝트를 만들어봄으로써 액션스크립트 개발자가 할 수 있는 모든 플래시 기법을 익힐 수 있다. 또한 고급 액션스크립트 기법을 총동원해 플래시 게임 개발자가 겪을 수 있는 문제를 모두 해결해본다. 이 책에서는 아주 간단한 클릭 게임을 시작으로 단계적으로 게임 프레임워크를 완성하므로, 게임 개발을 해본 적이 없거나 프레임워크를 만들어본 적이 없더라도 책의 내용을 이해하는 데에는 전혀 무리가 없다.

『The Art of Game Design』 소개

별다른 사전 지식 없이도 게임 디자인의 원론을 통달할 수 있는 『The Art of Game Design』은 보드 게임, 카드 게임, 스포츠 게임에서 사용되는 심리적 기본 법칙이 최고의 비디오 게임을 만드는 데도 핵심이라는 것을 보여준다. 자신의 게임을 다양한 관점(혹은 렌즈)으로 봐야 좋은 게임을 디자인할 수 있다. 게임 디자인이라는 미지의 영역을 여행하는 독자에게 이 책은 100개의 렌즈를 전한다. 각 렌즈는 영감을 주는 100가지 질문들로, 게임을 더 발전시킬 수 있도록 자문해보는 내용이다. 책에서 설명하는 각 렌즈들은 심리학, 건축학, 음악, 시각 디자인, 영화, 소프트웨어 공학, 테마파크 디자인, 수학, 작문, 퍼즐 디자인, 인류학 등 다양한 분야로부터 끌어 모은 것이다. 현직 게임 디렉터, 기획자, 개발자는 물론이고 게임 디자이너가 되고 싶은 이들을 위한 필독서다.

저자/역자 소개

[ 저자 소개 ]

죠비 마카르 (Jobe Makar)
플래시 멀티플레이 게임 수석 아키텍트로 이 분야의 선두적인 기업 일렉트로탱크Electrotank (www.electrotank.com)의 창립자다. 지난 10여 년간 200개 이상의 플래시 게임과 가상세계를 만들어 왔고, EUP 가상세계와 MMOG 플랫폼(www.eupsite.com) 제작에 참여했다.

제프 펄튼 (Jeff Fulton)
30년 이상 취미로 컴퓨터 게임과 비디오 게임을 즐기고 있다. 어린 시절 제프는 게임 프로그래밍을 통해 돈을 벌고 싶다는 막연한 꿈을 꾸긴 했지만 전문 게임 개발자가 될 생각은 전혀 없었다. 제프는 오히려 작가나 영화감독이 될 생각이었다. 대학에서 친구들과 함께 예산이 전혀 필요 없는 영화 몇 편을 찍고 난 후 제프는 자신이 창작 분야만큼이나 기술적인 분야에도 소질이 있음을 깨달았다. 제프와 그의 형인 스티브가 애니메이션을 제작하고 이들 영화의 타이틀 시퀀스를 만드는 데 사용한 아타리 ST 컴퓨터는 이후 제프가 전문 게임 개발자로서의 길을 걷게 하는 데 큰 영감을 줬다. 1991년 제프는 ST 액션 매거진에서 Llamasoft의 게임 개발자인 제프 민터의 게임 개발 관련 연재 기사를 읽었다. 이 연재 기사는 그의 이후 경력의 씨앗을 심어준다. 제프는 민터가 기사에서 설명하고 개발한 포스트 복고 게임의 다양한 언어와 흥미로운 이야기에 매료됐다. 게임 개발이 단순히 창조적인 추구를 통해 이뤄지지 않는다는 사실을 깨달은 후 제프는 대학의 모든 영화 과목을 제쳐두고 최대한 기술 수업과 경영 수업을 찾아서 수강했다. 대학 졸업 후 제프는 업무 시간에는 주로 펄과 C++로 다양한 비즈니스 애플리케이션을 만들고, 여가 시간에 게임 코딩과 개발을 했다. 1990년대 말 웹 붐이 강타했을 때 제프는 기회를 놓치지 않고 벤처를 시작하는 기업들의 웹사이트를 만들고 거대 다국적 기업을 위한 게임을 만들었다. 2006년 게임과 사이트가 200개 이상 쌓이자 제프와 스티브(역시 게임 개발자이자 사이트 개발자)는 www.8bitrocket.com이라는 자신들의 사이트를 시작한다. 이 사이트의 목적은 웹 게임과 복고 스타일의 게임을 알리고 자신들이 익힌 게임 설계, 코딩, 개발 기법을 다른 이들에게 전수하는 것이다.
제프가 가장 좋아하는 게임으로는 Super Breakout(Atari 2600), River Raid(Atari 2600), Dragon Stomper(Atari 2600), Rally Speedway(Atari 800), Fort Apocalypse(Atari 800), Mule(Atari 800), Asteroids(오락실), Ms. Pac-man(오락실), Star Castle(오락실), Phantasie(Atari ST), Megaroids(Atari ST), Oids(Atari ST), Anco Player Manager(Atari ST), Galaga(Arcade), Food Fight(Atari 7800), Tempest 2000(Jaguar), Wolfenstein 3D(DOS), Medal Of Honor(PS1), Point Blank 2(PS1), Duke Nuke ’Em 3D(DOS), System Shock 2(PC), Tony Hawk Pro Skater(PS1), Half Life(PC), New Star Soccer(PC/Mac), Baldur’s Gate: Dark Alliance(PS2)가 있다.

스티브 펄튼 (Steve Fulton)
자칭 아타리 광팬인 스티브 펄튼은 자신이 기억하는 한 항상 게임을 만들고 싶어 했다. 영화 학교와 락 저널리즘에도 잠깐 손을 댄 적이 있지만, 스티브는 1990년대 초에 C++와 어셈블리 언어 프로그래머로 경력을 시작한다. 하지만 월드 와이드 웹의 부상으로 인해 시들해진 클라이언트 서버 소프트웨어 업체 몇 곳에서 일한 후 스티브는 1995년 새로운 가능성을 보고 HTML/자바와 펄/CGI 프로그래밍을 시작한다. 당시에는 (웹이 폭발적으로 성장하기 전에) 이런 경력 이전으로 인해 웹사이트와 채팅, 단어 검색, HTML과 서버사이드 스크립트만을 활용한 간단한 게임 같은 인터랙티브 애플리케이션을 만드는 직종이 크게 늘어났다. 1990년대 내내 소규모 기업과 대기업을 상대로 웹사이트를 개발한 후 스티브는 세계에서 가장 큰 엔터테인먼트 기업 중 한곳의 소비자를 대상으로 하는 웹사이트를 개발한다. 지난 10년간 스티브는 플래시를 비롯한 다양한 기술을 활용해 웹 기반의 게임과 엔터테인먼트 작업을 했다. 수십 개의 유명하고 트래픽 양이 많은 웹사이트나 커뮤니티와 더불어 스티브는 수백 개의 플래시 애플리케이션과 웹사이트를 설계하고, 개발하고, 프로그래밍했다. 이 중에는 10억 번 이상 플레이된 1인용 게임과 멀티 플레이어 웹 기반 게임도 수십 가지나 있다. 동생인 제프와 더불어 스티브는 인기 있는 플래시와 복고 게임 개발 사이트인 www.8bitrocket.com을 운영 중이다. 이 사이트는 뉴스, 튜토리얼, 데모 게임, 실험, 플래시, 바이럴 웹 게임 세계에 대한 생각 등이 수시로 업데이트된다.
스티브가 좋아하는 게임은 Breakout(Atari 2600), Asteroids(동전 사용), Star Castle (동전 사용), River Raid(Atari 2600), Castle Wolfenstein(Apple IIe), Galaga(동전 사용), Time Pilot(동전 사용), Star Wars(동전 사용), MULE(Atari 800), Ultima IV(Atari 800), Temple Of Apshai(Atari 800), Dungeom Master(Atari ST), Oids(Atari ST), Food Fight (Atari 7800), Wizards’s Crown(Atari ST), Anco Player Manager(Atari ST), Machine Bride of Pinbot(동전 사용), Dune 2(PC), Fallout(PC), Desert Strike(Genesis), Tempest 2000(Jaguar), Zolar Mercenary(Lynx), Roller Coaster Tycoon(PC), Baldur’s Gate: Dark Alliance(PS2), Knights Of The Old Republic(PC), Final Fantasy 1 and 2(GBA), Wii Sports Resort(Wii), Mario And Luigi: Partners In Time(DS), Pinball Hall Of Fame: Williams Collection(Wii), Pac-Man Championship Edition(Xbox Live Arcade), Puzzle Quest(DS), Bookworm Adventures(PC), Dragon Age(PC)가 있다.

제시 셸 (Jesse Schell)
카네기 멜론 대학의 엔터테인먼트 테크놀로지 센터(ETC)의 교수로, 게임 디자인을 가르치며 여러 연구 프로젝트를 진행하고 있다. 피츠버그 최대의 비디오 게임 스튜디오인 셸 게임즈(Schell Games)의 CEO이기도 하다. 그는 월트 디즈니 이매지니어링 버추얼 리얼리티 스튜디오(Walt Disney Imagineering Virtual Reality Studio)의 크리에이티브 디렉터와 국제 게임 디자이너 협회IGDA의 의장을 역임했으며, 프로 저글러로도 활동한다. 2004년에는 MIT의 「테크놀로지 리뷰」에서 선정한 세계 100인의 젊은 혁신가로 뽑히기도 했다.


[ 옮긴이 소개 ]

송용근
포항공과대학교 컴퓨터공학과를 다니다가 (주)사이람에서 SNA 연구와 소프트웨어 개발을 했다. 다방면에 관심을 두고 있지만, 주로 복잡한 시스템을 관계의 입장으로 풀어보길 좋아한다. 사람간의 소통과 관계 또한 주요 탐구대상. 현재 TEDxSeoul에서 organizer로, 마가진(magazyn.co.kr)에서 엔지니어로 일하고 있다.

유윤선
인디 개발자이자 프리랜서 번역가로 활동 중이다. 이따금 http://joshy21.com/weblog에 번역과 상관없는 글을 올리고 있다. 역서로는 『플래시 빌더 4 & 플렉스 4 바이블』(위키북스), 『스프링 3 레시피』(위키북스, 공역), 『액션스크립트 3.0 완벽 가이드』(인사이트, 공역) 등이 있다.

전유택
대학에서 물리교육, 물리학을 공부하고, 넥슨에서 MMORPG 제라를 개발했다. 현재 엔씨소프트에서 한자 학습 만화 마법천자문을 온라인 게임으로 만들고 있다. 두 아이의 아빠로, 역사는 반복된다는 명제나 시간의 순환성 같은 철학적 고찰을 프라모델과 R/C 카로 증명하려는 노력을 하고 있다. 『게임 아키텍처 & 디자인』(제우미디어), 『확실히 팔리는 3D 게임 만들기』(제우미디어) 등을 번역했다.

이형민
대학에서 컴퓨터를 전공하고 일러스트레이터의 꿈을 안고 업계에 투신했지만, 어찌 된 일인지 10년 동안 게임 기획 업무만 하고 있는 이상한 경력의 소유자다. 엔씨소프트에서 리니지 2 이후 아이온을 비롯한 여러 게임의 디자인에 관여(?)해왔으며, 현재는 마법천자문 온라인(가칭)을 개발 중이다. 『게임 아키텍처 & 디자인』(제우미디어), 『온라인 게임 개발 테크닉』(정보문화사)의 번역에 참여했으며, 『인터랙션 디자인』(에이콘 출판사) 번역 리뷰를 맡았다.

목차

목차
  • 『플래시 멀티플레이 게임 개발』
  • 1장. 오늘날의 웹 게임
    • 멀티플레이 게임은 어디에 적합할까
    • 접속 기능
  • 2장. 사용자 접속
    • 소켓 서버 선택
  • 3장. 보안: 나 자신 vs. 사용자
    • 논리적 보안
    • 물리적 보안
    • 서비스 기능
  • 4장. 일렉트로서버 소개
    • 설치
    • 헬로우 월드
    • 관리자 페이지
    • 둘러보기
  • 5장. 대화
    • 간단한 대화방
    • 대화 메시지 보내기
    • 새로운 개념
  • 6장. 결정 우선권
    • 일렉트로버 플러그인의 개념
    • 확장 기능 설치
    • 땅파기 게임
  • 7장. 실시간 이동
    • 컨트롤 반응
    • 경로의 종류
    • 프레임 기반 이동
    • 지연 과 시동기화
    • 시간 기반 이동
    • 공통 기능
  • 8장. 로비 시스템
    • 게임 진행
    • 땅파기 게임2
    • 게임 둘러보기
  • 9장. 실시간 탱크 게임
    • 주도권과 예측
    • 시선
    • 게임 메시지
    • 미니맵
    • 메시지 통합
    • 맵 에디터
    • 공간 음향
    • 아트 vs. 타일
  • 10장. 타일 기반 게임
    • 타일 기반의 장점
    • 에이스타A* 경로탐색
  • 11장. 협력적 게임 진행
    • 협력의 다양한 방식
    • 예제 게임: 슈퍼 블롭 브라더스
    • 서버 대 클라이언트: 누가 보스인가?
    • 게임 메시지
    • 클라이언트 상세
  • 12장. 등척 투영 시점
    • 등척 투영 보기의 기본과 장점
    • 기술적 측면
    • 정렬 알고리즘
    • 아바타와의 만남
  • 13장. 아바타
    • 렌더링
    • 스프라이트 시트
    • 아바타 생성과 수정
    • 공통 기능
  • 14장. 가상세계
    • 낡은 세계
    • 지도 파일
    • 맵 렌더링
    • 가상세계
    • 관계
  • 15장. 친구 맺기
    • 낡은 세계의 친구
    • 오픈 하우스
  • 16장. 사용자 홈
    • 낡은 세계의 사용자 홈
    • 서버 레벨 컴포넌트
  • 부록 예제 확장기능 설치
    • 낡은 세계
    • 로그 설정
    • 서버 개발 환경 설정

  • 『플래시 게임 마스터』
  • 1부 기본 게임 프레임워크
  • 1장 두 번째 게임 이론
    • 게임 개발은 반복 과정
    • 게임 개발의 동기 이해
    • 이 책의 대상 독자
      • 이 책의 시작 내용
      • AS3와 AS2의 비교
      • AS2는 이미 죽은 언어이므로 더 이상 고집해서는 안 된다
      • 이 책의 개발 환경
    • AS3 게임 프레임워크를 통한 게임 개발
      • 객체지향적 방법론
        • 캡슐화
        • 상속
      • 객체지향적 설계를 통한 게임 개발
    • 기본 게임 프레임워크의 생성
      • 상태 루프
      • 게임 타이머
      • 이벤트 모델
      • 게임 테스트
    • 두 번째 게임: 풍선 톱날 게임
      • 게임에 필요한 자원
        • 그래픽
        • 사운드
      • 설정
      • 코드
      • 풍선 톱날 게임 플레이
      • 풍선 톱날 게임의 코드 살펴보기
        • 임포트
        • 변수
        • Game 생성자
        • 게임 루프의 초기화
        • playGame() 함수
        • 풍선 생성
        • 풍선 이동
        • 톱날과 풍선의 충돌 검사
        • 게임 종료
    • 세 번째 게임: 픽셀 슈터 게임
      • 픽셀 슈터 게임의 설계
      • 픽셀 슈터 게임의 그래픽
      • 픽셀 슈터 게임의 사운드
      • 픽셀 슈터 게임의 코드
      • 픽셀 슈터 코드의 주요 부분
        • 새로운 변수
        • 플레이어의 시작과 재시작
        • 여러 객체의 추적
        • 미사일 발사
        • 다양한 객체에 대한 충돌 감지
        • 폭발 애니메이션의 생성
    • 정리
  • 2장 AS3 게임 프레임워크 개발
    • 게임 프레임워크 살펴보기
      • GameFrameWork.as 클래스
      • FrameWorkStates.as 클래스
      • BasicScreen 클래스와 SimpleBlitButton 도우미 클래스
      • ScoreBoard 클래스와 SideBySideScoreElement 도우미 클래스
      • Game 클래스
      • 커스텀 이벤트 클래스
        • CustomEventButtonId.as 클래스
        • CustomEventLevelScreenUpdate.as 클래스
        • CustomEventScoreBoardUpdate.as 클래스
    • 프레임워크의 패키지 구조
      • source 폴더
      • classes 패키지
      • projects 패키지
        • 플래시 IDE 패키지 구조
        • 플렉스 SDK 패키지 구조
      • Main.as와 StubGame.as 파일
    • 프레임워크 패키지를 활용한 프로젝트 시작
      • 플래시 IDE에서의 스텁 게임 프로젝트 생성
      • 플래시 디벨롭에서의 스텁 게임 프로젝트 생성
    • 게임 타이머의 생성
      • ‘프레임 타이머의 간격’의 정의
    • 상태 기계
    • FrameWorkStates.as 클래스 파일
      • 상태 변수
    • GameFrameWork.as 클래스 파일
      • 클래스 임포트
      • 변수 정의
        • 상태 제어 변수
        • 배경 채색 변수
        • 타이머 변수
        • 화면 정의 변수
        • ScoreBoard 변수
        • Game 객체 변수
        • 대기 변수
      • 생성자 정의
      • init 함수 정의
      • setApplicationBackGround 함수 정의
      • startTimer 함수 정의
      • runGame 함수 정의
      • switchSystemState 함수 정의
      • systemTitle 함수 정의
      • systemWaitForClose 함수 정의
      • okButtonClickListener 함수 정의
      • systemInstructions 함수 정의
      • systemGameOver 함수 정의
      • systemNewGame 함수 정의
      • systemNewLevel 함수 정의
      • systemLevelIn 함수 정의
      • systemWait function 정의
      • waitCompleteListener 함수 정의
      • systemGameplay() 함수 정의
      • 커스텀 이벤트 리스너 함수
      • Main.as의 scoreBoardUpdateListener 함수 정의
      • Main.as의 levelScreenUpdateListener 함수 정의
      • Main.as의 gameOverListener 함수 정의
      • Main.as의 newLevelListener 함수 정의
    • Main 이외의 프레임워크 클래스
      • BasicScreen 클래스
        • BasicScreen의 클래스 임포트와 변수 정의 영역
        • 클래스 생성자 정의
        • createDisplayText 함수 정의
        • createOkButton 함수 정의
        • setDisplayText 함수 정의
        • 버튼 리스너 함수 정의
    • SimpleBlitButton 클래스
      • SimpleBlitButton 클래스의 클래스 임포트와 변수 정의
      • SimpleBlitButton 클래스의 생성자 정의
      • changeBackGroundColor 함수 정의
    • CustomEventButtonId 클래스
      • CustomEventButtonId 클래스의 클래스 임포트와 변수 정의
      • CustomEventButtonId 클래스의 생성자 정의
      • CustomEventButtonId 클래스의 clone 함수 정의
    • CustomLevelScreenUpdate 클래스
    • CustomEventScoreBoardUpdate 클래스
    • ScoreBoard 클래스
      • ScoreBoard 클래스의 클래스 임포트와 변수 정의
      • createTextElement 함수 정의
      • update 함수 정의
      • SideBySideScoreElement 클래스
      • 생성자 정의
      • setLabelText와 setContentText 함수 정의
    • Game 클래스
  • 스텁 게임 클래스
    • 게임의 목적
    • 게임 상태의 화면 흐름
    • 게임의 ScoreBoard 상수
    • Main.as 클래스의 작성
    • Main 클래스의 클래스 임포트와 변수 정의
    • 생성자와 init 함수 정의
      • game 인스턴스의 생성
      • 애플리케이션 배경의 설정
      • ScoreBoard의 생성
      • 제목 화면의 생성
      • 안내 화면의 생성
      • 게임 오버 화면의 생성
      • Level In 화면의 생성
      • 상태 기계의 초기 설정
      • 게임 타이머의 시작
    • 이 클래스에서 하는 일
  • 테스트
  • 정리
  • 3장 슈퍼 클릭
    • 슈퍼 클릭 게임의 설계 문서 작성
      • 게임의 기본 성격 정의
      • 레벨 진행 방식
      • 필요한 기본 화면의 정의
      • 게임 플레이 변수 정의
      • 커스텀 ScoreBoard 항목의 정의
      • 게임 플레이 방식과 흐름 설명
      • 레벨 클리어 조건의 판단
      • 게임 종료 조건의 판단
      • 필요한 이벤트의 정의
      • 게임의 고유 커스텀 클래스 정의
    • 슈퍼 클릭 게임의 개발
      • 프로젝트 시작
      • 플래시 IDE 환경에서의 슈퍼 클릭 게임 프로젝트 생성
      • 플래시 디벨롭 환경에서의 슈퍼 클릭 게임 프로젝트 생성
      • 클래스 파일 목록
      • Main.as 클래스의 생성
      • Main.as의 클래스 임포트와 변수 정의
        • Game 인스턴스 생성
        • 애플리케이션 배경 설정
        • Scoreboard 생성
        • 제목 화면 생성
        • 안내 화면 생성
        • 게임 오버 화면 생성
        • Level In 화면 생성
        • 상태 기계의 초기 설정
        • 게임 타이머 시작
    • 슈퍼 클릭 게임의 Game 클래스 작성
      • SuperClick.as의 클래스 임포트와 변수 정의
      • SuperClick.as의 생성자와 init 함수 정의
      • newLevel 함수의 정의
      • runGame 함수의 호출
      • update 함수의 정의
        • 화면상의 원 추가
        • 화면상의 원 업데이트
        • ScoreTextField 인스턴스의 업데이트
      • 순환문 최적화
      • removeCircle 함수의 정의
      • removeScoreText 함수의 정의
      • checkCollisions 함수의 정의
        • 원의 페이드아웃
      • addToScore 함수의 정의
      • render 함수의 정의
      • checkForEndGame 함수의 정의
      • checkforEndLevel 함수의 정의
      • cleanUp 함수의 정의
    • Circle 클래스
      • Circle 클래스의 정의
      • 패키지 구조 내에서의 Circle 클래스 생성
      • Circle.as 클래스의 클래스 임포트와 변수 선언
      • Circle.as 클래스의 생성자와 init 함수 정의
      • Circle.as의 update 함수 정의
      • Circle.as의 dispose 함수 정의
      • Circle.as의 clickedListener 함수 정의 수정
    • ScoreTextField 클래스
      • ScoreTextField 클래스의 정의
      • 패키지 구조 내에서의 ScoreTextField 클래스 생성
      • ScoreTextField의 update 함수 정의
      • ScoreTextField의 dispose 함수 정의
    • 테스트
    • 정리
  • 2부 게임 제작
  • 4장 대공포 게임의 기반 다지기
    • 미사일 커맨드에 대한 짧은 소개
    • 게임 설계
    • 4장의 게임 개발에 필요한 기본 개념
    • 게임 자원의 라이브러리 추가
      • Spritelib GPL를 활용한 그래픽 생성
      • SFXR를 활용한 사운드 제작
    • 플래시와 플래시 디벨롭/플렉스의 라이브러리 차이
      • 그래픽 자원의 활용
      • 사운드의 활용
    • 사운드 매니저의 생성
    • 설정을 통한 난이도 조절
      • 난이도 설정
    • 벡터상에서 이동하는 스프라이트의 생성
      • 두 점 사이를 이동하는 스프라이트의 정의
        • Shot
        • BonusPlane
        • Ship
      • 연속 벡터를 이동하는 객체의 생성 - Enemy
    • 애니메이션이 적용된 스프라이트의 생성
      • Flak
        • Explosion
    • 정리
  • 5장 대공포 게임 루프의 개발
    • 대공포 게임의 흐름 이해
    • GameFramework.as 업데이트
    • Main.as의 정의
    • FlakCannon.as
      • 클래스 임포트
      • FlakCannon.as의 속성과 생성자
      • 새 게임의 시작
        • 새 레벨의 시작
        • 마우스 이벤트 처리와 crosshairs의 작업 시작
        • 함선의 배치
        • newLevel 이벤트의 처리
        • 게임 테스트
    • 게임 루프의 생성
      • 적 전투기의 검사
      • 보너스 비행기의 체크
      • 객체 업데이트
      • 객체의 제거
      • 기본적인 비트맵 충돌 감지
      • 객체 렌더링
      • 레벨 클리어
      • 게임 종료
    • 게임 플레이!
    • 정리
  • 6장 노 탱크 게임의 기반 다지기
    • 노 탱크 게임의 설계
    • 6장과 7장의 게임 개발과 관련한 기본 개념
    • 라이브러리로 게임 자원 추가
      • Spritelib GPL의 활용
      • 타일 시트의 활용
      • 게임 레벨의 타일 조직화
      • 레벨의 생성
    • 매피 툴을 활용한 레벨 생성
      • 스프라이트와 타일과 배경
      • 타일 시트의 생성
    • 매피를 활용한 게임 레벨의 생성
      • 이중 레이어 맵의 생성
        • 배경 레이어의 생성
        • 스프라이트 레이어의 생성
      • 레벨 FMP 파일의 저장
      • 매피에서 레벨 내보내기
        • 배경 레이어 내보내기
        • 스프라이트 레이어 내보내기
    • 프로젝트 설정
      • 플래시 IDE에서의 노 탱크 게임 프로젝트 생성
      • 플래시 디벨롭에서의 노 탱크 게임 프로젝트 생성
    • XML을 통한 타일 시트의 정의
      • TilesheetDataXML.as 클래스의 생성
        • Tile 어트리뷰트
        • 코드의 적용 방식
    • 타일 시트의 코드 활용 예제
      • GameDemo.as 클래스의 작성
      • 타일 시트 데이터 읽기
        • 상수
        • initTileSheetData 함수
        • 테스트
    • 화면상에서의 레벨 데이터 표현
      • 코드 조직화
      • 플렉스 프로젝트 전용 Library.as 클래스의 추가
      • 플래시 IDE 전용 라이브러리 자원 추가
      • 플렉스와 플래시 IDE에서의 라이브러리 자원 활용
    • 타일 시트 블리팅과 스프라이트
      • ‘블리팅’의 정의
      • ‘스프라이트’의 정의
      • 스프라이트와 블리팅의 차이점
      • 플래시를 통한 응용
      • 타일과 스프라이트 시트의 차이점
        • 전체 화면 블리팅
        • 개별 객체 블리팅
        • 블리팅 방식의 조합
      • 블리팅 렌더링 속도의 테스트
      • 타임라인 기반 애니메이션의 성능 테스트
      • 개별 객체 블리팅의 성능 테스트
      • 전체 화면 블리팅의 성능 테스트
        • 테스트 결과의 해석
    • TileSheet 클래스
      • TileSheet의 속성 정의
      • 레벨 데이터 읽기
        • Level 클래스
        • Level1 클래스의 생성
      • GameDemo.as 파일의 업데이트
        • 클래스 임포트
        • 변수 정의
        • 생성자
        • readBackGroundData 함수
        • readSpriteData 함수
        • drawLevelBackGround 함수
        • 게임 렌더링의 조직화
    • 정리
  • 7장 노 탱크 게임의 완성
    • 타일 기반 움직임에 대한 기본 이론
      • 타일 점핑
      • 부드러운 타일 간 이동
    • BlitSprite 클래스
    • BlitSprite 클래스를 활용한 애니메이션
    • TileByTileBlitSprite 클래스
    • 미로 안에서의 플레이어 이동
      • 타일 중심 트릭
    • 플레이어의 추가(반복 1)
      • 반복 1을 위한 클래스명의 변경
      • import 영역에 새 프레임워크 클래스 추가
      • 반복 1의 변수 정의
      • 반복 1의 init 함수
      • 반복 1의 restartPlayer 함수
      • readSpriteData 함수
      • 반복 1의 테스트
    • 키 로직을 활용한 플레이어의 이동(반복 2)
      • 반복 2를 위한 클래스명 변경
      • 간단한 임시 게임 타이머의 추가
      • 화살표 키를 통한 플레이어의 이동 상태 변경
      • 키 입력 로직의 추가
      • 반복 2의 테스트
    • 플레이어 움직임과 관련한 이동 상태의 업데이트(반복 3)
      • 반복 3을 위한 클래스 수정
      • 이동 상태 상수의 추가
      • 반복 3의 runGame 함수 수정
      • checkInput 함수의 업데이트
      • checkTile 함수의 추가
      • checkCenterTile 함수의 추가
      • switchMovement 함수의 추가
      • 반복 3의 테스트
    • 플레이어의 움직임 업데이트와 렌더링(반복 4)
      • 반복 4를 위한 클래스명 변경
      • 반복 4를 위한 변수 정의 업데이트
      • 반복 4를 위한 runGame 함수의 업데이트
      • update 함수의 추가
      • render 함수의 추가
      • 반복 4의 테스트
    • 적 탱크의 이동 로직 추가(반복 5)
      • 반복 5를 위한 클래스명 변경
      • 반복 5를 위한 변수 정의 업데이트
      • init, newGame, newLevel 함수의 업데이트
      • setRegions 함수의 추가
      • readSpriteData 함수의 수정
      • 반복 5의 테스트
    • AI를 통한 적 탱크의 이동(반복 6)
      • 반복 6을 위한 클래스명의 변경
      • restartPlayer 함수에 대한 코드 추가
      • 적 탱크에 대한 update 함수와 render 함수의 수정
      • 적 탱크 AI에 사용할 새 함수의 추가
        • 플레이어 추적
        • chaseObject 함수
        • checkLineOfSight 함수
        • fireMissileAtPlayer 스텁 함수
        • 변수 정의 추가
      • 반복 6의 테스트
    • 프레임워크로의 통합
      • Main.as 프레임워크 클래스로의 통합
        • 애플리케이션 배경과 게임 스프라이트의 위치
        • 점수판
        • 화면
        • 사운드
        • 사운드 재생을 위한 새로운 함수 오버라이드
      • Library 클래스의 마무리
    • Level.as과 Level1.as 클래스의 마무리
    • NoTanks.as 파일의 마무리
      • 클래스명을 NoTanks.as로 변경
      • NoTanks.as에 대한 클래스 임포트 영역 추가
      • NoTanks.as 클래스의 변수 추가
      • NoTanks.as의 새로운 init 함수 추가
      • newGame 함수의 작성
      • newLevel 함수의 작성
      • restartPlayer 함수의 작성
      • runGame 함수의 재작성
      • checkInput 함수의 추가
      • update 함수의 개선
      • checkHitWall 함수의 추가
      • checkCollisions 함수
      • NoTanks.as의 render 함수 업데이트
      • 레벨 클리어나 게임 오버에 대한 검사
      • 미사일 발사 함수의 작성
      • readBackGroundData 함수의 수정
      • readSpriteData 함수의 수정
      • checkLineOfSight 함수의 수정
      • createExplode 함수의 추가
      • 객체 정리 함수의 작성
    • 최종 게임 테스트
    • 게임 확장
    • 정리
  • 8장 컬러 드롭 캐주얼 퍼즐 게임의 개발
    • 캐주얼 게임의 발전 과정
    • 게임의 설계
    • 8장의 게임 개발에 필요한 기본 개념
    • 라이브러리에 게임 자원 추가
      • 사운드의 추가
      • 그래픽의 추가
      • 컬러 드롭 게임의 클래스 정의
    • 컬러 드롭 게임의 Main 클래스 업데이트
    • Block 클래스의 작성
    • CustomEventClickBlock 클래스의 작성
    • 레벨 클래스를 통한 난이도 조절
    • GameStates 클래스의 작성
    • 기본 게임 구조의 구현
    • 게임 초기화
      • ColorDrop 상태 기계의 추가
    • 화면에 블록 추가
    • 컬러 드롭 게임의 update와 render 함수 확장
    • 사용자 입력의 대기
      • 재귀 함수를 사용하지 않는 블록 검사
      • 블록의 제거
    • 레벨 클리어와 게임 종료
    • 테스트
    • 정리
  • 9장 주사위 배틀 퍼즐 게임의 개발
    • 지적 재산권법
      • 저작권에 대한 고려
      • 상표에 대한 고려
      • 특허에 대한 고려
      • 황금룰 따라 하기
    • 주사위 배틀 게임의 설계
    • 9장의 게임 개발에 필요한 기본 개념
    • 라이브러리에 게임 자원 추가
      • 주사위 배틀 게임에 그래픽 추가
      • 주사위 배틀 게임에 사운드 추가
    • Main.as에서 사운드트랙 재생
      • ScoreBoard의 업데이트
      • 사운드트랙의 재생
      • Main.as 클래스의 업데이트
    • 클래스를 통한 AI 난이도 설정
    • Die 클래스의 작성
    • CustomEventClickDie 클래스의 작성
    • Character 클래스의 작성
    • GameStates 클래스의 추가
    • Game.as에서의 게임 설정
    • 컴퓨터 플레이어의 생성
    • 새로운 게임 상태를 활용한 턴 플레이
    • 플레이어의 이동 감지와 점수 부여
    • 미니맥스 스타일의 AI 구현
      • 주사위 배틀 AI의 분석
      • 주사위 배틀의 AI에 대한 설명
    • 레벨 클리어와 게임 종료
    • 주사위 배틀 게임의 나머지 코드
    • 테스트
    • 정리
  • 10장 타일 기반 게임의 블릿 스크롤
    • 오빠 달려 게임의 설계와 시작
    • 10장에서 다루는 게임 개발 개념
      • 새 클래스 정의
      • 게임 프레임워크와의 연동
      • Library 클래스의 수정
      • 커스텀 LevelInScreen 클래스의 추가
      • 레벨 사이의 전환
    • 자유 형태의 타일 기반 이동
      • 자유 형태의 타일 기반 이동의 정의
        • MoveClip 스테이지 스크롤 방식
        • GAS(gotoAndStop) 타일
        • 타일 기반의 블릿 스크롤
        • 게임 공간
        • 카메라
        • 버퍼
        • 결과 캔버스
    • 게임 공간의 생성
      • 타일 시트 생성
      • 담벼락 타일과의 충돌 감지
      • 게임 레벨의 정의
      • 레벨 데이터 가져오기
    • 기본적인 자동차 물리학의 적용
      • 전진과 후진
      • 방향 전환
    • 오빠 달려 게임의 준비 작업
      • 플래시 IDE에서의 프로젝트 생성
      • 플래시 디벨롭에서의 게임 프로젝트 생성
    • 오빠 달려 게임에 필요한 Main.as 클래스의 업데이트
      • 점수판 항목의 추가
      • 화면의 수정
      • 사운드의 수정
      • LevelInScreen으로의 전환
      • LevelInScreen 텍스트의 업데이트
      • 게임 프레임레이트의 증가
      • CustomEventHeartsNeeded.as 클래스의 작성
      • Library.as 클래스의 생성
    • 새로운 프레임워크 클래스의 생성
      • BasicFrameTimer 클래스의 생성
      • LookAheadPoint 클래스의 생성
      • CarBlitSprite 클래스의 생성
      • Camera2D 클래스의 생성
        • 이중(또는 삼중) 버퍼
    • 오빠 달려 게임의 전용 클래스 생성
      • TileSheeDataXML 클래스
      • Level.as 클래스
      • Level1.as 클래스
    • Game 클래스의 반복
      • Game 클래스의 전체 구조, 변수, 생성자의 작성(반복 1)
        • 키 입력 상수
        • 내부 상태 기계
        • 제목, 디스플레이, 게임 공간
        • 카메라
        • 자동차 사운드
      • 반복 2를 통한 동작 가능 클래스의 구현
      • 게임 설정(반복 3)
        • init 함수
        • newGame 함수
        • initTileSheetData 함수
        • newLevel 함수
        • setUpWorld 함수
        • restartPlayer 함수
        • 자동차와 게임 공간의 동시 이동
        • systemGamePlay 함수
        • 반복 3의 게임 테스트
      • 플레이어 입력과 update/render 루프의 추가(반복 4)
        • update 함수
      • checkInput 함수
      • render 함수
        • drawCamera 함수
        • drawPlayer 함수
        • 반복 4의 테스트
      • 충돌 검사와 레벨이나 게임 종료(반복 5)
        • checkCollisions 함수
        • 나머지 게임 함수
    • 최종 게임 테스트
    • 게임의 확장
    • 정리
  • 11장 최적화를 적용한 포스트 복고 게임 개발
    • 포스트 복고 게임의 이해
      • 포스트 복고의 정의
      • 포스트 복고 게임의 특징
      • 새롭게 등장하는 포스트 복고 게임의 특징
      • 포스트 복고 게임의 역사
      • 포스트 복고 게임 장르가 개발자에게 의미하는 것
    • 블래스터 마인의 설계
    • 11장에서 다루는 게임 개발 이론
    • 게임 프레임워크의 수정
      • 스테이지 접근에 대한 검사
        • addedToStage 함수의 추가
      • 일시 정지와 음 소거 기능의 추가
    • 시간 기반의 단계 타이머 추가
      • runEnterFrame 함수의 추가
    • 렌더 프로파일링을 통한 최적화
      • FrameRateProfiler의 기술적인 설계
    • 프레임레이트와 메모리 사용량 모니터링
    • 게임 클래스의 수정
    • 블래스터 마인 프로젝트의 시작
      • 플래시 IDE에서의 블래스터 마인 프로젝트 생성
      • 플래시 디벨롭에서의 블래스터 마인 게임 프로젝트 생성
    • 블래스터 마인 게임의 Main.as 클래스 생성
      • 일시 정지 기능과 음 소거 기능의 구현
        • 생성자 수정
        • addedToStage 함수의 추가
      • 블래스터 마인의 시간 기반 단계 타이머 구현
      • 블래스터 마인의 FrameRateProfiler 커스터마이징
        • frameRateProfileComplete 함수의 작성
      • Library.as 클래스의 생성
      • SoundManager 클래스의 수정
    • 객체 풀을 통한 최적화
      • 프로세서 실행 시간의 단축
      • 메모리 보존
      • 게임에서 사용할 객체 풀의 구현
      • 블래스터 마인 게임의 객체 풀에 대한 기술 명세 작성
        • private 변수의 추가
        • 풀에서의 입자 인스턴스 생성
        • 입자의 활성화
        • 입자의 비활성화
    • 단일 단위 처리를 통한 최적화와 메모리 보존
      • 전역 이벤트 객체의 재사용
    • 룩업 테이블의 최적화
      • 벡터 룩업 테이블의 생성
      • vectorRotationList 룩업 테이블의 접근
    • ScrollRect를 통한 화면 기반의 블릿 스크롤 최적화
    • 레이더 화면을 위한 BitmapData의 재사용과 최적화
    • 새로운 게임 클래스의 생성
      • BlitArrayAsset 클래스의 설계
      • BasicBlitArrayObject 클래스의 설계
      • BasicBlitArrayParticle 클래스의 설계
      • BasicBlitArrayProjectile 클래스의 설계
      • BlitArrayPlayerFollowMouse 클래스의 설계
      • MineManager 클래스의 설계
      • ParticleManager 클래스의 설계
      • ProjectileManager 클래스의 설계
      • Mine 클래스의 설계
    • BlasterMines 클래스의 개발
      • BlasterMines 클래스의 기본 골격
      • 블래스터 마인 게임의 init 함수 추가
      • newGame과 newLevel 함수의 추가
      • 게임 루프의 업데이트와 내부 상태 기계
      • update, autoShoot, render, collision 함수 추가
      • 보조 함수의 추가
    • 전체 GameFrameWork 클래스
    • 테스트
    • 정리
  • 12장 바이럴 게임 터널 패닉 개발
    • 바이럴 웹 게임의 정의
    • 바이럴 웹 게임의 배포
      • 자신의 웹사이트를 통한 배포
      • 소셜 뉴스 사이트의 활용
        • 트위터
        • 페이스북
      • 포털 업로드
        • 소셜 게임 사이트
        • 등록 심사 포털
    • 바이럴 게임을 통한 돈 벌기
      • 페이지 내 광고의 활용
      • 게임 공모전 참여
      • 모치 미디어를 통한 게임 내 광고 삽입
      • 라이선스와 스폰서십 활용
        • 독점 라이선스
        • 스폰서십
        • 비독점 라이선스
        • API 라이선스
        • 스폰서 구하기
        • FlashGameLicense.com의 활용
        • FlashGameDistribution과 GamerSafe의 활용
      • 어도비 플래시 플랫폼 서비스의 활용
    • 바이럴 게임의 보안 적용
      • 사이트 락의 활용
      • 게임 암호화
    • 바이럴 플래시 게임 마케팅
    • 기타 웹 자료
    • 터널 패닉 게임의 준비
      • 플래시 IDE에서의 게임 프로젝트 생성
      • 플래시 디벨롭에서의 게임 프로젝트 생성
    • 플렉스 SDK를 활용한 프리로딩
      • 컴파일러 지시어의 추가
      • Preloader 클래스 코드의 추가
    • 플래시 IDE에서의 프리로딩
      • 라이브러리에 파일 추가
      • 타임라인의 생성
      • 자원을 보관할 MovieClip의 생성
        • 자원 연결
        • 자원 보관 클립 내의 자원 배치
        • 메인 타임라인상의 자원 보관 클립 배치
      • 플래시 IDE 프리로딩에 필요한 프레임워크 수정
        • 프레임워크에 새로운 플래시 IDE 프리로더 상태 추가
        • 프리로더 상태에 대한 변수 추가
        • preloadScreen 인스턴스의 정의
        • Main에서 프리로더를 첫 번째 상태로 설정
        • switchSystemState 함수의 추가
        • 새로운 systemPreload와 addSounds 함수의 추가
    • 모치 프리로더 애드와 리더 보드의 추가
      • 모치 패키지의 임포트
      • Main.as 객체 타입의 수정
      • 프레임워크에 모치 관련 변수 추가
      • switchSystemState의 수정
      • 모치애드 관련 수정 사항
      • 리더 보드 관련 수정사항
    • 바이럴 게임 직접 제작
      • 터널 패닉 게임의 설계
      • PlayerSprite 객체의 생성
      • 플레이 필드의 생성
      • 장애물의 추가
      • 플레이어 우주선의 연소 효과
        • 지저분한 사각형 지우기
      • 게임 난이도 올리기
      • 게임 종료
    • 터널 패닉 게임의 Main.as 생성
      • 터널 패닉 게임을 위한 Game.as의 수정
      • 터널 패닉 게임을 위한 Main.as의 수정
      • 플렉스 SDK 전용 Library.as 클래스의 생성
      • 플래시 IDE 라이브러리의 자원 추가
    • TunnelPanic.as 클래스의 코딩
    • 테스트
    • 정리

  • 『The Art of Game Design』
  • 1장 태초에 디자이너가 있었다
    • 마법의 단어
    • 게임 디자이너에게 필요한 능력
    • 가장 중요한 능력
    • 다섯 가지 종류의 경청
    • 재능의 비밀
  • 2장 디자이너는 경험을 만들어낸다
    • 게임은 경험이 아니다
    • 게임에서만 그런가?
    • 무지개 다리를 건너는 세 가지 실천법
    • 내관: 위력, 위험, 그리고 연습
    • 스스로의 감정을 해부하라
    • 하이젠베르크 쳐부수기
    • 경험의 정수
    • 현실은 그렇다고 느끼는 것
  • 3장 게임에서 발원하는 경험
    • 정의에 대한 일침
    • 그래서, 게임이 뭐야?
    • 다시 진지하게, 게임이란 무엇인가?
    • 문제 풀이 개론
    • 지금까지 노력의 결실
  • 4장 게임은 요소로 구성된다
    • 작은 게임은 무엇으로 만들어져 있나?
    • 네 가지 기본 요소
    • 살갗과 뼈대
  • 5장 게임 요소는 테마를 뒷받침한다
    • 고작 게임
    • 통합된 테마
    • 공명
    • 현실로의 귀환
  • 6장 게임은 아이디어로 시작된다
    • 영감
    • 문제를 명시하라
    • 자는 법
    • 당신의 말 없는 동료
    • 핵심 브레인스토밍 요령 15가지
    • 이 생각들을 봐! 이제 어쩌지?
  • 7장 게임은 점진적으로 발전한다
    • 아이디어 고르기
    • 8가지 필터
    • 순환의 법칙
    • 소프트웨어 공학의 간략한 역사
    • 위험 평가와 프로토타입
    • 생산적 프로토타이핑의 8가지 요령
    • 순환의 종결
    • 얼마나 해야 충분할까?
  • 8장 게임은 플레이어를 위한 것이다
    • 아인슈타인의 바이올린
    • 스스로를 투사하라
    • 인구통계
    • 미디어는 여성차별적이다?
    • 심리통계
  • 9장 경험은 플레이어의 마음속에 있다
    • 모델링
    • 감정 이입
    • 상상
    • 동기
    • 평가
  • 10장 게임 메커니즘 요소
    • 메커니즘 1: 공간
    • 메커니즘 2: 객체, 속성, 상태
    • 메커니즘 3: 액션
    • 메커니즘 4: 규칙
    • 메커니즘 5: 기술
    • 메커니즘 6: 운
  • 11장 게임 메커니즘은 균형 잡혀 있어야 한다
    • 가장 흔한 12가지 게임 밸런스 유형
    • 게임 밸런싱 방법론
    • 게임 경제 밸런싱
    • 동적 게임 밸런싱
    • 큰그림
  • 12장 게임 메커니즘은 퍼즐을 지원한다
    • 퍼즐의 퍼즐
    • 퍼즐은 죽지 않았나?
    • 좋은 퍼즐
    • 마지막 조각
  • 13장 플레이어는 인터페이스를 통해 게임을 플레이한다
    • 음양의 사이에서
    • 쪼개기
    • 상호작용의 순환
    • 정보의 채널
    • 그 밖의 인터페이스 요령
  • 14장 경험은 흥미 곡선으로 판단할 수 있다
    • 나의 첫 렌즈
    • 흥미 곡선
    • 패턴 안의 패턴
    • 무엇이 흥미를 형성하는가?
    • 흥미 요소의 예
    • 모든 것을 한데 모으기
  • 15장 경험 중 하나는 이야기다
    • 이야기/게임의 이중성
    • 수동적 오락이라는 미신
    • 현실
    • 문제점
    • 되살아난 꿈
    • 게임 디자이너를 위한 이야기 요령
  • 16장 이야기와 게임 구조는 간접 통제로 멋지게 융합할 수 있다
    • 자유의 느낌
    • 간접 통제 방법 #1: 제약
    • 간접 통제 방법 #2: 목표
    • 간접 통제 방법 #3: 인터페이스
    • 간접 통제 방법 #4: 비주얼 디자인
    • 간접 통제 방법 #5: 캐릭터
    • 간접 통제 방법 #6: 음악
    • 공모
  • 17장 이야기와 게임은 세계 안에 자리한다
    • 트랜스미디어 세계
    • 포켓몬의 위력
    • 트랜스미디어 세계의 속성
    • 성공한 트랜스미디어 세계의 공통점
  • 18장 세계에는 캐릭터가 들어 있다
    • 게임 캐릭터의 본성
    • 아바타
    • 끌리는 게임 캐릭터 만들기
  • 19장 세계는 공간을 담고 있다
    • 건축의 목적
    • 게임 공간의 구성
    • 천재 건축가 크리스토퍼 알렉산더
    • 현실과 가상의 건축
    • 레벨 디자인
  • 20장 세계의 외관은 미적 요소에 의해 규정된다
    • 모네는 수술을 거부했다
    • 미적 요소의 가치
    • 보는 법을 배우기
    • 미적 요소가 디자인을 가이드하게 하는 방법
    • 어느 정도면 충분한가?
    • 음향을 사용하라
    • 예술과 기술의 균형
  • 21장 다른 플레이어와 같이 노는 게임도 있다
    • 우리는 혼자가 아니다
    • 왜 다른 이들과 플레이하는가?
  • 22장 다른 플레이어는 때로 커뮤니티를 만든다
    • 그저 다른 플레이어 이상
    • 강력한 커뮤니티를 가능하게 하는 10가지 요령
    • 그리프의 도전
    • 게임 커뮤니티의 미래
  • 23장 디자이너는 보통 팀에 속해 일한다
    • 성공적인 팀워크의 비결
    • 함께 디자인하기
    • 팀 커뮤니케이션
  • 24장 팀은 때로는 문서로 소통한다
    • 게임 디자인 문서에 대한 미신
    • 문서의 용도
    • 게임 문서의 종류
    • 그래서 무엇부터 시작할까?
  • 25장 좋은 게임은 플레이테스트로 만들어진다
    • 플레이테스트
    • 나의 비참한 비밀
    • 플레이테스트 첫 번째 질문: 왜?
    • 플레이테스트 두 번째 질문: 누구를?
    • 플레이테스트 세 번째 질문: 어디서?
    • 플레이테스트 네 번째 질문: 무엇을?
    • 플레이테스트 다섯 번째 질문: 어떻게?
  • 26장 팀은 기술로 게임을 만든다
    • 마침내, 기술
    • 기반 기술과 장식적 기술
    • 활기 주기
    • 발명가의 딜레마
    • 특이점
    • 수정구를 들여다보라
  • 27장 게임에는 의뢰인이 있다
    • 의뢰인 생각을 누가 신경 쓴담?
    • 나쁜 제안에 대처하는 법
    • 그 바위가 아냐
    • 욕망의 세 가지 층위
    • 1498년 피렌체
  • 28장 디자이너는 의뢰인에게 제안한다
    • 왜 나야?
    • 권력의 협상
    • 생각의 위계
    • 성공적인 제안을 위한 12가지 요령
  • 29장 디자이너와 의뢰인은 게임의 수익을 원한다
    • 사랑과 돈
    • 사업 모델의 이해
    • 판매량
    • 손익분기
    • 최고 잘 팔리는 게임을 파악하기
    • 용어 배우기
  • 30장 게임은 플레이어를 변화시킨다
    • 게임이 어떻게 우리를 바꾸지?
    • 게임에 좋은 점이 있을까?
    • 게임이 나쁠 수도 있을까?
    • 경험
  • 31장 디자이너는 일말의 책임이 있다
    • 무명의 위험
    • 책임 지기
    • 숨어 있는 동기
    • 잘 보이게 숨겨진 비밀
    • 반지
  • 32장 모든 디자이너에게는 동기가 있다
    • 가장 깊은 주제
  • 도서 오류 신고

    도서 오류 신고

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

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

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