Skip to content
0:00 / 0:00

#simd#collisiondetection#titanfall

Extreme SIMD: Optimized Collision Detection in Titanfall

GDC Festival of Gaming

555K subscribers • 66 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2020 to 2023.
  • Presented by Earl Hammon, engineer at Respawn Entertainment
  • May be out of date. Uploaded 6 years ago, in an area where tools change fast.

Advanced. Deep dive for people who know the field.

51K views6 years ago2 recommendations

Systems programmingGame developmentPerformance and optimizationGame programming

Earl Hammon explains how the Titanfall team used SIMD intrinsics to double the speed of their continuous collision detection code.

In this 2018 GDC talk, Respawn Entertainment's Earl Hammon explains how the Titanfall team made already optimized continuous collision detection code more than twice as fast. Join the GDC mailing list: gdconf.com/subscribe Follow GDC on Twitter: twitter.com/Official_GDC GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every day. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives.

Why it's here

2 people recommend this

What people say. Recommended as an excellent deep dive into SIMD optimization, handling NaNs/Infs, and high-performance collision detection.

Moments people linked to

u/TheOrdersMasterin r/gameenginedevs • Recommends

On “What are some good techniques and implementations of collision for a 3D environment?”

link to this video

u/mainakiin r/GraphicsProgramming • Recommends

On “How do you solve divisions by zero in vector inverse”

I was recently watching a 2018 GDC talk: Extreme SIMD: Optimized Collision Detection in Titanfall. At that timestamp, he starts talking about optimizing AABB detection. At this timestamp he starts discussing handling NAN and INF (using IEEE floats via intrinsics, not 'undefined' C/C++ behavior), and merging their treatment into the normal-case handling, rather than using special handling code. This is more of an optimization than a necessity, but it shows one way to do things. It sounded a bit painful to get all of it working just right, but might be worth considering if you're trying to squeeze every last drop of performance out of the tubes.
1View on Reddit