이미 소장하고 있다면 판매해 보세요.
|
1부 시작하기
1장 윈도우폰과 닷넷 ___윈도우폰 개발을 위해 비주얼 스튜디오 자세히 들여다 보기 ______언어 선택 ______IDE의 특징 ___윈도우폰 플랫폼 ___비주얼 스튜디오로 하는 윈도우폰 개발 ______비주얼 스튜디오 설치 ______윈도우폰 프로젝트 생성 ______페이지 디자인 ______애플리케이션 실행 ______실제 기기에서 실행 ______디버깅 ______참고 자료 구하기 ___윈도우폰 게임 개발 ______적절한 게임 ___윈도우폰 개발 세계에 온 것을 환영합니다 2부 XNA 2장 XNA 시작하기 ___XNA란 무엇인가? ___첫 XNA 프로젝트 ______프로젝트 생성 ______콘텐트 추가 ______그래픽 출력 ______움직이는 그래픽 ______솔루션 자세히 알아보기 ___스프라이트 자세히 살펴보기 ______그래픽 포맷 지원 ______스케일링 ______회전 ______착색 ______부분 이미지 렌더링 ______레이어 뎁스 ______스프라이트 투명도 ______알파 채색 ___유용한 스프라이트 효과 ______배경 이미지 설정 ______검은색 음영 효과 넣기 ______이미지 간 음영 효과 ___텍스트 출력 ______폰트 지원 ______SpriteFont 오브젝트 생성 ______텍스트 출력 ___그 밖의 그래픽 옵션 ______전체 화면 모드에서 렌더링 ______세로형 포맷과 가로형 포맷 지정 ______그래픽 스케일링 ______드로잉 중단 ___XNA에서 즐겁게 따라하기 3장 게임 프레임워크 제작 ___게임 프레임워크 설계 ______GameObjectBase 클래스 ______SpriteObject 클래스 ______TextObject 클래스 ______GameHost 클래스 ______GameHelper 클래스 ___게임 프레임워크 ______GameFramework ______Main Game 클래스 상속 속성 설정 ______SpriteObject로부터 상속받는 클래스 생성 ______게임 호스트에 게임 오브젝트 추가 ______Game Host 클래스에서 오브젝트 제거 ______Object 속성 오버라이딩 ___벤치마킹과 퍼포먼스 ______BenchmarkObject 클래스 ______BenchmarkObject ______성능 고려사항 ___게임 완전 정복 : Cosmic Rocks(1) ______게임 설계 ______그래픽 생성 ______게임 오브젝트 생성 ______게임 실행 ___XNA 게임 제작 4장 사용자 입력 ___터치스크린 ______원본 터치 데이터 받아오기 ______사용자가 입력한 터치 정보 읽어오기 ______스프라이트 누르기 테스트 ______오브젝트 이동 초기화 ______손가락으로 조종하는 게임 ___텍스트 입력과 키보드 입력 ______하드웨어 키보드 ______사용자 텍스트 입력 요구 ___가속도 센서 값 읽어오기 ______가속도 센서 초기화 ______가속도 센서 데이터 ______에뮬레이터에서의 가속도 센서 시뮬레이션 ___게임 완전 정복: Cosmic Rocks(2) ______플레이어의 우주선에서 무기 발사 ______플레이어 우주선 이동 ______하이퍼 스페이스 구현 ___사용자 입력 디자인에 대한 고려 5장 게임 오디오 사운드 출력 ___사운드 효과와 음악 ___사운드 효과 재생 ______프로젝트에 사운드 효과 기능 추가 ______사운드 효과 재생 ______게임 프레임워크에 사운드 효과 합치기 ______사운드 효과 인스턴스 ______이 외의 사운드 효과 속성 ______게임에 맞는 사운드 효과 내기 ______인터렉션 예제 ___음악 재생 ______재생 혹은 정지 ______프로젝트에 음악 추가 ______음악 재생 ___게임 완전 정복: Cosmic Rocks(3) ___노이즈 생성 6장 행렬과 정점 그리기 ___새로운 드로잉 접근 방식 ______행렬 기반 위치 설정 ______추상적인 좌표계 ______프리머티브 그리기 ______텍스처 ______XNA는 상태 엔진이다 ___첫 정점 렌더링 프로젝트 시작하기 ______환경 설정 ______오브젝트 렌더링 ______오브젝트 이동 ______스파클 추가 ___오브젝트 채색 ___행렬 변환 이해 ______단위 행렬 설정 ______이동 행렬 적용 ______회전 변환 적용 ______스케일링 변환 적용 ______변환 행렬 다중 적용 ______정점 위치 지정 ______다른 위치에 여러 오브젝트 그리기 ___프리머티브 그리기 ______선 그리기 ______삼각형 그리기 ______점 드로잉 ___텍스처 적용 ______그래픽 불러오기 ______텍스처 활성화 설정 ______오브젝트에 텍스처 적용 ______텍스처 매핑 효과 준비 ______샘플러 상태 설정 ______텍스처 이미지 형식 지원 ______Draw 호출을 통해 다른 텍스처 사용하기 ___투명도 설정과 알파 블렌딩 ______알파 블렌딩 기능 활성화와 비활성화 ______XNA에 내장된 블렌드 상태 ______사용자 정의 블렌딩 상태 생성 ______오브젝트 투명도 ___방향 조절 ___그래픽 스케일링 ___게임 프레임워크 통합 ______MatrixObjectBase 클래스 ______GameHost 클래스 갱신 ______게임 프레임워크를 사용한 행렬 오브젝트 렌더링 ___행렬 7장 3D 그래픽 세계 ___원근 투영법 ______각뿔 입방체 시점 ______XNA에서 각뿔 입방체 정의 ___3차원 오브젝트 렌더링 ______3차원 오브젝트 정의 ___깊이 버퍼 ______깊이 버퍼 활성화와 비활성화 ______깊이 버퍼 제거 ______깊이 버퍼를 이용한 투명 오브젝트 렌더링 ___가려진 부분 컬링 처리 ___정점과 인덱스 버퍼 ______정점 버퍼 ______인덱스 버퍼 ______정점 버퍼와 인덱스 배열 동시 사용 ___조명 효과 ______빛과 재질 ______드로잉 타입 ______재질 속성 ______빛과 재질 간의 상호작용 ______다중 조명 ______조명 재사용 ______광원 타입 ______XNA의 반사광 처리 방식 ______게임에 조명 효과 넣기 ___정투영법 ______각뿔 입방체 시점 ______XNA의 정투영 입방체 시점 정의 ______등각투영 ______픽셀 단위로 정렬한 투영도 ___3차원 세계를 마스터하다 8장 3D 그래픽의 부가 기능과 기술 ___기하학 적용 ______스케치업 ______XNA 프로젝트에 저장한 기하 오브젝트 불러오기 ______불러온 기하 오브젝트의 렌더링 ______게임 프레임워크에 기능 추가 ______구글 스케치업과 3D 웨어 하우스 ______다른 파일 형식 삽입 ___카메라 작업 ______카메라 위치와 방향 ______게임 프레임워크에 카메라 기능 지원 통합 ______따라다니는 카메라 생성 ___안개 효과 넣기 ___스카이 박스 추가 ______스카이 박스 생성 ______스카이 박스를 게임 프레임워크에 구현 ___입자 효과 ______입자 효과는 어떻게 구현하는가 ______빌보드 ______입자 효과를 지원하는 게임 프레임워크 추가 ______불꽃과 연기 효과 생성 ______증기와 연기 흔적 ______요정 가루 ___효과 오브젝트 적용 ______효과 가용 범위 ______AlphaTestEffect ______DualTextureEffect ______EnvironmentMapEffect ______SkinnedEffect ___스프라이트와 행렬 렌더링 혼합 ___가능성의 세계 9장 게임 기능 개선 ___게임 설정 관리 ______클래스 구조체 ______속성 설정과 회수 ______설정 창 출력 ______설정 UI 생성 ___게임 내비게이션 모델 설계 ___고득점표 추가 ______고득점표 구현 ______게임에 HighScore 클래스 적용 ___게임 구성 요소 재사용 10장 애플리케이션의 생명 주기 ___포커스를 잃어 버릴 때 생기는 효과 ___게임 프로그램 순환 주기 이벤트 ______Launching 이벤트 ______Closing 이벤트 ______Deactivated 이벤트 ______Activated 이벤트 ______생명 주기 이벤트 처리 ______실전 이벤트 처리 수행 ___세션 상태 유지 ______직렬화 작업 ______DataContracts와 상속 ______비직렬화 데이터 유지 방법 ___게임 프레임워크에 Tombstone 추가 ______GameHost 이벤트 핸들러 설정 ______직렬화 클래스 준비 작업 ______Content 참조 유지 방법 ______State 딕셔너리로부터 게임 오브젝트를 자동으로 저장하고 회수 ______Tombstone 처리 후에 특정 오브젝트 검색 ______게임 초기화 작업 ______직렬화 처리 문제 해결 ___다시 처음으로 3부 실버라이트 11장 실버라이트 시작하기 ___실버라이트의 간략한 역사 소개 ______Windows Presentation Foundation ______실버라이트 ______윈도우폰에서의 실버라이트 ___윈도우폰 개발용 실버라이트 프로젝트 생성 ______프로젝트 템플릿 선택 ______Silverlight 프로젝트 작업 ______Solution 상세히 알아보기 ______다른 프로젝트 참조 ___XAML 체험하기 ______XAML이 왜 존재하는가? ______실버라이트 페이지 구조 ______XAML의 Syntax ___페이지 디자이너로 작업하기 ______요소 추가와 위치 설정 ______문서 Outline 창 ______Properties 창 ______컨트롤 정렬 방식의 이해 ___색상과 브러시 ______색상 지정 ______브러시 ______코드로 색상 지정 ______브러시 동시 사용 ___실버라이트 탐험 12장 실버라이트 컨트롤과 페이지 ___실버라이트 컨트롤 ______컨트롤 출력 ______Interactive 컨트롤 ______Layout 컨트롤 ______UI 디자인 ___컨트롤 변환과 투영 기법 ______RotateTransform ______ScaleTransform ______SkewTransform ______TranslateTransform ______TransformGroups ______CompositeTransform ______Projection ___화면 방향 ___전체 화면 모드에서 실행 ___다중 페이지 프로젝트 ______프로젝트에 새 페이지 추가 ______페이지 간 이동 ______페이지 간 이동 시 데이터 전달 ___게임은 계속된다… 13장 실버라이트로 게임하기 ___스프라이트 생성 ______스프라이트 사용자 컨트롤 ______스프라이트 이미지 처리 ______스프라이트 배치 ______스프라이트 변환 ______실버라이트 페이지에 스프라이트 추가 ______런타임에서 스프라이트 생성 ______스프라이트 예제 ___스프라이트 이동 ______절차적 애니메이션 ______스토리보드 애니메이션 ___실버라이트 성능 ______프레임 비율 카운터 읽어오기 ______캐시 시각화 기능 ______다시 그려지는 영역 확인 ___사용자 입력 ______컨트롤 이벤트 ______터치 이벤트 ______제스처 ______가속도계 ___게임 완전 정복: 다이아몬드 라인(1) ______스프라이트 구성 ______게임 흐름 ______입력 처리 ______스프라이트 애니메이션 ___게임 개발을 위한 실버라이트 14장 실버라이트 게임 기능 향상 ___게임 내비게이션 ______내비게이션 흐름 정의 ______내비게이션 리다이렉션 ______내비게이션 흐름 구현 ______페이지 간 이동 ______게임 상태 유지 ___게임 설정 ___고득점표 생성 ______High Score Table 클래스 ______HighScores 오브젝트 인스턴스 생성 ______새로운 점수 엔트리 추가 ______득점 점수 출력 ___배경 음악과 사운드 효과 재생 ______XNA 오디오 라이브러리 ______XNA Dispatch 타이머 초기화 ______사운드 효과 재생 ______음악 재생 ___애플리케이션 생명 주기 ______실버라이트에서 Tombstone 동작 과정 살펴보기 ______상태 저장과 복구 ___게임 완전 정복: 다이아몬드 라인(2) ______게임 내비게이션 기능 추가 ______게임 상태 유지 ______Tombstoning 지원 ______게임 설정 추가 ______사운드 효과 구현 ___실버라이트 게임 개발 4부 게임 배포 15장 게임 배포 ___게임 테스트 ___체험판 버전 ______체험판 모드 검사 ______정식 버전 구매 ______업그레이드 제안 기능 ___배포 요구사항 ______콘텐츠 정책 ______애플리케이션 요구사항 ______지역화 ______애플리케이션 기능 ______신뢰성과 성능 ______기술 정보 ______음악과 사운드 효과 ___배포 준비 ______Assembly Information 설정 ______Assembly Version 설정 ______프로젝트 속성 설정 ______메니페스트 속성 설정 ______그래픽 파일 제공 ______게임 컴파일 ___게임을 판매 혹은 무료 제공 ___마켓에 게임 등록 ___게임 홍보 ______실행 중인 게임 캡처 방법 ______비디오 클립 편집 ___창조하라! 16장 다른 플랫폼과의 연동 ___윈도우 환경에서 XNA 프로젝트 실행 ______윈도우 버전으로 기존 프로젝트 포팅 ______조건 컴파일 ______프로젝트 차이점 ______화면 출력 차이점 ______입력 방식의 차이 ______격리 저장소 ______애플리케이션 생명 주기 ______윈도우에서 실행할 수 있게 게임 프레임워크 변환 ______체험판 모드 ______배포 작업 ______몇 가지 예제 프로젝트 다시 살펴보기 ______윈도우폰 7과 윈도우 버전으로 게임 개발 ___브라우저 기반으로 실버라이트 프로젝트 실행 ______범용 실버라이트와 윈도우폰 실버라이트의 차이점 ______윈도우폰 7 프로젝트 변환 ______예제 프로젝트 ___이제 즐겨보자 |
|
모바일 게임은 최근 몇 년간 큰 인기를 끌어왔다. 닌텐도의 게임 보이를 시작으로 사람들은 밖에서도 게임을 즐길 수 있다는 사실을 알게 되었고, 기술과 게임도 나날이 정교하게 발전하고 있다. 이러한 발전을 거듭해 현재는 복잡한 게임 장비들이 상용화되었고, 정교한 2D와 3D 그래픽 기술, 점차 구성이 탄탄해지는 게임 스토리로 게이머들은 말 그대로 게임에 푹 빠져 산다.
이러한 현상과 함께 모바일 커뮤니케이션 장비의 수가 폭발적으로 급증하고 있다. 거의 모든 사람이 휴대전화를 소지하고 집을 나선다. 하지만 모바일 기기는 예전의 휴대전화보다도 훨씬 더 그 역할이 커졌다. 모바일 기기로 연락처 관리에서부터 이메일, 웹 서핑, 인공위성 내비게이션, 오락까지 한다. 모바일 게임을 개발하는 일은 이러한 트렌드를 한 곳으로 이끈다. 항시 주머니에 휴대전화를 소지하는 사람들로 하여금 모바일 기기로 게임을 '꺼내서 즐기는' 일은 아주 쉬운 일이 되었다. 열차 안에서 롤 플레잉 게임을 즐기며 자신만의 게임 세상을 만들거나 약속을 기다리는 몇 분 정도는 기분 전환을 위해 모바일이 제공하는 게임을 즐긴다. 이 책은 마이크로소프트의 강력한 윈도우폰 7에서 동작하는 게임을 독자 스스로 만들 수 있게 다양한 지식과 기술을 알려주고자 집필했다. 플랫폼의 기초와 개발 환경부터 3차원 그래픽 같은 난이도 있는 주제를 거쳐 단계적으로 간단하면서 다루기 쉬운 환경으로 독자를 이끌어 모바일 게임을 제작하고 재미삼아, 혹은 수익을 목적으로 배포할 수 있게 해줄 것이다. 예제 프로젝트를 제공하므로 이 책에서 얘기한 모든 기술을 직접 보고 느낄 수 있으므로 실험하기 위한 이상적인 도구로 삼을 수 있다. 윈도우폰 7이 제공하는 두 가지 애플리케이션 개발 환경을 모두 다루며, 정교한 게임 환경, XNA, 좀 더 일반적인 목적이나 사용자 인터페이스를 목적으로 한 실버라이트에서 어떻게 게임을 만들 수 있는지 다룬다. ---저자 서문 중에서 처음 윈도우폰에 대한 소식을 듣자마자 여타 OS 기반의 스마트폰과 어떤 점이 차별화됐는가에 관심을 가지게 되었습니다. 윈도우폰에서의 게임 개발은 여느 기종과는 달리 오래 전부터 게임 개발을 위해 존재해 온 XNA와 윈도우 특유의 화려한 UI를 지원하는 실버라이트를 이용해 개발할 수 있어 큰 차별성을 지닙니다. 국내에는 아직 윈도우폰이 보급되지 않았지만 올해부터는 윈도우폰 7을 쓸 수 있으리라고 믿습니다. 아이폰, 안드로이드폰, 윈도우폰까지 세 가지 스마트폰이 저마다의 특색을 자랑하며 삼파전을 일으키고 있습니다. 또한 아이패드나 갤럭시탭 같은 태블릿 시장 역시 윈도우 모바일 애플리케이션이 활약할 수 있는 곳입니다. 국내 창의적인 개발자들의 원활한 커뮤니티와 참여로 윈도우폰의 잠재력을 깨울 수 있으리라고 확신합니다. 윈도우폰은 자신만의 독창적인 UI를 제시하면서 사람들의 주목을 이끌기 시작했습니다. UI뿐만 아니라, 특히 게임 분야에서는 기존에 있던 전통있는 게임 라이브러리와 UI 라이브러리를 사용할 수 있다는 점은 개발자나 사용자 모두에게 큰 강점이 될 것입니다. 이 책에서는 실제로 사용할 수 있는 완성도 있는 게임 프로젝트를 여러 가지 장르로 진행하며, 프로젝트 코드를 살펴보면서 각 장르별 게임마다 저자의 세심한 노력을 엿볼 수 있었습니다. 독자들도 분명 저와 같은 느낌을 충분히 받으실 거라고 생각합니다. 전문적으로 게임을 개발하는 저자의 글을 번역하면서 윈도우폰 게임 개발에 대한 열정이 점점 더 커지는 것을 느낄 수 있었습니다. 앞으로 삼파전의 양상이 어떻게 흘러갈지는 예측하기 힘듭니다. 그러나 윈도우폰만의 매력이 있다는 점은 확실합니다. 윈도우폰 게임 개발은 이제 막 길을 터놓은 '블루오션'입니다. 윈도우폰 게임 개발에 지금 당장 참여하길 바랍니다! ---옮긴이의 말 중에서 |
|
윈도우폰 7은 강력한 모바일 컴퓨팅 플랫폼으로 막대한 잠재력을 지니고 있다. '즉시 구동(instant on)' 기능으로 이동 중에도 게임을 즐기는 꿈이 현실화 됐다. 윈도우 플랫폼은 닷넷 개발자들에게 이상적인 개발 대상이며, 정교하고 재미있는 게임을 실버라이트와 XNA를 가지고 개발할 수 있다.
『윈도우폰 7 게임 프로그래밍』은 게임 개발에서 필요한 모든 지식을 전수해준다. 이 책에서는 개발환경 설정부터 고수준 그래픽, 3D 렌더링 기술을 위한 전초 단계까지 광범위한 내용을 다룬다. 'Cosmic Rocks'와 'Diamond Lines'처럼 완벽하게 구동되는 두 가지 게임 예제 소스가 담겨 있어 이론적인 내용을 실제로 다뤄볼 수 있다. 『윈도우폰 7 게임 프로그래밍』은 독자의 창의성을 완벽하게 채워주고, 환상적인 모바일 게임을 만들 수 있게 이끌어 줄 것이다. 게임 기기를 항시 주머니에 넣고 다닌다면, 절대로 놓쳐서는 안 될 좋은 기회를 만들어 줄 것이다. ★ 이 책에서 다루는 내용 ★ ■ 윈도우폰 7 개발 시작하기: 개발 환경 구축과 코드 디버깅 ■ 공개 혹은 상용 비주얼 스튜디오 2010을 사용한 게임 개발 ■ XNA 게임 개발 환경을 사용한 고성능 2D 혹은 3D 그래픽 제작 ■ 실버라이트를 사용한 2D 게임 제작과 웹에 배포하는 방법 ■ 터치 스크린이나 키보드, 가속도계를 활용한 게임 제어 방법 ■ 게임용 고음질의 음악 및 사운드 효과 제작 ■ 재미삼아 혹은 수익을 위해 게임을 마켓에 배포하는 방법 ★ 이 책의 대상 독자 ★ 이 책은 이미 비주얼 스튜디오의 두 가지 주류 언어인 C#이나 비주얼 베이직 닷넷 중 하나라도 익숙한 사람을 대상으로 한다. 이미 독자가 프로그램의 기초를 알고, PC 기반의 애플리케이션 개발 환경에 익숙하다는 전제 하에 내용을 진행한다. 이 책은 프로그래밍 입문서나 비주얼 스튜디오 사용서가 아니다. 하지만 독자가 윈도우폰 7의 개발 환경을 설정하고 첫 프로그램을 컴파일하며, 윈도우폰 7의 무료 소프트웨어 개발 킷에 포함된 에뮬레이터나 실제 장비로 게임을 실행하면서 인터랙티브하게 디버깅할 수 있도록 완벽한 지침이 될 것이다. 윈도우폰 소프트웨어 개발을 위해, 비주얼 스튜디오 2010 개발 도구를 사용할 수 있어야 한다. 이미 이 도구가 있다면 윈도우폰 7 개발 도구를 기존 개발 환경에 통합시킬 수 있다. 없다면 마이크로소프트 웹사이트에서 윈도우폰용 비주얼 스튜디오 2010 익스프레스(Visual Studio 2010 Express for Windows Phone)를 무료로 내려받을 수 있다. 이 책에 있는 대부분의 프로젝트가 에뮬레이터를 통해 개발할 수 있다고는 하지만, 게임을 제대로 테스트하려면 실제 윈도우폰을 사용하길 강력히 권장한다. 이 책에 있는 예제는 모두 윈도우폰 7 개발을 완벽하게 지원하는 개발 언어인 C#으로 작성됐다. 비주얼 베이직에 더 익숙한 개발자라면 C# 코드와 개념이 비주얼 베이직과 상당히 흡사하다는 걸 알 수 있을 것이므로 새로운 언어라 해서 진입 장벽이 높지는 않다. ★ 이 책의 구성 ★ 1장은 윈도우폰 7을 소개하며, 비주얼 스튜디오 2010 개발 환경을 통해 윈도우폰 7 게임과 애플리케이션을 개발하는 방법을 알려준다. 1장은 닷넷 프로젝트에서 에뮬레이터와 실제 장비를 어떻게 실행하는지와 디버깅 기술을 소개하며, 두 가지 애플리케이션 개발 환경인 XNA와 실버라이트에 대해서도 소개한다. 2장은 XNA에 대한 깊이 있는 내용으로 들어가면서, XNA 프로젝트의 구조를 자세히 알아보고, 그래픽 오브젝트를 화면에 보여주고 업데이트하는 방식과 스프라이트로 복잡한 2D 결과물을 생성하는 방법, 텍스트나 폰트로 작업하는 방법을 소개한다. 3장은 이전까지 다룬 개념을 잡으면서 간단하게 재사용할 수 있는 게임 프레임워크를 만들어서 게임 프로젝트를 설정할 때 성가신 요소들을 간소화시킬 수 있게 한다. 이를 통해 독자는 오브젝트 관리와 관련된 시시콜콜한 일에 신경 쓰지 않고 게임 개발 자체에 집중할 수 있다. 또한 이 책의 첫 게임 프로젝트인 Cosmic Rocks를 소개한다. 4장은 사용자 입력에 대한 주제를 다룬다. 터치 스크린, 키보드부터 가속도계까지 모든 종류의 입력 기기는 윈도우폰 7에서 사용 가능하며, 입력 기기를 자세히 다루면서 어떻게 게임에 적용해 제어할지 소개한다. 5장은 음향 조절과 게임 오디오 옵션 제어에 관한 내용을 다룬다. 간단한 사운드 효과는 MP3 음악 파일을 예로 다룬다. 독자가 게임 사운드에 대해 알아야 할 모든 내용들을 이곳에서 찾을 수 있다. 6장은 스프라이트를 사용하는 대신 행렬과 정점을 이용해 렌더링하는 방법을 소개한다. 행렬 변환에 대해 알아보면서 그래픽을 회전하거나 크기를 조절하고, 이동시키는 원리를 다룬다. 또한 이러한 환경에서 알파 채널 효과와 블렌딩, 텍스처 매핑 같은 효과에 대퇇 개념들을 공부한다. 7장은 XNA의 기능을 3차원 오브젝트로 확장하면서, 어떻게 3D 그래픽 세계가 생성되는지 설명한다. 원근 투영, 정투영, 깊이 버퍼, 빛 효과 같은 주제를 다루면서 독자가 개발한 게임이 실사에 가까운 모습을 갖추도록 도와준다. 8장은 3D 그래픽을 중점으로 XNA에 대한 설명을 계속하고, 다양한 렌더링 기능을 소개한다. 렌더링 기능에는 서드 파티 모델링 패키지 포함시키기, 게임 카메라 이동 및 조작, 입자 효과 사용, 스카이 박스를 통한 가상 배경화면 생성, 3차원 화면에 안개 효과 적용, XNA의 효과 오브젝트를 사용하여 게임에 새로운 기능들 추가하기 등이 있다. 9장은 게임에 적용할 수 있는 재사용 가능한 요소를 몇 가지 제공한다. 사용자 설정 사항 불러오기와 저장하기 메커니즘, 고득점표 구현 등에 대한 내용을 제공해 독자가 이러한 기능들을 따로 개발할 필요 없이 게임 개발에 집중할 수 있게 한다. 10장은 윈도우폰 7의 애플리케이션 생명 주기에 대해 다루고, tombstoning과 독자의 게임이 사용자로 하여금 윈도우폰에 있는 다른 애플리케이션과 충돌하지 않고 함께 동작하도록 만드는 데 있어 꼭 알아야 할 필수 주제들을 다룬다. 11장은 XNA에 대한 주제에서 벗어나 윈도우폰 7의 또 다른 애플이케이션 개발 환경인 실버라이트에 대해 다룬다. 특별히 게임에 특화되진 않았어도, 실버라이트는 아주 다양한 기능들과 잠재적인 요소를 갖추고 있어서 게임 개발에 유용하게 쓸 수 있다. 11장은 실버라이트를 어떻게 사용하는 지와 개발 환경에 대해 소개한다. 12장은 실버라이트 프로젝트에서 사용할 수 있는 컨트롤에 대해 좀 더 자세히 다루고, 페이지 내비게이션, 회전, 전체 화면 모드 등에 관한 내용들도 다룬다. 13장은 실버라이트 게임 개발에 초점을 맞추면서 간단하면서도 유용한 스프라이트 컨트롤, 하드웨어 가속이나 스토리보드 애니메이션, 게임 타이밍, 사용자 입력 같은 주제들을 다룬다. 또한 이 책의 두 번째 게임 프로젝트인 Diamond Lines를 소개한다. 14장은 실버라이트 주제들을 좀 더 다루면서, 게임을 여러 스테이지에 걸쳐 이동하는 방법과 음악, 사운드 효과, 고득점표, 실버라이트 관점에서 바라본 애플리케이션 수명주기 등을 다룬다. 15장은 윈도우폰 마켓에 대한 내용을 다룬다. 이 마켓은 개발자가 만든 게임을 세계에 배포하고 수익도 얻을 수 있는 시장이다. 15장은 마켓에 게임을 제출할 때 지켜야 하는 요구사항에 관한 훌륭한 안내서가 되어줄 것이며, 또한 게임 테스트, 버전 관리, 체험판 버전 제작, 게임 홍보 등을 주제로 다룬다. 16장은 윈도우폰이 아닌 다른 플랫폼에 XNA와 실버라이트 게임을 포팅하는 방법에 대해 자세히 다룬다. XNA 게임은 윈도우가 설치된 컴퓨터에서 실행할 수 있으며(엑스박스 360도 포함), 실버라이트 게임은 다양한 종류의 웹브라우저에서 실행 가능하다. 16장에서는 쉽게 독자가 만든 게임을 변환하는 방법을 소개한다. |