Handmade Hero»Episode Guide
The Equations of Motion
?
?

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)
01:02Intro to equations of motion.
01:02Intro to equations of motion.
01:02Intro to equations of motion.
2:53Recap of yesterday's stream.
2:53Recap of yesterday's stream.
2:53Recap of yesterday's stream.
5:08Motion in-depth: rigid body dynamics.
5:08Motion in-depth: rigid body dynamics.
5:08Motion in-depth: rigid body dynamics.
9:15Linear dynamics.
9:15Linear dynamics.
9:15Linear dynamics.
13:53Fundamental equation of motion.
13:53Fundamental equation of motion.
13:53Fundamental equation of motion.
17:55Revisiting vectors.
17:55Revisiting vectors.
17:55Revisiting vectors.
23:50How we computed motion.
23:50How we computed motion.
23:50How we computed motion.
25:35Some calculus.
25:35Some calculus.
25:35Some calculus.
28:57Computing motion differently.
28:57Computing motion differently.
28:57Computing motion differently.
36:31How it's currently done in the code.
36:31How it's currently done in the code.
36:31How it's currently done in the code.
37:10How we want to change it for our new equations.
37:10How we want to change it for our new equations.
37:10How we want to change it for our new equations.
40:17A talk on delta time.
40:17A talk on delta time.
40:17A talk on delta time.
42:46Piece-wise functions.
42:46Piece-wise functions.
42:46Piece-wise functions.
43:35Implementation.
43:35Implementation.
43:35Implementation.
49:13A look at the game now. We notice player has no friction.
49:13A look at the game now. We notice player has no friction.
49:13A look at the game now. We notice player has no friction.
51:22Implementing some friction.
51:22Implementing some friction.
51:22Implementing some friction.
58:26Closing remarks.
58:26Closing remarks.
58:26Closing remarks.
1:00:40Q&A
🗩
1:00:40Q&A
🗩
1:00:40Q&A
🗩
1:01:23Why use real physics and not something custom you can handtune?
1:01:23Why use real physics and not something custom you can handtune?
1:01:23Why use real physics and not something custom you can handtune?
1:06:59Why not add an opposite directional deceleration when collisions occur?
1:06:59Why not add an opposite directional deceleration when collisions occur?
1:06:59Why not add an opposite directional deceleration when collisions occur?
1:07:29Are you concerned that actual physics will retract from the beauty and elegance of the worlds greatest jump code?
1:07:29Are you concerned that actual physics will retract from the beauty and elegance of the worlds greatest jump code?
1:07:29Are you concerned that actual physics will retract from the beauty and elegance of the worlds greatest jump code?
1:08:06What would you need to store if you wanted to rewind time ala Braid?
1:08:06What would you need to store if you wanted to rewind time ala Braid?
1:08:06What would you need to store if you wanted to rewind time ala Braid?
1:12:53Is the character a bitmap?
1:12:53Is the character a bitmap?
1:12:53Is the character a bitmap?
1:13:22Are we going to normalise the vector from the input, instead of having a special case for diagonals?
1:13:22Are we going to normalise the vector from the input, instead of having a special case for diagonals?
1:13:22Are we going to normalise the vector from the input, instead of having a special case for diagonals?
1:14:01Will there be a map function to help determine terrain for friction and collisions?
1:14:01Will there be a map function to help determine terrain for friction and collisions?
1:14:01Will there be a map function to help determine terrain for friction and collisions?
1:14:37Why v2 instead of vec2 or vector2?
1:14:37Why v2 instead of vec2 or vector2?
1:14:37Why v2 instead of vec2 or vector2?
1:15:13Why not break the code into smaller functions?
1:15:13Why not break the code into smaller functions?
1:15:13Why not break the code into smaller functions?
1:16:36Shouldn't you use a max speed variable?
1:16:36Shouldn't you use a max speed variable?
1:16:36Shouldn't you use a max speed variable?
1:17:32Someone: Friction negative acceleration based on current velocity would feel better
1:17:32Someone: Friction negative acceleration based on current velocity would feel better
1:17:32Someone: Friction negative acceleration based on current velocity would feel better
1:18:06Can you derive the 1/2at^2 part of the position equation again?
1:18:06Can you derive the 1/2at^2 part of the position equation again?
1:18:06Can you derive the 1/2at^2 part of the position equation again?
1:23:54Do you think something like bullet or box2d for player movement is appropriate?
1:23:54Do you think something like bullet or box2d for player movement is appropriate?
1:23:54Do you think something like bullet or box2d for player movement is appropriate?
1:25:38When would you use other integration methods?
1:25:38When would you use other integration methods?
1:25:38When would you use other integration methods?
1:34:20Will we use rigid body even after the hero is bouncy and all that?
1:34:20Will we use rigid body even after the hero is bouncy and all that?
1:34:20Will we use rigid body even after the hero is bouncy and all that?
1:35:00Correction on question from someone
1:35:00Correction on question from someone
1:35:00Correction on question from someone
1:35:49If we had terrain (ice or mud), we could have an easy convincing example
1:35:49If we had terrain (ice or mud), we could have an easy convincing example
1:35:49If we had terrain (ice or mud), we could have an easy convincing example