Handmade Hero»Episode Guide
Basic Minkowski-based Collision Detection
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

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