플래시 게임 마스터 [액션스크립트 3.0을 활용한 인터랙티브 게임 개발]
- 원서명The Essential Guide to Flash Games: Building Interactive Entertainment with ActionScript (ISBN 9781430226147)
- 지은이제프 펄튼, 스티브 펄튼
- 옮긴이유윤선
- ISBN : 9788960772281
- 45,000원
- 2011년 09월 09일 펴냄 (절판)
- 페이퍼백 | 960쪽 | 188*250mm
- 시리즈 : 게임 개발 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
플래시 게임 개발자와 액션스크립트 프로그래머 또는 기존 게임 개발자를 위한 완벽 마스터 가이드다. 책을 읽으며 따라 해보는 것만으로 모범 개발 기법을 익힐 수 있다. 게임 프레임워크를 완성하고 10가지 게임 프로젝트를 만들어봄으로써 액션스크립트 개발자가 할 수 있는 모든 플래시 기법을 익힐 수 있다. 또한 고급 액션스크립트 기법을 총동원해 플래시 게임 개발자가 겪을 수 있는 문제를 모두 해결해본다. 이 책에서는 아주 간단한 클릭 게임을 시작으로 단계적으로 게임 프레임워크를 완성하므로, 게임 개발을 해본 적이 없거나 프레임워크를 만들어본 적이 없더라도 책의 내용을 이해하는 데에는 전혀 무리가 없다.
[ 소개 ]
● 10가지의 게임 구현(복고 게임부터 현대 플래시 게임까지)
● 여러 게임에 재사용할 수 있는 게임 엔진과 툴 개발
● 플래시 게임 프로그래밍과 관련한 다양한 문제 해결 지침서
● 액션스크립트 3.0과 플래시 IDE 등 개발 도구를 활용한 게임 개발
● 게임 최적화
연일 플래시 게임이 화제다. 플래시 게임들은 날이 갈수록 품질이 좋아지고 더 정교해지고 있다. 이제 플래시 게임은 데스크톱뿐 아니라 다양한 모바일 기기에서 즐길 수 있다. 또 플래시 게임은 돈이 되고, 재미있기까지 하다!
『플래시 게임 마스터』는 플래시 게임 개발자들을 위한 완벽 가이드다. 이 책에서는 다양한 저수준의 노하우를 다루는 대신 바로 게임 개발에 착수한다. 좀 더 구체적으로 설명하자면 이 책에서는 여러 가지 게임을 만드는 데 재사용할 수 있는 게임 프레임워크를 만드는 법을 살펴본다. 이 프레임워크는 완전히 모듈화돼 있으므로 게임 성격에 맞춰 일부 기능을 쉽게 추가할 수 있고, 게임에 새로운 재미를 부여하기 위해 기존 기능을 확장하기도 쉽다.
이 책은 게임 프로젝트 단위로 나뉘며 아케이드 게임, 캐주얼 게임, 바이럴 게임, 요즘 트렌드인 ‘포스트 복고 게임’ 등 여러 장르를 소화한다. 이 책에서는 모두 10개의 완전한 게임 프로젝트를 설명한다. 각 프로젝트는 성격이 크게 다른 게임 개발 관련 문제를 해결하며, 이전 프로젝트에서 얻은 지식을 기반으로 개발을 진행한다. 이 책의 각 장은 내용이 진행됨에 따라 점점 더 복잡해지며, 다른 게임에도 재사용할 수 있는 기법들을 다양하게 소개한다. 이 책의 게임 프로젝트는 간단한 게임부터 시작하며, 점점 게임 개발에 사용할 툴이 많아짐에 따라 조금씩 복잡해져서, 책 전체에 걸쳐 비트맵 렌더링, 픽셀 레벨 충돌 감지, 인공지능, 블리팅, 스크롤링, 입자, 재사용 가능한 프레임워크 등 게임 개발과 관련된 다양한 고급 기법을 모두 다룬다.
[ 이 책에서 다루는 내용 ]
■ 커스텀 게임을 만드는 데 활용할 수 있는 전체 기능을 갖춘 모듈화된 액션스크립트 3.0 게임 프레임워크 개발
■ 스페이스 슈팅 게임, 드라이빙 게임, 퍼즐 게임 등 10가지 게임 프로젝트를 상세히 소개
■ 비트맵 렌더링, 픽셀 레벨의 충돌 감지, 인공지능, 블리팅, 스크롤링, 입자, 재사용 가능한 프레임워크 등 고급 게임 개발 기법
[ 이 책의 대상 독자 ]
이 책은 중급 플래시 개발자, 플래시 게임 개발자, 플래시 플랫폼으로 이전하길 원하는 기존 게임 개발자, 게임을 만드는 법을 배우고자 하는 기존 웹 개발자를 위한 책이다. 이 책에서는 어느 정도의 객체 지향 방법론을 소개하고 있지만 적어도 이 책의 독자라면 액션스크립트를 통한 클래스 선언, 액션스크립트 기본 문법, 클래스 상속, 액션스크립트 디스플레이 프로그래밍 기법 정도는 알고 있어야 한다.
[ 소개 ]
● 10가지의 게임 구현(복고 게임부터 현대 플래시 게임까지)
● 여러 게임에 재사용할 수 있는 게임 엔진과 툴 개발
● 플래시 게임 프로그래밍과 관련한 다양한 문제 해결 지침서
● 액션스크립트 3.0과 플래시 IDE 등 개발 도구를 활용한 게임 개발
● 게임 최적화
연일 플래시 게임이 화제다. 플래시 게임들은 날이 갈수록 품질이 좋아지고 더 정교해지고 있다. 이제 플래시 게임은 데스크톱뿐 아니라 다양한 모바일 기기에서 즐길 수 있다. 또 플래시 게임은 돈이 되고, 재미있기까지 하다!
『플래시 게임 마스터』는 플래시 게임 개발자들을 위한 완벽 가이드다. 이 책에서는 다양한 저수준의 노하우를 다루는 대신 바로 게임 개발에 착수한다. 좀 더 구체적으로 설명하자면 이 책에서는 여러 가지 게임을 만드는 데 재사용할 수 있는 게임 프레임워크를 만드는 법을 살펴본다. 이 프레임워크는 완전히 모듈화돼 있으므로 게임 성격에 맞춰 일부 기능을 쉽게 추가할 수 있고, 게임에 새로운 재미를 부여하기 위해 기존 기능을 확장하기도 쉽다.
이 책은 게임 프로젝트 단위로 나뉘며 아케이드 게임, 캐주얼 게임, 바이럴 게임, 요즘 트렌드인 ‘포스트 복고 게임’ 등 여러 장르를 소화한다. 이 책에서는 모두 10개의 완전한 게임 프로젝트를 설명한다. 각 프로젝트는 성격이 크게 다른 게임 개발 관련 문제를 해결하며, 이전 프로젝트에서 얻은 지식을 기반으로 개발을 진행한다. 이 책의 각 장은 내용이 진행됨에 따라 점점 더 복잡해지며, 다른 게임에도 재사용할 수 있는 기법들을 다양하게 소개한다. 이 책의 게임 프로젝트는 간단한 게임부터 시작하며, 점점 게임 개발에 사용할 툴이 많아짐에 따라 조금씩 복잡해져서, 책 전체에 걸쳐 비트맵 렌더링, 픽셀 레벨 충돌 감지, 인공지능, 블리팅, 스크롤링, 입자, 재사용 가능한 프레임워크 등 게임 개발과 관련된 다양한 고급 기법을 모두 다룬다.
[ 이 책에서 다루는 내용 ]
■ 커스텀 게임을 만드는 데 활용할 수 있는 전체 기능을 갖춘 모듈화된 액션스크립트 3.0 게임 프레임워크 개발
■ 스페이스 슈팅 게임, 드라이빙 게임, 퍼즐 게임 등 10가지 게임 프로젝트를 상세히 소개
■ 비트맵 렌더링, 픽셀 레벨의 충돌 감지, 인공지능, 블리팅, 스크롤링, 입자, 재사용 가능한 프레임워크 등 고급 게임 개발 기법
[ 이 책의 대상 독자 ]
이 책은 중급 플래시 개발자, 플래시 게임 개발자, 플래시 플랫폼으로 이전하길 원하는 기존 게임 개발자, 게임을 만드는 법을 배우고자 하는 기존 웹 개발자를 위한 책이다. 이 책에서는 어느 정도의 객체 지향 방법론을 소개하고 있지만 적어도 이 책의 독자라면 액션스크립트를 통한 클래스 선언, 액션스크립트 기본 문법, 클래스 상속, 액션스크립트 디스플레이 프로그래밍 기법 정도는 알고 있어야 한다.
목차
목차
- 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 클래스의 코딩
- 테스트