Top

윈도우폰 7 게임 프로그래밍 [XNA와 실버라이트로 만드는 2D & 3D 윈도우폰 게임]

  • 원서명Windows Phone 7 Game Development (ISBN 9781430233060)
  • 지은이애덤 도즈
  • 옮긴이이승현
  • ISBN : 9788960772960
  • 40,000원
  • 2012년 04월 26일 펴냄 (절판)
  • 페이퍼백 | 808쪽 | 188*250mm
  • 시리즈 : 모바일 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/windows-phone7-game)

윈도우폰 7 개발 중에서도 게임 개발에 초점을 맞춘 가이드다. XNA와 실버라이트까지 포괄하며, 2D와 3D 게임 분야와 윈도우 포팅, 게임 배포 방법까지 세세한 내용을 모두 설명한다. 실전 게임 개발에서 문제가 발생할 만한 상세한 부분까지 고려해 노하우를 담아 게임 개발자에게 꼭 있어야 할 지침서가 되어줄 것이다. 게임 개발을 전문으로 하는 저자의 노하우와 창의성을 배울 수 있는 참신한 예제들을 하나씩 테스트해 보면서 재미있게 공부할 수 있다.


[ 소개 ]

윈도우폰 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장에서는 쉽게 독자가 만든 게임을 변환하는 방법을 소개한다.


[ 추천의 글 ]

이제 게임은 우리 삶에 즐거움을 주는 생활의 일부로서 자리를 잡았다. 스마트폰에서 가장 인기있는 게임은 모두 한결같이 앵그리버드를 꼽는다. 우주에서의 에피소드를 엮은 앵그리버드 스페이스는 72시간 만에 1천만 명이 내려받은 온라인 역사상 가장 급속하게 퍼진 게임이 아닐까 싶다.

또한 지금까지 역사상 가장 짧은 기간에 최고 판매량으로 지금까지 3천만 대 이상 판매된 제품이 있다. 그것은 아이패드도 아니고 갤럭시 탭도 아닌, 엑스박스360 키넥트(BOX360 Kinect)는 제품으로서 믿기지 않지만 기네스북에 올라 있다.

이렇게 기네스북에 올라 갈 만큼 빠르게 판매된 이유는 사람의 동작 인식을 제어할 수 는 키넥트라는 센서가 탑재돼 혁신적인 솔루션을 만들어 내기 때문이다. 특히, 키넥트는 PC 버전으로 출시돼 게임뿐만 아니라 교육과 헬스케어, 쇼핑, 로봇 센서 등 광범위한 산업으로 확대되고 있다.

현재 많은 제조사에서 출시 중인 윈도우폰은 노키아와 전략적 제휴를 맺어 4.3인치 디스플레이 크기와 LTE인 제4세대 4G 통신을 탑재해 미국과 동시에 전 세계에 판매되고 있다.

한편, 윈도우폰은 전세계적으로 2천만 대 이상 판매돼 조금씩 시장을 회복하는 추세다.
윈도우폰 마켓플레이스는 2010년 출시 이후 8만 개 이상의 앱이 등록된 세계 제3대 시장으로 수많은 카테고리 중 게임이 13%를 차지하고 있는데 특히 엑스박스 라이브(XBOX Live)라는 서비스와 연결한 것이 특색이다.

XNA는 PC뿐만 아니라 윈도우폰 및 엑스박스360+ 키넥트 플랫폼 게임을 개발할 수 있는 핵심 프레임워크다. 이 책은 XNA를 이용해 윈도우폰 게임을 개발하는 데 중점을 두지만 기술 원리만 이해하면 다른 플랫폼으로도 쉽게 포팅할 수 있는 놀라운 경험을 할 수 있다.

이 책은 이승현 님이 번역한 책으로서, 실전 게임 개발에 초점을 맞춰 닷넷과 C# 언어에 대한 간단한 사용법에서 시작해 XNA 프레임워크 기본 아키텍처까지 살펴보며, 윈도우폰의 터치 및 제스처 등 여러 가지 입력 방법과 게임에서 사용되는 배경 음악과 효과음 등을 소개한다.

그 뿐만 아니라 버텍스(Vertex)와 매트릭스 렌더링을 이용한 2D와 3D 게임 개발 기법, 충돌 기법에 사용하는 여러 가지 스프라이트 효과(Sprite Effect)와 알파 블렌딩(Alpha Blending)뿐만 아니라 텍스처의 카메라 심도 및 광원 모드 등 게임 언어로 표현할 수 있는 테크닉을 모두 수록했다. 또한 윈도우폰의 사용자 경험을 잘 표현해 주는 실버라이트(Silverlight) 사용법과 앱 주기뿐만 아니라, 마켓플레이스에 게임을 올리는 방법까지 상세히 설명한다.

이 책을 마스터하고 나면 여러분은 XNA의 매력에 빠져 XNA 게임 개발자로 변신해 있을지도 모르겠다. 실제로 올해 이매진컵에서 수많은 학생들이 2주 만에 완성도 높은 게임을 개발한 것을 보고 새삼 XNA의 성능에 감탄했기 때문이다!

이 책과 함께 멋진 게임을 만들어 더욱 더 즐겁고 풍요로운 삶으로, 세상을 바꿔 보자!

- 포스코센터 서관 8층에서, 서진호 부장
마이크로소프트, 윈도우폰7 개발자 전도사
http://www.facebook.com/windowsphonekorea

저자/역자 소개

[ 저자 서문 ]

모바일 게임은 최근 몇 년간 큰 인기를 끌어왔다. 닌텐도의 게임 보이를 시작으로 사람들은 밖에서도 게임을 즐길 수 있다는 사실을 알게 되었고, 기술과 게임도 나날이 정교하게 발전하고 있다. 이러한 발전을 거듭해 현재는 복잡한 게임 장비들이 상용화되었고, 정교한 2D와 3D 그래픽 기술, 점차 구성이 탄탄해지는 게임 스토리로 게이머들은 말 그대로 게임에 푹 빠져 산다.

이러한 현상과 함께 모바일 커뮤니케이션 장비의 수가 폭발적으로 급증하고 있다. 거의 모든 사람이 휴대전화를 소지하고 집을 나선다. 하지만 모바일 기기는 예전의 휴대전화보다도 훨씬 더 그 역할이 커졌다. 모바일 기기로 연락처 관리에서부터 이메일, 웹 서핑, 인공위성 내비게이션, 오락까지 한다.

모바일 게임을 개발하는 일은 이러한 트렌드를 한 곳으로 이끈다. 항시 주머니에 휴대전화를 소지하는 사람들로 하여금 모바일 기기로 게임을 ‘꺼내서 즐기는’ 일은 아주 쉬운 일이 되었다. 열차 안에서 롤 플레잉 게임을 즐기며 자신만의 게임 세상을 만들거나 약속을 기다리는 몇 분 정도는 기분 전환을 위해 모바일이 제공하는 게임을 즐긴다.

이 책은 마이크로소프트의 강력한 윈도우폰 7에서 동작하는 게임을 독자 스스로 만들 수 있게 다양한 지식과 기술을 알려주고자 집필했다. 플랫폼의 기초와 개발 환경부터 3차원 그래픽 같은 난이도 있는 주제를 거쳐 단계적으로 간단하면서 다루기 쉬운 환경으로 독자를 이끌어 모바일 게임을 제작하고 재미삼아, 혹은 수익을 목적으로 배포할 수 있게 해줄 것이다. 예제 프로젝트를 제공하므로 이 책에서 얘기한 모든 기술을 직접 보고 느낄 수 있으므로 실험하기 위한 이상적인 도구로 삼을 수 있다.

윈도우폰 7이 제공하는 두 가지 애플리케이션 개발 환경을 모두 다루며, 정교한 게임 환경, XNA, 좀 더 일반적인 목적이나 사용자 인터페이스를 목적으로 한 실버라이트에서 어떻게 게임을 만들 수 있는지 다룬다.


[ 저자 소개 ]

애덤 도즈 (Adam Dawes)
소프트웨어 개발자이자 시스템 아키텍트로, 최첨단 온라인 서비스 개발 회사에 근무한다. 4살 때 처음 코모도어(Commodore) PET라는 흑백 컴퓨터를 접하면서 열정적인 프로그래머가 됐다. 8비트 대형 컴퓨터 시절부터 현대의 멀티코어 프로세서, 휴대용 슈퍼컴퓨터까지 그 후로 30여 년 동안 끊임없이 프로그램 개발을 해왔다. 애덤의 개발 이력을 보면 컴퓨터 게임 개발에 관심이 많았음을 알 수 있다. 복잡한 녹색 미로가 화면 가득 펼쳐진 나이트메어 파크(Nightmare Park)라는 게임이 인기를 끈 1980년을 기점으로, 애덤은 다양한 장르에 걸쳐 게임을 즐겨왔다. 요즘은 최신 3D 게임, 서서 하는 고전 아케이드 머신 게임, 앉아서 하는 드라이브 게임 등을 종류 불문하고 즐긴다. 자신만의 게임을 만드는 게 취미이며, 전문적인 게임으로 만들려는 의도가 전혀 없더라도 자신의 아이디어를 구현하는 일을 정말 사랑한다. 애덤은 아름다운 아내 리투(Ritu)와, 아들 키런(Kieran)과 함께 잉글랜드 북동쪽에 거주한다. 사이트 www.adamdawes.com (그가 수행한 모든 프로젝트를 내려받을 수 있다)을 운영하며, adam@adamdawes.com으로 직접 메일을 보낼 수 있다. 애덤은 특히 독자가 만든 게임 결과물 보기를 정말 좋아한다.


[ 옮긴이의 말 ]

처음 윈도우폰에 대한 소식을 듣자마자 여타 OS 기반의 스마트폰과 어떤 점이 차별화됐는가에 관심을 가지게 되었습니다. 윈도우폰에서의 게임 개발은 여느 기종과는 달리 오래 전부터 게임 개발을 위해 존재해 온 XNA와 윈도우 특유의 화려한 UI를 지원하는 실버라이트를 이용해 개발할 수 있어 큰 차별성을 지닙니다. 국내에는 아직 윈도우폰이 보급되지 않았지만 올해부터는 윈도우폰 7을 쓸 수 있으리라고 믿습니다.

아이폰, 안드로이드폰, 윈도우폰까지 세 가지 스마트폰이 저마다의 특색을 자랑하며 삼파전을 일으키고 있습니다. 또한 아이패드나 갤럭시탭 같은 태블릿 시장 역시 윈도우 모바일 애플리케이션이 활약할 수 있는 곳입니다. 국내 창의적인 개발자들의 원활한 커뮤니티와 참여로 윈도우폰의 잠재력을 깨울 수 있으리라고 확신합니다.

윈도우폰은 자신만의 독창적인 UI를 제시하면서 사람들의 주목을 이끌기 시작했습니다. UI뿐만 아니라, 특히 게임 분야에서는 기존에 있던 전통있는 게임 라이브러리와 UI 라이브러리를 사용할 수 있다는 점은 개발자나 사용자 모두에게 큰 강점이 될 것입니다.

이 책에서는 실제로 사용할 수 있는 완성도 있는 게임 프로젝트를 여러 가지 장르로 진행하며, 프로젝트 코드를 살펴보면서 각 장르별 게임마다 저자의 세심한 노력을 엿볼 수 있었습니다. 독자들도 분명 저와 같은 느낌을 충분히 받으실 거라고 생각합니다.

전문적으로 게임을 개발하는 저자의 글을 번역하면서 윈도우폰 게임 개발에 대한 열정이 점점 더 커지는 것을 느낄 수 있었습니다. 앞으로 삼파전의 양상이 어떻게 흘러갈지는 예측하기 힘듭니다. 그러나 윈도우폰만의 매력이 있다는 점은 확실합니다. 윈도우폰 게임 개발은 이제 막 길을 터놓은 ‘블루오션’입니다. 윈도우폰 게임 개발에 지금 당장 참여하길 바랍니다!


[ 옮긴이 소개 ]

이승현
한국 항공대학교 기계공학부에 재학 중이고, 삼성 소프트웨어 맴버십 및 지경부 소프트웨어 마에스트로에서 활동 중이다. 훌륭한 한국 임베디드 개발자가 되기 위해 항상 공부하며, 좋은 원서를 하루라도 빨리 우리 글로 옮겨 국내 개발자들에게 도움을 주고자 번역에 발을 들여놓게 됐다.

목차

목차
  • 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 프로젝트 변환
      • 예제 프로젝트

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안