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.
Interessante manuale su come implementare un simulatore fisico (Physics Engine).
La parte di matematica e fisica è spiegata in modo chiaro e completo. Si parla di vettori, di matrici, di integrali, delle leggi di Newton, ecc.
Prima l'autore spiega come gestire un sistema di particelle, cioè oggetti senza massa e senza direzionalità. Parla di forze (tra cui la forza di gravità e le forze elastiche) che agiscono sull'accelerazione, e di impulsi (quando ad esempio avviene una collisione tra oggetti) che agiscono sulla velocità. Poi introduce il complesso argomento dell'identificazione delle collisioni e di come risolverle. Parla poi di rotazione introducendo il centro di massa e le operazioni con le matrici e con i quaternioni.
Il tutto si complica quando si introducono i corpi rigidi che si portano dietro l'aspetto della rotazione e del momento.
In fine gran parte del libro parla delle tecniche di identificazione delle collisioni e di generazione dei contatti. Ammetto di aver saltato la parte di risoluzione delle collisioni, decisamente troppo complicata.
I learned more about 3D math from this book than any other resource. The section on quaternions is particularly excellent and the only explanation on the subject that made sense to me.
As another review pointed out, this book is really a giant tutorial. Following along and developing my own codebase was enjoyable and rewarding in and of itself. While I did end up replacing the physics engine with Bullet, the whole process taught me more about game physics than I imagine any other resource could.
این کتاب رو به همه اونهایی که به شبیه سازی فیزیک (چه در بازیها چه برای شبیه سازیهای واقعی) علاقه دارند، پیشنهاد میکنم. همراه با مطالعه چند منبع دیگر و چند پیپر بروز، سطح اطلاعاتتون رو تا زیادی بالا میبره!
Very nice book to start with the physics engine programming. It explains everything you need to know about physics and how they are considered in videogames.
Good beginners' approach to what goes into a physics engine. Covers the mathematics behind the physics in a way that is very easy to comprehend as well as the basic architecture of a physics engine as it relates to a real time game engine.
By the end of the book, you get a basic kinematic physics engine (with rigid body, springs, collisions, but no advanced topics like cloth).
Even if you don't intend to write your own physics engine, this book is a good introduction for understanding what goes on behind the scenes and how to structure your physics interface.
Kinda sped along some of the mathematics but the point is that in practice, different tradeoffs need to be made based on the physics and the degree of realism your game requires. Some sections seemed very vague (for example, the section on contact generation seemed extremely hand wavey but made sense), others felt extremely intuitive.
I suppose I should have read the source code while reading the book, but, oh well. //
A good introductory book on physics engine architecture. Most of the techniques presented apply to small-scale engines for simulating specific scenarios (for example, there is a section on creating a Loco Roco-like game).
it's great but many times I couldn't find enough details to fully understand some topic. some would like this for fast and easy doing but consider using a more detailed book as a reference.