이미 소장하고 있다면 판매해 보세요.
|
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 프로그래밍 개발 및 프로그래밍 일반 기타 유용한 책 황금률과 유익한 조언 조언 황금률 클래스 개요 |
|
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에 이 책에 대한 추가적인 정오표와 새로 갱신된 내용을 담은 페이지를 마련해 두겠습니다. 오류 보고나 책에 대한 의견도 환영합니다. |