로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

실전 예제로 배우는 XNA Game Programming : For Xbox 360 and Windows

   
지은이 B. Nitschke/류광   |   출판사 정보문화사  |   발행일 2007년 12월 05일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 23,000원20,700원 10%
마일리지 5% 1,150원
발행일 2007-12-05
ISBN 8956744092 | 9788956744094
기타정보 번역서 | 587쪽
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
게임
종합지수 8p 55 위
   
  ※ 체크아웃으로 구매시 제주지역은 5만원 미만 결재의 경우 배송비가 추가 될 수 있습니다.
이 책의 원서
  Professional Xna Game Programming
WROX PRESS | B. Nitschke
 

자신만의 게임을 만들기란 쉬운 일이 아니다. 예전에는 Xbox 360에서 실행되는 게임을 직접 만든다는 것이 꿈과 같은 일이었다. 그러나 Microsoft의 새로운 XNA 프레임워크 덕분에 이제는 꿈이 현실로 바뀌었다. 전문 게임 개발자이자 Microsoft DirectX MVP인 Benjamin Nitschke가 쓴 이 책은 XNA Game Studio Express와 XNA 프레임워크를 이용해서 멋진 3D 게임을 만드는 방법을 상세하게 설명한다.

이 책은 여러 가지 예제들을 통해서 게임 프로그래밍의 실질적인 과제들을 신속하게 해결해 나간다. 이 책으로 3D 모형 렌더링, 거대한 지형 만들기, 셰이더를 이용한 멋진 효과 등 다양한 주제들을 배우게 될 것이다. 책의 끝 부분에서는 완전한 모습을 갖춘 자동차 경주 게임의 개발 과정도 체험해 볼 수 있다. 책을 다 읽고 나면 여러분만의 XNA 크로스플랫폼 게임을 만드는 일이 결코 어렵지 않음을 알게 될 것이다.

이 책의 주요 주제

* XNA 프레임워크의 기초와 XNA Game Studio Express 개발 환경
* 3D 모형 렌더링과 셰이더 효과, 화면 후처리
* 사용자 입력 처리와 사용자 인터페이스 관리
* XACT를 이용한 사운드, 음악 재생
* 자동차 경주 게임을 위한 간단하지만 효과적인 물리 구현
* XNA에서의 성능 최적화와 디버깅, 게임 조율

이 책은 Xbox 360이나 Windows 플랫폼을 위한 자신만의 게임을 만들고자 하는 모든 사람을 위한 책이다. 단, C# 또는 그와 비슷한 .NET 언어에 대한 기본적인 지식과 경험은 꼭 필요하다.
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 프로그래밍
개발 및 프로그래밍 일반
기타 유용한 책
황금률과 유익한 조언
조언
황금률
클래스 개요
[옮긴이 소개]
옮긴이 류광은 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』, 『루아를 이용한 민첩하고 효과적인 게임 개발』 등이 있다.

[저자 소개]
Benjamin 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회 이상 재생되었고, 게임들은 물론 그보다 더 많이 다운로드, 플레이되었다.

[ 저자·역자 Prolog]
Microsoft가 XNA에 대한 계획을 발표했을 때 ‘이제는 누구나 게임을 만들 수 있게 되나 보다’ 하는 희망(또는 걱정)을 가지는 사람들이 있었지만, 실체가 드러난 지금 XNA가 그런 마법의 도구가 아님은 확실해 졌습니다. 그러나 기존 언어와 프레임워크에 비해 게임을 한결 편하고 빠르게 만드는 데 도움이 되는 도구임도 확실하다고 생각합니다. 게다가 Microsoft의 XDK 없이도 ‘누구나’ Xbox용 게임을 만들 수 있다는 점은 상당히 혁명적입니다. 이 점 때문에 XNA에 관심을 가지게 된 사람들이 많다고 알고 있습니다. MSDN의 레퍼런스나 웹상의 튜토리얼들로는 뭔가 좀 부족하지 않나 싶었는데, 때마침 XNA 게임 개발을 전문으로 다루는 책이 나와서 기쁜 마음으로 번역을 했습니다.

이 책은 상세한 레퍼런스도 아니고 초보용 ‘따라 하기’ 책도 아닙니다. 그보다는, XNA를 독자보다 조금 먼저 접하게 된 한 개발자로서의 저자가 자신의 경험을 독자에게 격의 없이 전달하는 방식의 책입니다. 그러다 보니 논의가 산만한 부분도 있고 수박 겉핥기식으로 넘어가는 부분도 있지만, 독자가 XNA 게임 개발에 흥미를 가지게 하고 XNA로 할 수 있는 것들과 그것들을 잘 해내는 방법을 알려주고자 하는 책의 취지를 생각할 때 큰 문제가 되지는 않을 것입니다. 그리고 사실 이 책 같은 ‘해당 분야 최초의 책’은 완전한 레퍼런스나 철저한 따라 하기 책보다는 그런 ‘조금 앞서 경험한 동료가 자신의 이야기를 전해 주는 책’을 지향하는 것이 바람직하다고 생각합니다.

그렇다고 책에 담긴 내용의 수준이 낮은 것은 아닙니다. 이 점은 후반부 예제 게임들의 완성도를 보면 어느 정도 수긍이 갈 것입니다. 저자가 비교적 짧은 시간에 그 정도의 예제 게임들을 개발 또는 이식해낸 데에는 저자의 노력과 실력이 주되게 작용을 했겠지만, XNA가 가진 저력도 한 몫 했으리라고 생각합니다.
예제 이야기가 나왔는데, Wrox 출판사의 관례에 따라 이 책은 CD가 아니라 웹을 통해서 예제 코드를 제공합니다. 그런데 예제 코드는 책이 출판된 이후로도 갱신이 되었고, 그러다보니 책(원서)에 나온 코드와 웹에 있는 코드가 일치하지 않는 부분이 좀 있었습니다. 독자에게 혼동을 줄만한 부분을 번역하면서 최대한 줄이려고 노력했지만, 완전히 없어지지는 않았을 것입니다. 그런 부분을 극복하는 것도 독자의 공부에 도움이 되는 과제일 것이며, 어차피 IDE 다루기와 소스 코드 찾아 읽기에 익숙해지지 않으면 이 책(그리고 다른 여타의 진지한 프로그래밍 서적)을 최대한 활용할 수 없을 것이라는 점을 변명으로 삼겠습니다. 크게 문제가 될 만한 부분은 역주로 부연 설명을 해두었습니다.

마지막으로, 번역서에 쓰인 용어들에 대해 잠깐 언급하겠습니다. 기본적으로는 제가 번역했던 다른 게임 프로그래밍 서적들에서 계속 써왔던 용어들을 사용했으나, Microsoft의 제품을 다루는 책인 만큼 한국 Microsoft가 사용하는 용어들도 적극적으로 채용을 했습니다. 특히 C#과 Visual Studio에 관련된 용어들은 대부분 Microsoft 웹 사이트의 한국어 페이지 또는 MSDN 한국어판에 나오는 용어들을 사용했습니다.

참고로 이 번역서는 2007년 4월에 Wrox가 출판한 Professional XNATM Gmae Programming For Xbox 360TM and Windows짋를 번역한 책입니다. 원서의 정오표1)는 2007년 8월 하순에 마지막으로 반영을 했고, 원서 정오표에 등록되지 않은 오타나 오류들도 적절히 수정했습니다. 항상 그렇듯이 제 홈페이지 occam's Razor에 이 책에 대한 추가적인 정오표와 새로 갱신된 내용을 담은 페이지를 마련해 두겠습니다. 오류 보고나 책에 대한 의견도 환영합니다.
XNA - 더욱 쉬워진 3D 게임 개발
임은천님이 쓰신 서평보기 I 평점 I 조회수(1108) I 공감 (0) I 블로그
류광님의 번역이라는 것을 보고 별 의심 없이 책을 읽게 되었다.3D 게임을 만들다 보면 뜬구름 잡는듯한 느낌을 많이 받는데, 이 책은 그런 모든 것을 날려 버렸다. 이제 이런 책이 번역 되었으니 DirectX와 OpenGL을 직접 다루거나 MDX를 쓰는 것과 같은 복잡한 문제는 많이 사라질 것이다. 이 책의 접근 방식은 기초 -> 게임 엔진 제작 -> 실제 게임 제작 형태이다. 이 책은 실제로 동작하는 3D 게임(상당히 완성도 높음)을 통해서 설명하기 때문에 더욱 3D 게임 만드는...
XNA는 대중적인 환경이 아닙니다.
박진국님이 쓰신 서평보기 I 평점 I 조회수(813) I 공감 (0) I 블로그
XBox 개발 프로그램 경력이 있는 사람으로서.. 책보다는 XNA에 대해서 말하고자 합니다. XNA는 대중적인 환경이 아닙니다. XBox 자체에서도 대중적인 환경이 아닙니다. 국내에서 XBox개발 스튜디오가 전무한 상황에서.. 사실상 거의 의미가 없다고 과언이 아닌책입니다. 물론 호기심이 많이 가는 책입니다만, 실제로.. 읽을 책들이 너무 많죠.. 그냥 공부하기에는 XNA 자체의 성공여부등이 불투명하고.. 너무나 대중화 되어 있지 않습닏. C#으로 프로...
번역자도 말하고 있듯 초보자 용은 분명히 아닙니다.
박성곤님이 쓰신 서평보기 I 평점 I 조회수(615) I 공감 (0) I 블로그
번역자도 이 책은 레퍼런스도 아니고 초보자 용도 아니라고 했듯 말 그대로 정말 조금 먼저 익힌 사람이 자신의 강한 스타일을 기준으로 쓴 책입니다. 레퍼런스나 기본베이스를 익힌 후 봐야 할 만한 아주 좋은 따라하기 예제들이 있습니다만기본적으로 게임개발을 조금 해 봤거나 그 로직을 이해하거나, 또는 다른 사람의 소스코드 개발 방식을 이해할 수 있을만큼의 경험이 있어야 책을 보는데 불편함이 없을것 같습니다. 최근 xna 로 제작된 소스코드들은 인터넷에서도...
XNA가 그렇듯 이 책 역시 입문서가 아님을 명심하자
김정연님이 쓰신 서평보기 I 평점 I 조회수(640) I 공감 (0) I 블로그
XNA를 셋팅하고 관련 튜토리얼들을 통해 XNA 프레임웍을 이해하고 이 책을 읽게됐는데 4장까지는 세 가지 고전게임을 제작하며 SpriteBatch 클래스를 통한 2D 환경을 다루고 그 이후로는 3D 환경을 다룹니다. 번역은 오탈자가 몇군데 보이나 아주 매끄럽지만 저자의 스타일이 강해 적응하는데 약간의 시간이 필요했습니다. 이 책은 C#언어를 충분히 이해해야하고 더불어 어떤 언어로든 게임제작의 경험이 있어야 가볍게 읽을 수 있겠습니다. 구문 하나하나에 대한 친절하고 세세한...
NGUI 유니티 2D 게임 프로그래밍...
송요창
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
게임 매니악스 탄막 게임 알고리즘...
마츠우라 켄이치로,츠카사 유키
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
게임 프로그래밍, 물리로 생각하라...
다니지리 도요히사, 다니지리 가오리 공저
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(51)
회원평점   회원서평수 4
XNA - 더욱 쉬워진 3D 게임 개발
임은천 님  2008-05-08
XNA는 대중적인 환경이 아닙니다.
박진국 님  2008-02-01
번역자도 말하고 있듯 초보자 용은 분명히 아닙니다.
박성곤 님  2007-12-17
XNA가 그렇듯 이 책 역시 입문서가 아님을 명심하자
김정연 님  2007-12-11
류광 의 최근 저서
 
[패키지] Game Programming Gems 7 + Game Programming Gems 8
70,200원
(10%↓+5%)
 
[패키지] Game Programming Gems 6 + Game Programming Gems 7 + Game Programming Gems 8
105,300원
(10%↓+5%)
 
[패키지] Game Programming Gems 6 + Game Programming Gems 7 + Game Programming Gems 8 + GAME ENGINE GEMS 1
140,400원
(10%↓+5%)
 
[패키지] Game Programming Gems 8 + GAME ENGINE GEMS 1
70,200원
(10%↓+5%)
 
프로 안드로이드 SL4A: 파이썬으로 안드로이드 앱 만들기
23,400원
(10%↓+5%)
 
정보문화사 출판사의 신간
TED처럼 말하라
아카시 카리아 저
10,800원
(10%↓+5%)
 
대화를 디자인하라
러스 웅거, 댄 윌리스, 브래드 넌널리 저
13,500원
(10%↓+5%)
 
디자인 방법론
에릭 카르잘루오토 저
13,500원
(10%↓+5%)
 
나만의 Python Game 만들기
알 슈베이가르트 저
22,500원
(10%↓+5%)
 
Python과 Pygame으로 게임 만들기
알 슈베이가르트 저
20,700원
(10%↓+5%)
 
이메일주소수집거부