플래시 게임 개발 & 기획 마스터 세트
- 원서명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가지 질문들로, 게임을 더 발전시킬 수 있도록 자문해보는 내용이다. 책에서 설명하는 각 렌즈들은 심리학, 건축학, 음악, 시각 디자인, 영화, 소프트웨어 공학, 테마파크 디자인, 수학, 작문, 퍼즐 디자인, 인류학 등 다양한 분야로부터 끌어 모은 것이다. 현직 게임 디렉터, 기획자, 개발자는 물론이고 게임 디자이너가 되고 싶은 이들을 위한 필독서다.
1) 『플래시 멀티플레이 게임 개발: 소셜 게임과 다중사용자 콘텐츠 제작을 위한』
2) 『플래시 게임 마스터: 액션스크립트 3.0을 활용한 인터랙티브 게임 개발』
3) 『The Art of Game Design: 게임 디렉터, 기획자, 개발자가 꼭 읽어야 할 게임 디자인에 관한 모든 것』
『플래시 멀티플레이 게임 개발』 소개
최근 멀티플레이 게임의 요구는 급격히 증가해 왔고, 앞으로도 많은 발전을 보일 것이다. 하지만 멀티플레이 게임을 어떻게 만들 수 있는지에 대한 종합적인 설명은 거의 없었다. 이 책은 바로 이 지점을 직시한다. ‘멀티플레이 요소’에 대한 기본 질문부터 멀티플레이 게임을 만드는 과정에서 맞닥뜨리는 기술 내용(캐릭터의 순간이동, 지형 표현)에 이르기까지, 플래시로 만드는 멀티플레이 게임의 모든 것을 설명한다.
『플래시 게임 마스터』 소개
플래시 게임 개발자와 액션스크립트 프로그래머 또는 기존 게임 개발자를 위한 완벽 마스터 가이드다. 책을 읽으며 따라 해보는 것만으로 모범 개발 기법을 익힐 수 있다. 게임 프레임워크를 완성하고 10가지 게임 프로젝트를 만들어봄으로써 액션스크립트 개발자가 할 수 있는 모든 플래시 기법을 익힐 수 있다. 또한 고급 액션스크립트 기법을 총동원해 플래시 게임 개발자가 겪을 수 있는 문제를 모두 해결해본다. 이 책에서는 아주 간단한 클릭 게임을 시작으로 단계적으로 게임 프레임워크를 완성하므로, 게임 개발을 해본 적이 없거나 프레임워크를 만들어본 적이 없더라도 책의 내용을 이해하는 데에는 전혀 무리가 없다.
『The Art of Game Design』 소개
별다른 사전 지식 없이도 게임 디자인의 원론을 통달할 수 있는 『The Art of Game Design』은 보드 게임, 카드 게임, 스포츠 게임에서 사용되는 심리적 기본 법칙이 최고의 비디오 게임을 만드는 데도 핵심이라는 것을 보여준다. 자신의 게임을 다양한 관점(혹은 렌즈)으로 봐야 좋은 게임을 디자인할 수 있다. 게임 디자인이라는 미지의 영역을 여행하는 독자에게 이 책은 100개의 렌즈를 전한다. 각 렌즈는 영감을 주는 100가지 질문들로, 게임을 더 발전시킬 수 있도록 자문해보는 내용이다. 책에서 설명하는 각 렌즈들은 심리학, 건축학, 음악, 시각 디자인, 영화, 소프트웨어 공학, 테마파크 디자인, 수학, 작문, 퍼즐 디자인, 인류학 등 다양한 분야로부터 끌어 모은 것이다. 현직 게임 디렉터, 기획자, 개발자는 물론이고 게임 디자이너가 되고 싶은 이들을 위한 필독서다.
목차
목차
- 『플래시 멀티플레이 게임 개발』
- 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 함수 정의
- 버튼 리스너 함수 정의
- BasicScreen 클래스
- 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 화면의 생성
- 상태 기계의 초기 설정
- 게임 타이머의 시작
- 이 클래스에서 하는 일
- 테스트
- 정리
- 슈퍼 클릭 게임의 설계 문서 작성
- 게임의 기본 성격 정의
- 레벨 진행 방식
- 필요한 기본 화면의 정의
- 게임 플레이 변수 정의
- 커스텀 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 함수 정의
- 테스트
- 정리
- 미사일 커맨드에 대한 짧은 소개
- 게임 설계
- 4장의 게임 개발에 필요한 기본 개념
- 게임 자원의 라이브러리 추가
- Spritelib GPL를 활용한 그래픽 생성
- SFXR를 활용한 사운드 제작
- 플래시와 플래시 디벨롭/플렉스의 라이브러리 차이
- 그래픽 자원의 활용
- 사운드의 활용
- 사운드 매니저의 생성
- 설정을 통한 난이도 조절
- 난이도 설정
- 벡터상에서 이동하는 스프라이트의 생성
- 두 점 사이를 이동하는 스프라이트의 정의
- Shot
- BonusPlane
- Ship
- 연속 벡터를 이동하는 객체의 생성 - Enemy
- 두 점 사이를 이동하는 스프라이트의 정의
- 애니메이션이 적용된 스프라이트의 생성
- Flak
- Explosion
- Flak
- 정리
- 대공포 게임의 흐름 이해
- GameFramework.as 업데이트
- Main.as의 정의
- FlakCannon.as
- 클래스 임포트
- FlakCannon.as의 속성과 생성자
- 새 게임의 시작
- 새 레벨의 시작
- 마우스 이벤트 처리와 crosshairs의 작업 시작
- 함선의 배치
- newLevel 이벤트의 처리
- 게임 테스트
- 게임 루프의 생성
- 적 전투기의 검사
- 보너스 비행기의 체크
- 객체 업데이트
- 객체의 제거
- 기본적인 비트맵 충돌 감지
- 객체 렌더링
- 레벨 클리어
- 게임 종료
- 게임 플레이!
- 정리
- 노 탱크 게임의 설계
- 6장과 7장의 게임 개발과 관련한 기본 개념
- 라이브러리로 게임 자원 추가
- Spritelib GPL의 활용
- 타일 시트의 활용
- 게임 레벨의 타일 조직화
- 레벨의 생성
- 매피 툴을 활용한 레벨 생성
- 스프라이트와 타일과 배경
- 타일 시트의 생성
- 매피를 활용한 게임 레벨의 생성
- 이중 레이어 맵의 생성
- 배경 레이어의 생성
- 스프라이트 레이어의 생성
- 레벨 FMP 파일의 저장
- 매피에서 레벨 내보내기
- 배경 레이어 내보내기
- 스프라이트 레이어 내보내기
- 이중 레이어 맵의 생성
- 프로젝트 설정
- 플래시 IDE에서의 노 탱크 게임 프로젝트 생성
- 플래시 디벨롭에서의 노 탱크 게임 프로젝트 생성
- XML을 통한 타일 시트의 정의
- TilesheetDataXML.as 클래스의 생성
- Tile 어트리뷰트
- 코드의 적용 방식
- TilesheetDataXML.as 클래스의 생성
- 타일 시트의 코드 활용 예제
- GameDemo.as 클래스의 작성
- 타일 시트 데이터 읽기
- 상수
- initTileSheetData 함수
- 테스트
- 화면상에서의 레벨 데이터 표현
- 코드 조직화
- 플렉스 프로젝트 전용 Library.as 클래스의 추가
- 플래시 IDE 전용 라이브러리 자원 추가
- 플렉스와 플래시 IDE에서의 라이브러리 자원 활용
- 타일 시트 블리팅과 스프라이트
- ‘블리팅’의 정의
- ‘스프라이트’의 정의
- 스프라이트와 블리팅의 차이점
- 플래시를 통한 응용
- 타일과 스프라이트 시트의 차이점
- 전체 화면 블리팅
- 개별 객체 블리팅
- 블리팅 방식의 조합
- 블리팅 렌더링 속도의 테스트
- 타임라인 기반 애니메이션의 성능 테스트
- 개별 객체 블리팅의 성능 테스트
- 전체 화면 블리팅의 성능 테스트
- 테스트 결과의 해석
- TileSheet 클래스
- TileSheet의 속성 정의
- 레벨 데이터 읽기
- Level 클래스
- Level1 클래스의 생성
- GameDemo.as 파일의 업데이트
- 클래스 임포트
- 변수 정의
- 생성자
- readBackGroundData 함수
- readSpriteData 함수
- drawLevelBackGround 함수
- 게임 렌더링의 조직화
- 정리
- 타일 기반 움직임에 대한 기본 이론
- 타일 점핑
- 부드러운 타일 간 이동
- 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 클래스의 마무리
- Main.as 프레임워크 클래스로의 통합
- 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장의 게임 개발에 필요한 기본 개념
- 라이브러리에 게임 자원 추가
- 사운드의 추가
- 그래픽의 추가
- 컬러 드롭 게임의 클래스 정의
- 컬러 드롭 게임의 Main 클래스 업데이트
- Block 클래스의 작성
- CustomEventClickBlock 클래스의 작성
- 레벨 클래스를 통한 난이도 조절
- GameStates 클래스의 작성
- 기본 게임 구조의 구현
- 게임 초기화
- ColorDrop 상태 기계의 추가
- 화면에 블록 추가
- 컬러 드롭 게임의 update와 render 함수 확장
- 사용자 입력의 대기
- 재귀 함수를 사용하지 않는 블록 검사
- 블록의 제거
- 레벨 클리어와 게임 종료
- 테스트
- 정리
- 지적 재산권법
- 저작권에 대한 고려
- 상표에 대한 고려
- 특허에 대한 고려
- 황금룰 따라 하기
- 주사위 배틀 게임의 설계
- 9장의 게임 개발에 필요한 기본 개념
- 라이브러리에 게임 자원 추가
- 주사위 배틀 게임에 그래픽 추가
- 주사위 배틀 게임에 사운드 추가
- Main.as에서 사운드트랙 재생
- ScoreBoard의 업데이트
- 사운드트랙의 재생
- Main.as 클래스의 업데이트
- 클래스를 통한 AI 난이도 설정
- Die 클래스의 작성
- CustomEventClickDie 클래스의 작성
- Character 클래스의 작성
- GameStates 클래스의 추가
- Game.as에서의 게임 설정
- 컴퓨터 플레이어의 생성
- 새로운 게임 상태를 활용한 턴 플레이
- 플레이어의 이동 감지와 점수 부여
- 미니맥스 스타일의 AI 구현
- 주사위 배틀 AI의 분석
- 주사위 배틀의 AI에 대한 설명
- 레벨 클리어와 게임 종료
- 주사위 배틀 게임의 나머지 코드
- 테스트
- 정리
- 오빠 달려 게임의 설계와 시작
- 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 함수
- 나머지 게임 함수
- Game 클래스의 전체 구조, 변수, 생성자의 작성(반복 1)
- 최종 게임 테스트
- 게임의 확장
- 정리
- 포스트 복고 게임의 이해
- 포스트 복고의 정의
- 포스트 복고 게임의 특징
- 새롭게 등장하는 포스트 복고 게임의 특징
- 포스트 복고 게임의 역사
- 포스트 복고 게임 장르가 개발자에게 의미하는 것
- 블래스터 마인의 설계
- 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 클래스
- 테스트
- 정리
- 바이럴 웹 게임의 정의
- 바이럴 웹 게임의 배포
- 자신의 웹사이트를 통한 배포
- 소셜 뉴스 사이트의 활용
- 트위터
- 페이스북
- 포털 업로드
- 소셜 게임 사이트
- 등록 심사 포털
- 바이럴 게임을 통한 돈 벌기
- 페이지 내 광고의 활용
- 게임 공모전 참여
- 모치 미디어를 통한 게임 내 광고 삽입
- 라이선스와 스폰서십 활용
- 독점 라이선스
- 스폰서십
- 비독점 라이선스
- 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 클래스의 코딩
- 테스트
- 정리
- 마법의 단어
- 게임 디자이너에게 필요한 능력
- 가장 중요한 능력
- 다섯 가지 종류의 경청
- 재능의 비밀
- 게임은 경험이 아니다
- 게임에서만 그런가?
- 무지개 다리를 건너는 세 가지 실천법
- 내관: 위력, 위험, 그리고 연습
- 스스로의 감정을 해부하라
- 하이젠베르크 쳐부수기
- 경험의 정수
- 현실은 그렇다고 느끼는 것
- 정의에 대한 일침
- 그래서, 게임이 뭐야?
- 다시 진지하게, 게임이란 무엇인가?
- 문제 풀이 개론
- 지금까지 노력의 결실
- 작은 게임은 무엇으로 만들어져 있나?
- 네 가지 기본 요소
- 살갗과 뼈대
- 고작 게임
- 통합된 테마
- 공명
- 현실로의 귀환
- 영감
- 문제를 명시하라
- 자는 법
- 당신의 말 없는 동료
- 핵심 브레인스토밍 요령 15가지
- 이 생각들을 봐! 이제 어쩌지?
- 아이디어 고르기
- 8가지 필터
- 순환의 법칙
- 소프트웨어 공학의 간략한 역사
- 위험 평가와 프로토타입
- 생산적 프로토타이핑의 8가지 요령
- 순환의 종결
- 얼마나 해야 충분할까?
- 아인슈타인의 바이올린
- 스스로를 투사하라
- 인구통계
- 미디어는 여성차별적이다?
- 심리통계
- 모델링
- 감정 이입
- 상상
- 동기
- 평가
- 메커니즘 1: 공간
- 메커니즘 2: 객체, 속성, 상태
- 메커니즘 3: 액션
- 메커니즘 4: 규칙
- 메커니즘 5: 기술
- 메커니즘 6: 운
- 가장 흔한 12가지 게임 밸런스 유형
- 게임 밸런싱 방법론
- 게임 경제 밸런싱
- 동적 게임 밸런싱
- 큰그림
- 퍼즐의 퍼즐
- 퍼즐은 죽지 않았나?
- 좋은 퍼즐
- 마지막 조각
- 음양의 사이에서
- 쪼개기
- 상호작용의 순환
- 정보의 채널
- 그 밖의 인터페이스 요령
- 나의 첫 렌즈
- 흥미 곡선
- 패턴 안의 패턴
- 무엇이 흥미를 형성하는가?
- 흥미 요소의 예
- 모든 것을 한데 모으기
- 이야기/게임의 이중성
- 수동적 오락이라는 미신
- 꿈
- 현실
- 문제점
- 되살아난 꿈
- 게임 디자이너를 위한 이야기 요령
- 자유의 느낌
- 간접 통제 방법 #1: 제약
- 간접 통제 방법 #2: 목표
- 간접 통제 방법 #3: 인터페이스
- 간접 통제 방법 #4: 비주얼 디자인
- 간접 통제 방법 #5: 캐릭터
- 간접 통제 방법 #6: 음악
- 공모
- 트랜스미디어 세계
- 포켓몬의 위력
- 트랜스미디어 세계의 속성
- 성공한 트랜스미디어 세계의 공통점
- 게임 캐릭터의 본성
- 아바타
- 끌리는 게임 캐릭터 만들기
- 건축의 목적
- 게임 공간의 구성
- 천재 건축가 크리스토퍼 알렉산더
- 현실과 가상의 건축
- 레벨 디자인
- 모네는 수술을 거부했다
- 미적 요소의 가치
- 보는 법을 배우기
- 미적 요소가 디자인을 가이드하게 하는 방법
- 어느 정도면 충분한가?
- 음향을 사용하라
- 예술과 기술의 균형
- 우리는 혼자가 아니다
- 왜 다른 이들과 플레이하는가?
- 그저 다른 플레이어 이상
- 강력한 커뮤니티를 가능하게 하는 10가지 요령
- 그리프의 도전
- 게임 커뮤니티의 미래
- 성공적인 팀워크의 비결
- 함께 디자인하기
- 팀 커뮤니케이션
- 게임 디자인 문서에 대한 미신
- 문서의 용도
- 게임 문서의 종류
- 그래서 무엇부터 시작할까?
- 플레이테스트
- 나의 비참한 비밀
- 플레이테스트 첫 번째 질문: 왜?
- 플레이테스트 두 번째 질문: 누구를?
- 플레이테스트 세 번째 질문: 어디서?
- 플레이테스트 네 번째 질문: 무엇을?
- 플레이테스트 다섯 번째 질문: 어떻게?
- 마침내, 기술
- 기반 기술과 장식적 기술
- 활기 주기
- 발명가의 딜레마
- 특이점
- 수정구를 들여다보라
- 의뢰인 생각을 누가 신경 쓴담?
- 나쁜 제안에 대처하는 법
- 그 바위가 아냐
- 욕망의 세 가지 층위
- 1498년 피렌체
- 왜 나야?
- 권력의 협상
- 생각의 위계
- 성공적인 제안을 위한 12가지 요령
- 사랑과 돈
- 사업 모델의 이해
- 판매량
- 손익분기
- 최고 잘 팔리는 게임을 파악하기
- 용어 배우기
- 게임이 어떻게 우리를 바꾸지?
- 게임에 좋은 점이 있을까?
- 게임이 나쁠 수도 있을까?
- 경험
- 무명의 위험
- 책임 지기
- 숨어 있는 동기
- 잘 보이게 숨겨진 비밀
- 반지
- 가장 깊은 주제