GDC 2009 - Day 1 - Surviving Math for Programmers

One man's attempt to understand the full day tutorial 'Math for Programmers', starring Marq Singer, Jim Van Verth, Squirrel Eiserloh, Christer Ericson and Erin Catto.

Troglytes Unite!

1. Vectors & Matrices - Marq Singer

Whirlwind tour of university math (Bachelor level).
Forgotten how much forgotten.
Heavy Head.
Marq energetic, enthusiastic.
60 powerpoint slides. 45 minutes.
Sometimes spoke faster than could talk.
Dot product will save us all.

2. Affline Transformations - Jim Van Verth

Voice hoarse, stays course.
Translation. Rotation. Knows it backward. Seems straightforward.
Lights up discussing Object-Oriented Transforms.
PPoint says they "work with arbitrary center in world frame!"
Technique could rotate satellite around planet.
Understand. Plan to buy Jim's book.

3. Interpolation and Splines - Squirrel Eiserloh

Averaging. Blending. More Blending.
Hour later understand cubic hermite splines.
Feel Catmull-Rom splines are a piece of cake.
Didn't even want this. Believe mother would understand.
Fantastic demos. Best presentation today. Perhaps best at GDC.
Ordering of material amazing. Slides slowly built on one another.
No-one asked instructor about name.


Bought lunch. Halfway learned lunch was provided.
Finished paid lunch. Ate free lunch.
Intestine is a spline.

4. Orientation Representation - Jim Van Verth

Jim dying, stays course.
Not here to praise Quaternions, but to bury alternatives.
Demos crappy 3D rotations. Convincing.
Quaternions are explained inasmuch as that's possible.
Discovered by non drunk irish man. Dad would be proud.
Conclusion: Quaternions are weird.
Jim Slerps and Lerps. Dad would be proud.

5. Geometric Primitives & Proximity Detection - Marq Singer

Marq returns powered up.
Envy his energy, wonder if he ate 2 lunches.
Whirlwind tour of collision detection.
Segment-Segment collision is child's play for Marq.
Depressed. Never could get that to work.
Provides reference, may contain salvation.
Capsule-Capsule Collision makes Segment-Segment obselete.
Tears stream down face. Eyes burning.
Marq continues. Things get complicated.
Final Recap: Collision detection complex.
Recap unnecessary.

6. Numerical Robustness - Christer Ericson

Floating-point numbers have problems.
-10^20 + (10^20 + 1) = 0
Luckily, solutions are complicated.
Tolerance Bonus (aka. this code sucks):
if (abs(x - y) < 0.000001) { // x & y are equal }
Problem: Use code all the time. Note to self: Don't tell Christer.
Finally understand ignorance is bliss.

7. Numerical Integration - Erin Catto

Demos cannonball: Proves crappiest numerical integration can simulate it.
Solves question why personal codebase works.
Demos "springy man" aka. Mass-Spring motion.
Explicit Euler, Symplectic Euler, Verlet, Newton fall.
Implicit Euler stands tall. Unfortunate.
Accuracy not equal to Stability. Want Stability above all.
In world where floating point breaks, is anything stable?
Physics engine plans scrapped.

Tomorrow: Physics for Programmers
Long Term Plan: Rage

Latest Jobs

Xbox Game Studios

Redmond, Washington
Technical Lighting Artist


Hamburg, Germany
Game Designer - Elvenar

Six Foot

Houston, TX
Six Foot Director, Player Relations

Hometopia Inc.

Lead Engineer
More Jobs   


Explore the
Subscribe to
Follow us

Game Developer Job Board

Game Developer Newsletter


Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more