Game Physics Engine Development, 2nd Edition

Book description

Physics is really important to game programmers who need to know how to add physical realism to their games. They need to take into account the laws of physics when creating a simulation or game engine, particularly in 3D computer graphics, for the purpose of making the effects appear more real to the observer or player.The game engine needs to recognize the physical properties of objects that artists create, and combine them with realistic motion.

The physics ENGINE is a computer program that you work into your game that simulates Newtonian physics and predict effects under different conditions. In video games, the physics engine uses real-time physics to improve realism.

This is the only book in its category to take readers through the process of building a complete game-ready physics engine from scratch. The Cyclone game engine featured in the book was written specifically for this book and has been utilized in iPhone application development and Adobe Flash projects.  There is a good deal of master-class level information available, but almost nothing in any format that teaches the basics in a practical way. The second edition includes NEW and/or revised material on collision detection, 2D physics, casual game physics for Flash games, more references, a glossary, and end-of-chapter exercises. The companion website will include the full source code of the Cyclone physics engine, along with example applications that show the physics system in operation. 

Table of contents

  1. Cover page
  2. Game Physics Engine Development
  3. Copyright page
  4. Dedication page
  5. Table of contents (1/3)
  6. Table of contents (2/3)
  7. Table of contents (3/3)
  8. List of Figures
  9. Preface to the Second Edition
  10. Preface to the First Edition
  11. Acknowledgments
  12. About the Author
  13. Chapter 1. Introduction
    1. 1.1 What Is Game Physics?
    2. 1.2 What Is a Physics Engine?
    3. 1.3 Approaches to Physics Engines
    4. 1.4 The Mathematics of Physics Engines
    5. 1.5 The Source Code in the Book
    6. 1.6 How the Book Is Structured
  14. Part I: Particle Physics
    1. Chapter 2. The Mathematics of Particles
      1. 2.1 Vectors
      2. 2.2 Calculus (1/2)
      3. 2.2 Calculus (2/2)
      4. 2.3 Summary
      5. 2.4 Exercises
    2. Chapter 3. The Laws of Motion
      1. 3.1 The Particle
      2. 3.2 The First Two Laws (1/2)
      3. 3.2 The First Two Laws (2/2)
      4. 3.3 The Integrator
      5. 3.4 Summary
      6. 3.5 Exercises
    3. Chapter 4. The Particle Physics Engine
      1. 4.1 Ballistics
      2. 4.2 Fireworks (1/2)
      3. 4.2 Fireworks (2/2)
      4. 4.3 Summary
      5. 4.4 Projects
  15. Part II: Mass Aggregate Physics
    1. Chapter 5. Adding General Forces
      1. 5.1 D'Alembert's Principle
      2. 5.2 Force Generators (1/2)
      3. 5.2 Force Generators (2/2)
      4. 5.3 Built-In Gravity and Damping
      5. 5.4 Summary
      6. 5.5 Exercises
    2. Chapter 6. Springs and Spring-Like Things
      1. 6.1 Hook's Law
      2. 6.2 Spring-Like Force Generators (1/2)
      3. 6.2 Spring-Like Force Generators (2/2)
      4. 6.3 Stiff Springs (1/2)
      5. 6.3 Stiff Springs (2/2)
      6. 6.4 Summary
      7. 6.5 Exercises
    3. Chapter 7. Hard Constraints
      1. 7.1 Simple Collision Resolution
      2. 7.2 Collision Processing (1/3)
      3. 7.2 Collision Processing (2/3)
      4. 7.2 Collision Processing (3/3)
      5. 7.3 The Contact Resolver Algorithm (1/2)
      6. 7.3 The Contact Resolver Algorithm (2/2)
      7. 7.4 Collision-Like Things (1/2)
      8. 7.4 Collision-Like Things (2/2)
      9. 7.5 Summary
      10. 7.6 Exercises
    4. Chapter 8. The Mass Aggregate Physics Engine
      1. 8.1 Overview of the Engine
      2. 8.2 Using the Physics Engine
      3. 8.3 Summary
      4. 8.4 Projects
  16. Part III: Rigid-Body Physics
    1. Chapter 9. The Mathematics of Rotations
      1. 9.1 Rotating Objects in 2D (1/2)
      2. 9.1 Rotating Objects in 2D (2/2)
      3. 9.2 Orientation in 3D (1/2)
      4. 9.2 Orientation in 3D (2/2)
      5. 9.3 Angular Velocity and Acceleration
      6. 9.4 Implementing the Mathematics (1/6)
      7. 9.4 Implementing the Mathematics (2/6)
      8. 9.4 Implementing the Mathematics (3/6)
      9. 9.4 Implementing the Mathematics (4/6)
      10. 9.4 Implementing the Mathematics (5/6)
      11. 9.4 Implementing the Mathematics (6/6)
      12. 9.5 Summary
      13. 9.6 Exercises
    2. Chapter 10. Laws of Motion for Rigid Bodies
      1. 10.1 The Rigid Body
      2. 10.2 Newton-2 for Rotation (1/2)
      3. 10.2 Newton-2 for Rotation (2/2)
      4. 10.3 D'Alembert for Rotation (1/2)
      5. 10.3 D'Alembert for Rotation (2/2)
      6. 10.4 The Rigid-Body Integration
      7. 10.5 Summary
      8. 10.6 Exercises
    3. Chapter 11. The Rigid-Body Physics Engine
      1. 11.1 Overview of the Engine
      2. 11.2 Using the Physics Engine (1/3)
      3. 11.2 Using the Physics Engine (2/3)
      4. 11.2 Using the Physics Engine (3/3)
      5. 11.3 Summary
      6. 11.4 Projects
  17. Part IV: Collision Detection
    1. Chapter 12. Collision Detection
      1. 12.1 The Collision Detection Pipeline
      2. 12.2 Broad-Phase Collision Detection
      3. 12.3 Bounding Volume Hierarchies (1/4)
      4. 12.3 Bounding Volume Hierarchies (2/4)
      5. 12.3 Bounding Volume Hierarchies (3/4)
      6. 12.3 Bounding Volume Hierarchies (4/4)
      7. 12.4 Spatial Partitioning (1/3)
      8. 12.4 Spatial Partitioning (2/3)
      9. 12.4 Spatial Partitioning (3/3)
      10. 12.5 Summary
      11. 12.6 Exercises
    2. Chapter 13. Generating Contacts
      1. 13.1 Collision Geometry
      2. 13.2 Contact Generation (1/2)
      3. 13.2 Contact Generation (2/2)
      4. 13.3 Simple Collision Algorithms (1/3)
      5. 13.3 Simple Collision Algorithms (2/3)
      6. 13.3 Simple Collision Algorithms (3/3)
      7. 13.4 Separating Axis Tests (1/2)
      8. 13.4 Separating Axis Tests (2/2)
      9. 13.5 Coherence
      10. 13.6 Summary
      11. 13.7 Exercises
  18. Part V: Contact Physics
    1. Chapter 14. Collision Resolution
      1. 14.1 Impulse and Impulsive Torque
      2. 14.2 Collision Impulses (1/3)
      3. 14.2 Collision Impulses (2/3)
      4. 14.2 Collision Impulses (3/3)
      5. 14.3 Resolving Interpenetration (1/2)
      6. 14.3 Resolving Interpenetration (2/2)
      7. 14.4 The Collision Resolution Process (1/4)
      8. 14.4 The Collision Resolution Process (2/4)
      9. 14.4 The Collision Resolution Process (3/4)
      10. 14.4 The Collision Resolution Process (4/4)
      11. 14.5 Summary
      12. 14.6 Exercises
    2. Chapter 15. Resting Contacts and Friction
      1. 15.1 Resting Forces
      2. 15.2 Microcollisions
      3. 15.3 Types of Friction
      4. 15.4 Implementing Friction (1/3)
      5. 15.4 Implementing Friction (2/3)
      6. 15.4 Implementing Friction (3/3)
      7. 15.5 Friction and Sequential Contact Resolution
      8. 15.6 Summary
      9. 15.7 Exercises
    3. Chapter 16. Stability and Optimization
      1. 16.1 Stability
      2. 16.2 Optimizations (1/3)
      3. 16.2 Optimizations (2/3)
      4. 16.2 Optimizations (3/3)
      5. 16.3 Summary
    4. Chapter 17. Putting It All Together
      1. 17.1 Overview of the Engine
      2. 17.2 Using the Physics Engine (1/4)
      3. 17.2 Using the Physics Engine (2/4)
      4. 17.2 Using the Physics Engine (3/4)
      5. 17.2 Using the Physics Engine (4/4)
      6. 17.3 Limitations of the Engine
      7. 17.4 Summary
      8. 17.5 Projects
  19. Part VI: Further Topics in Physics
    1. Chapter 18. Physics in Two Dimensions
      1. 18.1 2D or 3D?
      2. 18.2 Vector Mathematics
      3. 18.3 Particle and Mass Aggregate Physics
      4. 18.4 The Mathematics of Rotation
      5. 18.5 Rigid-Body Dynamics
      6. 18.6 Collision Detection
      7. 18.7 Collision Response
      8. 18.8 Summary
      9. 18.9 Projects
    2. Chapter 19. Other Programming Languages
      1. 19.1 ActionScript 3
      2. 19.2 C
      3. 19.3 Java
      4. 19.4 C#
      5. 19.5 Other Scripting Languages
    3. Chapter 20. Other Types of Physics
      1. 20.1 Simultaneous Contact Resolution
      2. 20.2 Reduced Coordinate Approaches
      3. 20.3 Summary
    4. Appendix A. Useful Inertia Tensors
      1. A.1 Discrete Masses
      2. A.2 Continuous Masses
      3. A.3 Common Shapes
      4. A.4 Moments of Inertia in 2D
    5. Appendix B. Useful Friction Coefficients
    6. Appendix C. Mathematics Summary
      1. C.1 Vectors
      2. C.2 Quaternions
      3. C.3 Matrices
      4. C.4 Integration
      5. C.5 Physics
      6. C.6 Other Formulas
  20. Glossary
  21. Bibliography
  22. Index (1/3)
  23. Index (2/3)
  24. Index (3/3)

Product information

  • Title: Game Physics Engine Development, 2nd Edition
  • Author(s): Ian Millington
  • Release date: July 2010
  • Publisher(s): CRC Press
  • ISBN: 9780123819772