As the visual quality of games has improved, more attention has been given to other aspects of a game to increase the feeling of reality during gameplay and distinguish it from its competitors. One of the most rapidly growing fields is physical simulation, as shown by many of the latest games, from those on mobile platforms to AAA console games. Creating such a simulation may appear to be a daunting task, but given the right background it is not too difficult, and can add a great deal of realism to animation systems, and interactions between avatars and the world.
This tutorial continues the tradition of the "Physics for Programmers" tutorial by bringing together some of the best presenters in both gaming physics. Over the course of a day they will deepen programmers' knowledge by focusing in on the topic of physical simulation and providing a toolbox of techniques for programmers interested in creating and using physics engines, with references and links for those looking for more information. The focus of the course is to study various pieces of the simulation pipeline and show how problems along the way can be solved and optimized using standard 3D mathematical concepts and engineering know-how. Topics include integration of a physics engine into a game, rigid body solvers, collision detection and contact resolution, physics on mixed CPU-GPU systems, rigid body destruction and networking for physics programmers. Sample code libraries and examples are provided.
Agenda
10:00-11:00am- Collision Detection
Speaker: Gino van den Bergen
11:00am-12:00pm- Solving Rigid Body Contacts
Speaker: Richard Tonge
12:00-1:30pm- Lunch break
1:30-2:30pm- Diablo 3 Ragdolls
Speaker: Erin Catto
2:30-3:30pm- Tackling Physics
Speaker: Stephen Frye
3:30-4:00pm- Fluid Techniques
Speaker: Jim Van Verth
4:00-4:30- Coffee break
4:30-5:15pm- Destruction
Speaker: Erwin Coumans
5:15-6:00pm- Towards a Large Scale Simulation
Speaker: Takahiro Harada