Ming-Lun Chou
Game programmer at Naughty Dog (since 2014; Uncharted 4, Uncharted: The Lost Legacy and The Last of Us Part II) who writes technical blog posts on game physics, math, animation and engine programming with Unity examples.
Site · X · Linkedin · Youtube · Github · Patreon · Twitch · Discord
- Game Math: Dot Product, Rulers, And Bouncing Balls
Game math primer on dot products, projection and reflection with bouncing ball examples.
allenchou.net · Jan 2020 - Game Math: Inverse Trigonometric Functions, Slope Angles, And Facing Objects
Game math on inverse trigonometric functions, slope angles and facing objects.
allenchou.net · Oct 2019 - Game Math: Trigonometry Basics – Tangent, Triangles, And Cannonballs
Game math on tangent, triangles and cannonball trajectories.
allenchou.net · Aug 2019 - Game Math: Trigonometry Basics – Sine & Cosine
Game math primer on sine and cosine.
allenchou.net · Aug 2019 - Readable & Debuggable Multi-Condition Game Code
Coding patterns for writing readable, debuggable multi-condition game logic.
allenchou.net · Jul 2018 - Game Math: Deriving the Slerp Formula
Derives the slerp formula for spherical interpolation.
allenchou.net · May 2018 - Game Math: Swing-Twist Interpolation (…Sterp?)
Explains swing-twist interpolation for rotations, with source on GitHub.
allenchou.net · May 2018 - Timeslicing Batched Algorithms in Games
Spreads batched algorithms across multiple frames with timeslicing.
allenchou.net · Mar 2017 - Game Math: Curve Approximation via Curve “Projection”
Game math on approximating curves via curve projection.
allenchou.net · Feb 2017 - Game Math: “Projecting” a Curve onto Another
Game math on projecting one curve onto another.
allenchou.net · Jan 2017 - A Brain Dump of What I Worked on for Uncharted 4
Programmer's recap of the work done on Uncharted 4.
allenchou.net · May 2016 - Game Math: More on Numeric Springing
Game math on numeric springing, continued with more details.
allenchou.net · Apr 2015 - Game Math: Numeric Springing Examples
Examples of numeric springing for controlling motion.
allenchou.net · Apr 2015 - Game Math: Precise Control over Numeric Springing
Game math on precise control over numeric springing.
allenchou.net · Apr 2015 - Safe Scope-Based Instrumented Profiler
Builds a safe, scope-based instrumented profiler.
allenchou.net · Oct 2014 - Scope-Based Resource Management (RAII)
Explains scope-based resource management (RAII) in game code.
allenchou.net · Oct 2014 - Game Math: Interpolating Quaternions with Circular Blending
Interpolates quaternions with circular blending for skeletal animation data.
allenchou.net · Apr 2014 - Game Math: Quaternion Implementations
Quaternion implementations for game math.
allenchou.net · Apr 2014 - Game Math: Quaternion Basics
Quaternion basics for game math.
allenchou.net · Apr 2014 - Game Math: Faster Re-Normalization of Unit Vectors.
Faster re-normalization of unit vectors.
allenchou.net · Feb 2014 - Game Math: Faster Sine & Cosine with Polynomial Curves
Faster sine and cosine using polynomial curves.
allenchou.net · Feb 2014 - Game Math: Approximation with Polynomial Curves
Approximating functions with polynomial curves.
allenchou.net · Feb 2014 - Game Math: How to Eyeball the Inverse of a Matrix
Tips for eyeballing the inverse of a matrix.
allenchou.net · Feb 2014 - Game Math: Block Matrices
Game math on block matrices.
allenchou.net · Feb 2014 - Game Math: Alternate Views on Matrix Multiplication
Alternate views of matrix multiplication for game math.
allenchou.net · Feb 2014 - Game Physics: Updating AABBs for Polyhedrons
Game physics: updating AABBs for polyhedrons.
allenchou.net · Feb 2014 - Game Physics: Implementing Support Function for Polyhedrons using Half Edges
Game physics: implementing the support function for polyhedrons with half edges.
allenchou.net · Feb 2014 - Game Physics: Broadphase – Dynamic AABB Tree
Game physics broadphase using a dynamic AABB tree.
allenchou.net · Feb 2014 - Game Physics: Stability – Warm Starting
Game physics stability with warm starting.
allenchou.net · Jan 2014 - Game Physics: Stability – Slops
Game physics stability with penetration slops.
allenchou.net · Jan 2014 - Game Physics: Resolution – Contact Constraints
Game physics resolution of contact constraints.
allenchou.net · Dec 2013 - Game Physics: Resolution – Constraints & Sequential Impulse
Game physics resolution with constraints and sequential impulse.
allenchou.net · Dec 2013 - Game Physics: Contact Generation – EPA
Game physics contact generation using the EPA algorithm.
allenchou.net · Dec 2013 - Game Physics: Collision Detection – GJK
Game physics collision detection with GJK.
allenchou.net · Dec 2013 - Game Physics: Collision Detection – CSO & Support Function
Game physics collision detection with the CSO and support functions.
allenchou.net · Dec 2013 - Game Physics: Broadphase – Overview
Overview of broadphase collision detection.
allenchou.net · Dec 2013 - Game Physics: Motion Dynamics Implementations
Implementations of motion dynamics for game physics.
allenchou.net · Dec 2013 - Game Physics: Motion Dynamics Fundamentals
Fundamentals of motion dynamics for game physics.
allenchou.net · Dec 2013 - Game Physics: Introduction & Acknowledgements
Introduction and acknowledgements for a game physics series.
allenchou.net · Dec 2013 - Intrusively Linked Lists with Safe Link Destruction
Intrusive linked lists with safe link destruction.
allenchou.net · Jul 2013 - Game Math: “Cross Product” of 2D Vectors
Explains the cross product of 2D vectors.
allenchou.net · Jul 2013 - Bending Solid Geometry in Planetary Annihilation
Internship story on bending solid geometry in Planetary Annihilation.
allenchou.net · Jul 2013 - Memory Management part 3 of 3: STL-Compatible Allocators
Memory management part three: STL-compatible allocators.
allenchou.net · May 2013 - Memory Management part 2 of 3: C-Style Interface
Memory management part two: a C-style interface for the allocator.
allenchou.net · May 2013 - Memory Management part 1 of 3: The Allocator
Memory management part one: building an allocator.
allenchou.net · May 2013 - Shader Primer
Primer on shaders.
allenchou.net · Feb 2011 - Matrix Stack and the Visitor Pattern
Explains using a matrix stack and the visitor pattern in a scene graph.
allenchou.net · Feb 2011 - Gamedev Tutorials Series | Ming-Lun "Allen" Chou | 周明倫
Index of tutorials on game math, physics and programming by a game developer.
allenchou.net - Game Programming Series | Ming-Lun "Allen" Chou | 周明倫
Index of game programming tutorials covering linked lists, resource management and more.
allenchou.net - Game Physics Series | Ming-Lun "Allen" Chou | 周明倫
Index of game physics tutorial posts by a game developer.
allenchou.net - Game Math Series | Ming-Lun "Allen" Chou | 周明倫
Index of game math tutorials covering trigonometry and more.
allenchou.net