Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
December 2, 2021
arrowPress Releases
If you enjoy reading this site, you might also want to check out these UBM Tech sites:


GDC 2009 - Day 1 - Surviving Math for Programmers

by Jim McGinley on 03/24/09 03:27:00 am   Expert Blogs

1 comments Share on Twitter    RSS

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


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

Related Jobs

innogames — Hamburg, Germany

QA Engineer (Quality Assistance) - Elvenar
Gameloft Australia Pty Ltd
Gameloft Australia Pty Ltd — Brisbane , Queensland, Australia

Gameplay Programmer
Deep Silver Volition
Deep Silver Volition — Champaign, IL or Remote, Illinois, United States

Multiplayer Programmer
innogames — Hamburg, Germany

Head of Engineering - New Mobile Game: Sunrise Village (Unity)

Loading Comments

loader image