Beginning 3D Game Programming

Tom Miller

  • 出版商: SAMS
  • 出版日期: 2004-12-13
  • 定價: $1,190
  • 售價: 6.0$714
  • 語言: 英文
  • 頁數: 99998
  • 裝訂: Paperback
  • ISBN: 0672326612
  • ISBN-13: 9780672326615
  • 相關分類: 3D 列印遊戲設計 Game-design
  • 立即出貨(限量) (庫存=2)

買這商品的人也買了...

商品描述

Description:

There are many programming hobbyists who write 2D games but there are far fewer that grasp the concepts of 3D programming. Although there are also quite a few ¿game development¿ books on the market, few deal with 3D game development. Those that do are mainly aimed at advanced readers. This book will provide a practical, example driven approach to learning the unique art of 3D Game Development that even the beginner can grasp. It won¿t get bogged down in page after page of boring theory but instead will teach through many interesting hands on examples. Tom Miller brings years and years of 3D game programming to the table and couples that with an engaging writing style to mentor readers in the intricacies of game development. The book starts out with a crash course in game programming concepts and then progresses into developing 3 different types of games with many useful tips, notes, and cautions along the way. This title will serve as a useful guide to either current 2D game developers or programmers that want to learn to program games.

 

Table of Contents:

Introduction.

     So You Want to be a Game Developer.

    Who Should Read This Book?

    Why Would I Want to Use the .NET Framework.

    Why This Book?

I. INTRODUCTION TO MICROSOFT .NET.

1. Game Development and Managed Code.

    What Is .NET?

    What Is Managed Code?

     Writing Code with the Microsoft Visual Studio .NET 2003 IDE.

      The C# Code.

      The VB .NET Code.

    Compiling .NET Code on the Command Line.

    Introducing Game Development.

    The Developers.

    The Process.

    The Tools.

    Summary.

II. INTRODUCING GRAPHICS, GAME.

2. Planning Your First Game.

    Coming Up with the Game Idea.

      Detailing the Proposal.

    Understanding the Need for a 3D Game.

    The Specification.

    Summary.

3. Understanding the Sample Framework.

    Creating Your Project.

    Enumerating All Device Options.

    Summary.

4. Show Something Onscreen!

    Creating Your Device.

    Time to Render.

    Loading and Rendering a Mesh.

    Adding a Camera to Your Scene.

    Summary.

5. Finishing Up the Support Code.

    Understanding the High-Resolution Timer.

    Handling Lost Devices.

    Adding Frame Rate Output.

    Designing a UI Screen.

    Designing a Button.

    Summary.

6. Implementing the User Interface.

    Designing the Main Menu.

    Plugging into the Game Engine.

    Selecting Your Character (Loopy).

    Updating the Game Engine with This New Screen.

    Summary.

7. Implementing the Player and Blocks.

    Writing the Player Object.

      Moving the Player.

    Designing the Blocks.

    Summary.

8. Implementing the Level Object.

    Implementing the Level.

    Controlling Player Movement.

    Handling Level Updates.

    Summary.

9. Putting the Pieces Together.

    Including the Player.

    Hooking Up the Level.

    Implementing the Quit Screen.

     Finishing Up.

    Summary.

III. BASIC MATH PRINCIPLES.

10. A Quick 3D-Math Primer.

    2D? 3D? What Are You Talking About?

      Left-handed? Right-handed?

    Using These 3D Points.

    Manipulating 3D Objects.

      Translating (Moving) Objects.

      Scaling.

      Rotation.

      Coordinate Systems.

    Math Structures.

    Vectors.

    Matrices.

    Summary.

IV. INTERMEDIATE GRAPHICS, PEER TO PEER NETWORKING, GAME.

11. Now Let's Really Get Started.

    Tankers-The Next Game Idea.

      Detailing the Proposal.

    Creating the Tankers Project.

    Getting the Project Rendering.

    Building an Object Pool for Textures.

    Summary.

12. Developing a More Advanced User Interface.

    Using Blockers Base Classes.

    Adding New Base Classes.

    Implementing the Main Screen.

    Rendering Your 3D Model with Your User Interface.

    Summary.

13. Rendering a Realistic Tank.

    Understanding a Mesh Hierarchy.

    Loading a Tank Hierarchy.

    Rendering a Mesh Hierarchy.

    Manipulating the Tanks.

    Tank Properties.

    Creating the Camera Class.

    Summary.

14. The Sky? A Level? The Player!

    A World Without a Sky Would Be Black.

    You Have a Sky, but the Tank Can't Drive There.

    Someone Has to Control the Tanks.

    IMoveableObject Indeed.

    A Basic Collision Detection.

    Summary.

15. Ready. Aim. Fire!

    Implementing the Ammunition Class.

    A Bullets Collection.

    Finishing Up the Player.

    Adding Sound.

    Summary.

16. Playing Alone Isn't Fun.

    Using DirectPlay.

    Hosting the Session.

    Joining the Session.

    The Event Handlers.

    Sending and Receiving Data.

      Cleaning Up Resources.

    Summary.

17. Finally, Finishing Tankers.

    Plugging into the Game Engine.

    Rendering the Game.

    Summary.

V. ADVANCED GRAPHICS, CLIENT/SERVER NETWORKING, GAME.

18. Adding Special Effects.

    Implementing a Basic Particle System.

    Rendering the Particle System.

    Putting the Pieces Together.

    Summary.

19. Building Your Own Game.

    Formulating the Idea.

    Creating Your Project.

    Designing the User Interface.

    Summary.

20. The Programmable Pipeline.

    Defining the Programmable Pipeline.

    Using HLSL.

    Writing a Vertex Shader.

      Declaring Variables in HLSL and Intrinsic Types.

    Adding Realism Using Shading.

    Adding the Pixel Shader.

    Summary.

21. Controlling t.e Level of Detail.

    Simplifying a Mesh.

    Using a Simplification Mesh.

    Controlling the Level of Detail Using a Progressive Mesh.

    Summary.

22. Using Render Targets for Effects.

    Rendering a Track and Multiple Go-Karts.

    Creating Render Targets and Surfaces.

    Rendering a Scene to a Render Target.

    Displaying the Rear-View Mirror.

    Summary.

23. Understanding the High-Level Shader Language.

    Understanding Limits on Older Shader Models.

    Adding Specular Highlights to Kart.

    Making Specular Highlights Per Pixel.

    Summary.

24. Performance Considerations.

    The Event Model and Managed DirectX.

    Native Assembly Generation.

    The Horrors of Boxing.

    The Speed of Managed DirectX.

    Understanding the Cost of Methods.

    Summary.

VI. APPENDIX.

Appendix A. Developing a Level Creator.

    Writing the Level Creator.

Index.

商品描述(中文翻譯)

描述:
有很多程式愛好者寫2D遊戲,但理解3D程式設計的人卻很少。雖然市面上也有不少關於「遊戲開發」的書籍,但很少涉及3D遊戲開發。其中一些書籍主要針對進階讀者。這本書將提供一種實用的、以實例為驅動的方法來學習獨特的3D遊戲開發藝術,即使是初學者也能理解。它不會陷入一頁又一頁的無聊理論,而是通過許多有趣的實際例子來教授。Tom Miller將多年的3D遊戲編程經驗帶到書中,並以引人入勝的寫作風格指導讀者掌握遊戲開發的細節。本書首先快速介紹遊戲編程概念,然後進一步開發3種不同類型的遊戲,並提供許多有用的技巧、注意事項和警告。這本書將成為當前2D遊戲開發者或想要學習遊戲編程的程式設計師的有用指南。

目錄:
介紹。
你想成為遊戲開發者嗎?
誰應該閱讀這本書?
為什麼我想使用.NET框架?
為什麼選擇這本書?
I. 簡介到微軟.NET。
1. 遊戲開發和受控代碼。
什麼是.NET?
什麼是受控代碼?
使用Microsoft Visual Studio .NET 2003 IDE編寫代碼。
C#代碼。
VB .NET代碼。
在命令行上編譯.NET代碼。
介紹遊戲開發。
開發人員。
過程。