logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

플래시 게임 개발 & 기획 마스터 세트 - 전3권

플래시 게임 개발 & 기획 마스터 세트 - 전3권

(『플래시 멀티플레이 게임 개발』『플래시 게임 마스터』『The Art of Game Design』)

제시 셸, 제프 펄튼, 스티브 펄튼, 죠비 마카르 (지은이), 전유택, 이형민, 유윤선, 송용근 (옮긴이)
  |  
에이콘출판
2011-09-30
  |  
98,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 88,200원 -10% 0원 4,900원 83,300원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

플래시 게임 개발 & 기획 마스터 세트 - 전3권

책 정보

· 제목 : 플래시 게임 개발 & 기획 마스터 세트 - 전3권 (『플래시 멀티플레이 게임 개발』『플래시 게임 마스터』『The Art of Game Design』)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9788960772328
· 쪽수 : 657쪽

책 소개

플래시로 만드는 멀티플레이 게임의 모든 것을 설명한『플래시 멀티플레이 게임 개발』, 플래시 게임 개발자와 액션스크립트 프로그래머 또는 기존 게임 개발자를 위한 완벽 마스터 가이드『플래시 게임 마스터』, 별다른 사전 지식 없이도 게임 디자인의 원론을 통달할 수 있는 『The Art of Game Design』로 구성된 세트.

목차

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

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장 모든 디자이너에게는 동기가 있다
___가장 깊은 주제

마치며

저자소개

제시 셸 (지은이)    정보 더보기
카네기 멜론 대학의 엔터테인먼트 테크놀로지 센터(ETC)의 교수로, 게임 디자인을 가르치며 여러 연구 프로젝트를 진행하고 있다. 그는 피츠버그 최대의 비디오 게임 스튜디오인 셸 게임즈(Schell Games)의 CEO이기도 하다. 그는 월트 디즈니 이메지니어링 버추얼 리얼리티 스튜디오(Walt Dsney Imagineering Virtual Reality Studio)의 크리에이티브 디렉터와 국제 게임 디자이너 협회(IGDA)의 의장을 역임했으며, 프로 저글러이기도 하다. 2004년에는 MIT의 테크놀로지 리뷰에서 선정한 세계 100인의 젊은 혁신가로 뽑히기도 했다.
펼치기
제프 펄튼 (지은이)    정보 더보기
30년 이상 취미로 컴퓨터 게임과 비디오 게임을 즐기고 있다. 어린 시절 제프는 게임 프로그래밍을 통해 돈을 벌고 싶다는 막연한 꿈을 꾸긴 했지만 전문 게임 개발자가 될 생각은 전혀 없었다. 제프는 오히려 작가나 영화감독이 될 생각이었다. 대학에서 친구들과 함께 예산이 전혀 필요 없는 영화 몇 편을 찍고 난 후 제프는 자신이 창작 분야만큼이나 기술적인 분야에도 소질이 있음을 깨달았다. 제프와 그의 형인 스티브가 애니메이션을 제작하고 이들 영화의 타이틀 시퀀스를 만드는 데 사용한 아타리 ST 컴퓨터는 이후 제프가 전문 게임 개발자로서의 길을 걷게 하는 데 큰 영감을 줬다. 1991년 제프는 ST 액션 매거진에서 Llamasoft의 게임 개발자인 제프 민터의 게임 개발 관련 연재 기사를 읽었다. 이 연재 기사는 그의 이후 경력의 씨앗을 심어준다. 제프는 민터가 기사에서 설명하고 개발한 포스트 복고 게임의 다양한 언어와 흥미로운 이야기에 매료됐다. 게임 개발이 단순히 창조적인 추구를 통해 이뤄지지 않는다는 사실을 깨달은 후 제프는 대학의 모든 영화 과목을 제쳐두고 최대한 기술 수업과 경영 수업을 찾아서 수강했다. 대학 졸업 후 제프는 업무 시간에는 주로 펄과 C++로 다양한 비즈니스 애플리케이션을 만들고, 여가 시간에 게임 코딩과 개발을 했다. 1990년대 말 웹 붐이 강타했을 때 제프는 기회를 놓치지 않고 벤처를 시작하는 기업들의 웹사이트를 만들고 거대 다국적 기업을 위한 게임을 만들었다. 2006년 게임과 사이트가 200개 이상 쌓이자 제프와 스티브(역시 게임 개발자이자 사이트 개발자)는 www.8bitrocket.com이라는 자신들의 사이트를 시작한다. 이 사이트의 목적은 웹 게임과 복고 스타일의 게임을 알리고 자신들이 익힌 게임 설계, 코딩, 개발 기법을 다른 이들에게 전수하는 것이다.
펼치기
스티브 펄튼 (지은이)    정보 더보기
자칭 아타리 광팬인 스티브 펄튼은 자신이 기억하는 한 항상 게임을 만들고 싶어 했다. 영화 학교와 락 저널리즘에도 잠깐 손을 댄 적이 있지만, 스티브는 1990년대 초에 C++와 어셈블리 언어 프로그래머로 경력을 시작한다. 하지만 월드 와이드 웹의 부상으로 인해 시들해진 클라이언트 서버 소프트웨어 업체 몇 곳에서 일한 후 스티브는 1995년 새로운 가능성을 보고 HTML/자바와 펄/CGI 프로그래밍을 시작한다. 당시에는 (웹이 폭발적으로 성장하기 전에) 이런 경력 이전으로 인해 웹사이트와 채팅, 단어 검색, HTML과 서버사이드 스크립트만을 활용한 간단한 게임 같은 인터랙티브 애플리케이션을 만드는 직종이 크게 늘어났다. 1990년대 내내 소규모 기업과 대기업을 상대로 웹사이트를 개발한 후 스티브는 세계에서 가장 큰 엔터테인먼트 기업 중 한곳의 소비자를 대상으로 하는 웹사이트를 개발한다. 지난 10년간 스티브는 플래시를 비롯한 다양한 기술을 활용해 웹 기반의 게임과 엔터테인먼트 작업을 했다. 수십 개의 유명하고 트래픽 양이 많은 웹사이트나 커뮤니티와 더불어 스티브는 수백 개의 플래시 애플리케이션과 웹사이트를 설계하고, 개발하고, 프로그래밍했다. 이 중에는 10억 번 이상 플레이된 1인용 게임과 멀티 플레이어 웹 기반 게임도 수십 가지나 있다. 동생인 제프와 더불어 스티브는 인기 있는 플래시와 복고 게임 개발 사이트인 www.8bitrocket.com을 운영 중이다. 이 사이트는 뉴스, 튜토리얼, 데모 게임, 실험, 플래시, 바이럴 웹 게임 세계에 대한 생각 등이 수시로 업데이트된다.
펼치기
죠비 마카르 (지은이)    정보 더보기
플래시 멀티플레이 게임 수석 아키텍트로 이 분야의 선두적인 기업 일렉트로탱크Electrotank (www.electrotank.com)의 창립자다. 지난 10여 년간 200개 이상의 플래시 게임과 가상세계를 만들어 왔고, EUP 가상세계와 MMOG 플랫폼(www.eupsite.com) 제작에 참여했다.
펼치기
전유택 (지은이)    정보 더보기
에듀테크 스타트업 에누마의 한국 지사장이다. 서울대학교 물리교육과를 졸업하고 동 대학원 물리학과에서 석사학위를 받았다. 대학원 졸업 후, 10여 년간 넥슨, 엔씨소프트 등에서 게임 개발 디렉터로 일했다. 게임 업계 경험을 바탕으로 디지털 교육기기 개발에 힘써 학습에 어려움을 겪는 어린이를 위한 디지털 자가 학습 도구를 만들고 있다. 태생, 지역, 환경 등 다양한 층위에서 해소되지 않는 교육격차 문제의 해결에 관심을 두게 되었으며 디지털 교육으로의 전환이 최선의 방책이라는 믿음을 가지고 있다. 『라프 코스터의 재미이론』(2017), 『게임 디자인 레벨업 가이드』(2015), 『아트 오브 게임디자인』(2010) 등 게임과 디자인에 관한 책들을 번역했다.
펼치기
전유택의 다른 책 >
이형민 (옮긴이)    정보 더보기
대학에서 컴퓨터를 전공하고 일러스트레이터의 꿈을 안고 업계에 투신했지만, 어찌 된 일인지 10년 동안 게임 기획 업무만 하고 있는 이상한 경력의 소유자다. 엔씨소프트에서 리니지 2 이후 아이온을 비롯한 여러 게임의 디자인에 관여(?)해왔으며, 현재는 마법천자문 온라인(가칭)을 개발 중이다. 『게임 아키텍처 & 디자인』(제우미디어), 『온라인 게임 개발 테크닉』(정보문화사)의 번역에 참여했으며, 『인터랙션 디자인』(에이콘 출판사) 번역의 고양이를 했다.
펼치기
유윤선 (엮은이)    정보 더보기
인디 개발자이자 프리랜서 번역가로 활동 중이다. 역서로는 『단일 페이지 웹 애플리케이션』, 『전문가를 위한 안드로이드 프로그래밍』, 『하둡 인 프랙티스』, 『시작하세요! iOS 6프로그래밍』, 『프로페셔널 Node.js프로그래밍』, 『NoSQL프로그래밍』, 『프로 스프링 3』, 『라이프해커』, 『시작하세요! 아이폰 5 프로그래밍』, 『안드로이드 레시피』, 『시작하세요! Unity 3D 게임 프로그래밍』, 『시작하세요! 안드로이드 게임 프로그래밍』, 『시작하세요! 아이폰 4프로그래밍』, 『플래시 빌더 4& 플렉스 4바이블』, 『쉽고 빠르게 익히는 CSS3』, 『스프링 시큐리티 3』, 『시작하세요! 아이패드 프로그래밍』 등이 있다.
펼치기
송용근 (옮긴이)    정보 더보기
POSTECH 컴퓨터공학과, 일본 히로시마 대학에서 의학과학 석사 학위를 받았다. TEDxSeoul 오거나이저와 마가진(magazyn) 엔지니어, 리켄 뇌과학연구소 연구생을 거쳐 현재 디메이저(dmajor)의 데이터 엔지니어로 일하고 있다. 복잡한 시스템을 관계로 풀어내는 데 관심을 두고 있다. 『구글 애널리틱스로 모아보는 데이터』(에이콘출판사, 2016) 등을 번역 출간했다.
펼치기

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책