실전 예제로 배우는 XNA GAME PROGRAMMING
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
이 책은 여러 가지 실전 예제를 통해 XNA 게임 스튜디오 익스프레스와 XNA 프레임워크로 3D 게임을 프로그래밍할 수 있도록 구성된 것이다. 3D 모형 렌더링, 셰이더, 법선 매핑, 플레이어 입력, 사용자 인터페이즈, 그리고 사용자 XACT를 이용한 사운드와 음악 재생 등을 학습하게 한다. 특히 제4부에서는 학습한 모든 내용을 활용하여 자동차 경주 게임을 만들 수 있도록 꾸몄다.
작가정보
저자(글) BENJIAMIN NITSCHKE
exDream enterainment의 설립자이자 선임 프로그래머, 게임 디자이너이다. 그는 독일 하노버에서 살고 있는 26살의 청년으로, DirectX 공동체에서의 뛰어난 활동 덕택에(특히 공개 게임 Rocket Commander) 2006년에는 Microsoft의 DirectX MVP가 되었다. 그는 어려서부터, 그러니까 아홉 살 때 자신의 최초의 컴퓨터인 C64를 선물 받고서부터 프로그래밍을 시작했다. 게임은 별로 없었지만 C64에 명령을 입력하는 것만으로도 즐거워했고, Basic을 배우고 나서는 최초의 응용프로그램과 게임도 만들게 되었다. 몇 년이 지나 PC(386)를 가지게 된 후부터 그의 작은 게임 프로젝트들(테트리스 클론, 슈팅 게임 등등)이 시작되었다. 10년 전에 설립된 exDream entertainment는 작은 게임 두어 개의 출시로 명맥을 유지해 오다가 2004년에 드디어 당사 최초의 RTS 게임인 Arena Wars를 출시하게 된다. Arena Wars는 최초의 상용 .NET 게임으로, 전 세계적으로 20개 이상의 상을 수상하기도 했다(특히 훌륭한 다중 플레이어 모드들에 대해).
최근에 Benjamin은 Rocket Commander 같은 오픈소스 게임 몇 가지도 개발하고 XNA Racing Game 스타터 키트와 그 게임을 위한 여러 게임 개조판들도 발표했다. 또한 이 게임들에 대한, 게임 개발 초보자들에게 도움이 되는 여러 동영상 강좌들과 문서들도 작성했다. 동영상 강좌들은 100,000회 이상 재생되었고, 게임들은 물론 그보다 더 많이 다운로드, 플레이되었다.
1996년부터 활동해 온 프로그래밍 서적 전문 번역가로, Knuth 교수의 고전 『컴퓨터 프로그래밍의 예술(The Art Of Computer Programming)』 시리즈 전권(1, 2, 3)을 비롯해서 30여권이 넘는 다양한 분야의 프로그래밍 서적들을 번역했다. 게임 개발 분야의 번역서로는 『Game Programming Gems』 시리즈(1, 2, 3, 4, 5)를 비롯해서 『OpenGL Game Programming』, 『3D 게임 프로그래밍 & 컴퓨터 그래픽을 위한 수학 제1, 2판』, 『AI Game Programming Wisdom』 시리즈(1, 2), 『Direct3D ShaderX: 정점 & 픽셀 셰이더 팁과 트릭』, 『게임 프로그래머를 위한 자료구조와 알고리즘』, 『Game Coding Complete』, 『루아를 이용한 민첩하고 효과적인 게임 개발』 등이 있다.
목차
- part 01 XNA 프레임워크의 기초
chapter 01 XNA 소개
XNA 프레임워크 소개
- XNA Game Studio Express
- 응용프로그램 모형
- 콘텐트 파이프라인
XNA Game Studio Express의 설치와 설정
- 요구사항
- 설치
- Visual Studio 2005 Professional에서 XNA 사용하기
- Xbox 360의 설정
시작하기
- 첫 번째 프로젝트
- F5로 실행
- 코드 수정
XNA 참고사항 몇 가지
- 주요 링크들
- C#이 게임 개발에 적합한가?
- 콘텐트 파이프라인에 대해
- MDX와의 차이
- 추가적인 도구와 조언
문제 해결
요약
chapter 02 첫 번째 게임 “퐁” 만들기
게임 아이디어
- 아이디어 작성
- 애자일 방법론
- 초반 어려움 해결하기
- 텍스처 만들기
퐁 작성
- 스프라이트
- 게임 프로그래밍에서의 단위 검사
- 공과 패들 추가
- 플레이어 입력 처리
- 충돌 판정
- 음향 효과 추가
Xbox 360에서 실행하기
도전과제: 퐁 게임의 개선
문제 해결
요약
chapter 03 보조 클래스들
콘텐트 파이프라인의 관리
- 지원하는 파일 형식들
- 장, 단점
- 콘텐트 디렉터리 다루기
- 콘텐트 들여오기 및 접근하기
오류 메시지 기록
XNA의 단위 검사
- NUnit과 TestDriven.Net
- 단위 검사 실행
- 황금률
RandomHelper 클래스
- 무작위 벡터 생성
StringHelper 클래스
- 파일 이름 추출
- 목록 기록하기
기타 보조 클래스들
- SpriteHelper 클래스
- EnumHelper 클래스
- ColorHelper 클래스
벽돌깨기 게임
- 벽돌깨기의 단위 검사
- 벽돌깨기 레벨들
- 게임 루프
- 화면 그리기
- 충돌 판정
도전과제: 벽돌깨기 게임의 개선
요약
chapter 04 게임 컴포넌트
Game 클래스
게임 컴포넌트
추가적인 보조 클래스들
- TextureFont 클래스
- Input 클래스
- Sound 클래스
테트리스 게임
- 배경 그리기
- 격자 처리
- 블록 유형들
- 중력
- 입력 처리
- 검사
도전과제: ‘다음 블록’ 게임 컴포넌트 만들기
요약
part 02 기본적인 그래픽 엔진
chapter 05 XNA 그래픽 엔진 만들기
그래픽 엔진에 필요한 기능들
- 엔진 단위 검사
- 3D 모형
- 텍스처 렌더링
- 선 그리기
3D 프로그래밍
- Model 클래스
- 다른 모형들을 시험
게임 컴포넌트 추가
- 간단한 카메라 컴포넌트
- ScreenshotCapturer 클래스
Xbox 360에서 시험하기
- XNA Game Launcher 다운로드
- Xbox 360 설정 및 게임 설치
- 콘솔 디버깅과 도구들
도전과제: 게임 컴포넌트 만들기
요약
chapter 06 셰이더 관리
셰이더 개요
- 역사
- XNA에서 셰이더의 중요성
- 예제 게임
한 걸음씩 셰이더 만들기
- FX Composer
- FX 파일의 구조
- 매개변수들
- 정점 입력 형식
- 정점 셰이더
- 픽셀 셰이더
셰이더를 엔진에 도입하기
- 셰이더 컴파일
- 매개변수 설정
- 정점 형식
- 셰이더 적용
- 셰이더 시험해 보기
도전과제
요약
chapter 07 사실감을 위한 법선 매핑
물체에 세밀함을 추가하기
- 문제점
- 소혹성 모형의 예
법선 매핑 셰이더
- 정점 셰이더와 행렬들
- 픽셀 셰이더와 최적화
ShaderEffect 클래스
- TangentVertex 형식
- 법선 매핑 단위 검사
- 커스텀 처리기를 이용한 접선 정보 추가
- 최종적인 소행성 단위 검사
추가적인 셰이더들
- 오프셋 매핑
- 유리 효과
- 반사와 수면
도전과제: 시차 매핑 구현
요약
chapter 08 화면 후처리 셰이더와 Rocket Commander 게임
화면 후처리 셰이더 만들기
- 화면 전처리 하늘 상자 매핑
- 간단한 화면 후처리 셰이더 작성
- 개선
화면 후처리 셰이더의 실행
- RenderToTexture 클래스
- PostScreenDarkenBorder 클래스
- 단위 검사 결과
기타 화면 후처리 셰이더들
- 모션 블러
- 색상 보정
- 메뉴 효과
Rocket Commander 게임
- XNA의 성능 문제
- MDX에서 XNA로
- 스레드를 이용한 성능 개선
- 결과와 스크린샷
도전과제: 외곽선 검출 셰이더 작성
요약
part 03 게임 엔진의 개선
chapter 09 XACT를 통한 사운드 추가
DirectSound의 부재
- .wav 파일 다루기
XACT 사용하기
- 프로젝트 생성
- 웨이브 뱅크 만들기
- 음악 자료의 압축 설정
- 사운드 뱅크
- 큐 변수
- 기타 효과들
Sound 클래스
- 로켓 추진음
- 3D 사운드 효과
- 메뉴 효과음
도전과제: XACT 프로젝트 만들기
요약
chapter 10 플레이어 입력과 사용자 인터페이스
Input 클래스
- Input 클래스의 Update 메서드
- 마우스 사각형
- XNA에서 텍스트 입력하기
게임 화면들
- 도움말 화면을 위한 Help 클래스
- 게임 내 사용자 인터페이스
- 조언
카메라 클래스
SpaceCamera 클래스
도전과제: 자유 카메라 클래스 만들기
요약
chapter 11 XNA Shooter 만들기
게임 조합하기
- 사운드
- 사용자 인터페이스
- 텍스처
- 3D 모형
- 텍스처 애니메이션
- 빌보드
지형 렌더링
- 기반 텍스처와 법선 맵
- 높이 맵
- 배경 객체 추가
XNA Shooter 게임
- 게임 로직
- 3D 효과
- Unit 클래스
- Projectile 클래스
- Item 클래스
- 최종 스크린샷
도전과제: 게임 엔진으로 나만의 게임 만들기
요약
part 04 자동차 경주 게임 만들기
chapter 12 지형과 트랙 생성
기존의 자동차 경주 게임들
- Gran Tourismo
- Need for Speed
- Trackmania
- XNA Racing Game
지형 렌더링
- 텍스처
- 렌더링
- 최적화 요령
트랙
- 단위 검사를 이용한 사전 점검
- 스플라인 보간
- 좀 더 복잡한 트랙
- 트랙 자료 가져오기
- 트랙 자료로 정점 만들기
- 최종 결과
도전과제: 새 트랙 단위 검사 만들기
요약
chapter 13 물리
뉴턴의 운동 법칙
- 단순화된 물리 모형
- 중력
물리 엔진들
- PhysX
- Havok
- ODE
- 기타
물리 구현
- 루프 처리
- 용수철 물리
- 충돌 검출
- PhysicsAsteroidManager 클래스
- 차의 충돌
도전과제: 도로 충돌 파악하기
요약
chapter 14 자동차 경주 게임의 최종 조율 및 “개조”
게임 개념
- 추가 기능들
게임 화면들
- 스플래시 화면
- 주 메뉴
- 게임플레이 화면
- 고득점 화면
최종 시험 및 조율
- 트랙 고치기
- 그림자 매핑
- Windows에서의 최종 시험
- Xbox 360에서의 최종 시험
추가적인 아이디어들
- 더 많은 차들
- 온라인 고득점 목록
- 더 많은 셰이더와 효과
- 더 많은 게임 모드들
- 다중 플레이어 모드
도전과제: 개조판 만들기
- 예제게임: Speedy Racer
요약
appendix A 참고자료
링크
예제 코드 다운로드
책
- 그래픽 및 셰이더 기술
- AI 프로그래밍
- 개발 및 프로그래밍 일반
- 기타 유용한 책
황금률과 유익한 조언
- 조언
- 황금률
클래스 개요
출판사 서평
자신만의 게임을 만들기란 쉬운 일이 아니다. 예전에는 Xbox 360에서 실행되는 게임을 직접 만든다는 것이 꿈과 같은 일이었다. 그러나 Microsoft의 새로운 XNA 프레임워크 덕분에 이제는 꿈이 현실로 바뀌었다. 전문 게임 개발자이자 Microsoft DirectX MVP인 Benjamin Nitschke가 쓴 이 책은 XNA Game Studio Express와 XNA 프레임워크를 이용해서 멋진 3D 게임을 만드는 방법을 상세하게 설명한다.
이 책은 여러 가지 예제들을 통해서 게임 프로그래밍의 실질적인 과제들을 신속하게 해결해 나간다. 이 책으로 3D 모형 렌더링, 거대한 지형 만들기, 셰이더를 이용한 멋진 효과 등 다양한 주제들을 배우게 될 것이다. 책의 끝 부분에서는 완전한 모습을 갖춘 자동차 경주 게임의 개발 과정도 체험해 볼 수 있다. 책을 다 읽고 나면 여러분만의 XNA 크로스플랫폼 게임을 만드는 일이 결코 어렵지 않음을 알게 될 것이다.
기본정보
ISBN | 9788956744094 ( 8956744092 ) | ||
---|---|---|---|
발행(출시)일자 | 2008년 01월 10일 | ||
쪽수 | 587쪽 | ||
크기 |
210 * 297
mm
|
||
총권수 | 1권 | ||
원서명/저자명 | Professional XNA game programming/Nitschke, Benjamin |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립