[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Basic Minkowski-based Collision Detection" vod_platform=youtube id=_g8DLrNyVsQ annotator=csnover annotator=schme annotator=theinternetftw] [0:00][Intro] [0:33][Recap] [2:39][To do today: Gliding/skating and area-based collision detection] [3:47][Review of collision detection up to this point] [5:06][Area-based collision detection (Minkowski sum/difference)] [6:55][Example: A player with size passing through two blocks] [8:50][Introduction of Minkowski algebra: algebra with shapes] [12:21][Chumped by Krita] [15:24][Back to the Minkowski sum: rectangle + circle] [16:45][Similar shapes] [17:45][Dissimilar & complex convex shapes: GJK algorithm] [20:58][Rectangles-only collision detection] [25:55][Taking entity size into account] [33:45][Sticky walls appear] [36:05][Changing the origin point of the player] [38:00][More sticking walls debugging] [43:45][Implementing gliding] [48:00][Correcting velocity during collision] [56:10][Debugging final sticking bug] [1:00:40][Moving the epsilon to stop directly on the wall] [1:03:20][Or not…] [1:04:20][Debugging first loop through the wall collision loop] [1:09:58][Debugging the second loop through the wall collision loop] [1:18:05][Moment of enlightenment] [1:19:22][Q&A][:speech] [1:21:05][Why is the heros head 1.5 meters in diameter?] [1:21:29][How would you handle concave objects with Minkowski?] [1:22:41][Why isn't the game split up in smaller, more modular files?] [1:24:51][Is the alpha channel in the art assets created by the artist?] [1:25:21][How many years since you started doing games?] [1:26:37][I usually just hope the framerate stays high enough for the velocity not to get too high] [1:28:57][Can't you have multiple views of the same file with emacs?] [1:29:26][Will you be able to use minkowski with rotating and diagonal objects?] [1:33:30][How long have you been working on this game?] [1:33:57][Is it possible to make an assert that lets you continue on failure?] [1:34:17][Are you doing any cyclomatic complexity analysis?] [1:34:43][How would you represent a large sidescroller 2D world?] [1:35:43][Is it possible to determine the point of collision?] [1:36:11][Seems like the inability to represent convex objects is a major for problem for physics] [1:37:15][I meant determining the point of collision with the general GJK algorithm] [1:38:27][Are we doing a Raspberry Pi port just for the heck of it?] [1:39:24][Cyclomatic complexity: a direct measure of the number of linearly independent paths through the code] [1:39:50][BeagleBone black is better than Raspberry Pi I think] [1:41:01][Can't you do straight on hardware on the PC?] [/video]