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
15:24Back to the Minkowski sum: rectangle + circle
15:24Back to the Minkowski sum: rectangle + circle
15:24Back to the Minkowski sum: rectangle + circle
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
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: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: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?