Handmade Hero»Episode Guide
Line Segment Intersection Collisions
?
?

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
1:23Recap
1:23Recap
1:23Recap
2:55Continuing yesterday's work on collision detection
2:55Continuing yesterday's work on collision detection
2:55Continuing yesterday's work on collision detection
6:56Writing the wall intersection detection
6:56Writing the wall intersection detection
6:56Writing the wall intersection detection
10:38Fixing backward movement
10:38Fixing backward movement
10:38Fixing backward movement
12:02Fixing divide by zero
12:02Fixing divide by zero
12:02Fixing divide by zero
14:20Actually move the player
14:20Actually move the player
14:20Actually move the player
18:08Description of partial wall penetration
18:08Description of partial wall penetration
18:08Description of partial wall penetration
19:00Adding the remaining wall tests
19:00Adding the remaining wall tests
19:00Adding the remaining wall tests
23:08New problem: walking through the top wall due to floating point precision loss
23:08New problem: walking through the top wall due to floating point precision loss
23:08New problem: walking through the top wall due to floating point precision loss
25:27Implementing a temporary fix
25:27Implementing a temporary fix
25:27Implementing a temporary fix
29:15Looking for another bug causing the character to stop early
29:15Looking for another bug causing the character to stop early
29:15Looking for another bug causing the character to stop early
30:06Debugging an assertion failure
30:06Debugging an assertion failure
30:06Debugging an assertion failure
32:50More collision bugs; time to write a better collision detection system!
32:50More collision bugs; time to write a better collision detection system!
32:50More collision bugs; time to write a better collision detection system!
33:38Observing the problems with the current collision detection system
33:38Observing the problems with the current collision detection system
33:38Observing the problems with the current collision detection system
35:25What we want from the new system
35:25What we want from the new system
35:25What we want from the new system
43:26Q&A
🗩
43:26Q&A
🗩
43:26Q&A
🗩
43:53Can you change the whiteboard colors?
43:53Can you change the whiteboard colors?
43:53Can you change the whiteboard colors?
46:33Do you plan on getting into calculus to get better collision detection?
46:33Do you plan on getting into calculus to get better collision detection?
46:33Do you plan on getting into calculus to get better collision detection?
47:05Do you think any need to prototype some features in some other language?
47:05Do you think any need to prototype some features in some other language?
47:05Do you think any need to prototype some features in some other language?
47:43If we changed the resolution of the game, would it change the size of the objects?
47:43If we changed the resolution of the game, would it change the size of the objects?
47:43If we changed the resolution of the game, would it change the size of the objects?
48:25Can you do collision detection based on if a bitmap and a pixel has alpha?
48:25Can you do collision detection based on if a bitmap and a pixel has alpha?
48:25Can you do collision detection based on if a bitmap and a pixel has alpha?
51:15Is it interesting to have a tutorial on floating-point computations?
51:15Is it interesting to have a tutorial on floating-point computations?
51:15Is it interesting to have a tutorial on floating-point computations?
52:05Why not use the old collision system and use the new one only if it finds a collision?
52:05Why not use the old collision system and use the new one only if it finds a collision?
52:05Why not use the old collision system and use the new one only if it finds a collision?
53:03What about the tiles? Will they stay the same if you change resolution?
53:03What about the tiles? Will they stay the same if you change resolution?
53:03What about the tiles? Will they stay the same if you change resolution?
54:53What is dynamic loading? I thought C code has to be compiled.
54:53What is dynamic loading? I thought C code has to be compiled.
54:53What is dynamic loading? I thought C code has to be compiled.