Description

Simulating physics helps cutting-edge games distinguish themselves by making virtual objects behave as we expect them to in the real world. Physics engines are the software programs that run these simulations. Building an engine is difficult, however. There are a large number of new developers (and hobbyists) coming into this market who need help through this complex process. Current introductory books are inadequate; they don't bring enough real-world programming experience to the task. There is a need for an introductory book on game physics with solid coding guidance but which limits the math content. Ian Millington brings his extensive professional programming experience to this problem. He has developed games since 1987, has studied AI and mathematics at the PhD level, and founded Mindlathe Ltd., a company that designed and built commercial physics engines. Physics Engine Development carefully describes each step in the creation of a robust, usable physics engine. It introduces the mathematical concepts in a clear and simple manner, keeping to high school level topics and building a physics code library as it goes. Each new concept is explained in diagrams and code to make sure that even the most novice of game programmers understands. The companion CD-ROM includes the source code for a complete physics engine of commercial quality. This book will serve as a introduction to more mathematically advanced books on game physics, such as Dave Eberly's Game Physics.

Key Features

* Uses only high school algebra
* Shows how to build a complete system based on professional principles
* CD-ROM with C++ source code for a full commercial-quality physics engine

Readership

Game developers, esp. novice developers, students of game development, and game hobbyists

Table of Contents

  • Preface
  • About the Author
  • About the CD-ROM
    • 1 Introduction
      • 1.1 What is Game Physics
      • 1.2 What is a Physics Engine
        • 1.2.1 Advantages of a Physics Engine
        • 1.2.2 Weaknessess of a Physics Engine
      • 1.3 Approaches to Physics Engines
        • 1.3.1 Types of Object
        • 1.3.2 Contact Resolution
        • 1.3.3 Impulses and Forces
        • 1.3.4 What We're Building
      • 1.4 The Mathematics of Physics Engines
        • 1.4.1 The Math You Need to Know
        • 1.4.2 The Math We'll Review
        • 1.4.3 The Mathematics We'll Introduce
      • 1.5 The Source Code in the Book
      • 1.6 How the Book is Structured
  • I Particle Physics
    • 2 The Mathematics of Particles
      • 2.1 Vectors
        • 2.1.1 The Handedness of Space
        • 2.1.2 Vectors and Directions
        • 2.1.3 Scalar and Vector Multiplication
        • 2.1.4 Vector Addition and Subtraction
        • 2.1.5 Multiplying Vectors
        • 2.1.6 The Component Product
        • 2.1.7 The Scalar Product
        • 2.1.8 The Vector Product
        • 2.1.9 The Orthonormal Basis
      • 2.2 Calculus
        • 2.2.1 Differential Calculus
        • 2.2.2 Integral Calculus
    • 3 The Laws of Motion
      • 3.1 A Particle
      • 3.2 The First Two Laws
        • 3.2.1 The Force Equations
        • 3.2.2 Adding Mass to Particles

Details

No. of pages:
480
Language:
English
Copyright:
© 2007
Published:
Imprint:
Morgan Kaufmann
Print ISBN:
9780123694713
Electronic ISBN:
9780080492728

About the editor

Ian Millington

Ian Millington is a partner of IPR Ventures, a consulting company developing next-generation AI technologies for entertainment, modeling, and simulation. Previously he founded Mindlathe Ltd, the largest specialist AI middleware company in computer games, working with on a huge range of game genres and technologies. He has a long background in AI, including PhD research in complexity theory and natural computing. He has published academic and professional papers and articles on topics ranging from paleontology to hypertext.