Handmade Hero»Episode Guide
Basic 2D Vectors
?
?

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)
00:00Intro
00:00Intro
00:00Intro
00:22Character movement code.
00:22Character movement code.
00:22Character movement code.
01:45Recap
01:45Recap
01:45Recap
2:50Issues with current character movement code.
2:50Issues with current character movement code.
2:50Issues with current character movement code.
4:25What we want to do with the movement code.
4:25What we want to do with the movement code.
4:25What we want to do with the movement code.
4:53What makes a game engaging.
4:53What makes a game engaging.
4:53What makes a game engaging.
6:30Reason for vector math.
6:30Reason for vector math.
6:30Reason for vector math.
7:00What to start fixing.
7:00What to start fixing.
7:00What to start fixing.
7:35Vector math intro.
7:35Vector math intro.
7:35Vector math intro.
11:36Sketches
11:36Sketches
11:36Sketches
19:06A scalar problem for the viewer.
19:06A scalar problem for the viewer.
19:06A scalar problem for the viewer.
24:53Correcting player's diagonal motion.
24:53Correcting player's diagonal motion.
24:53Correcting player's diagonal motion.
26:10Transitioning to vectors.
26:10Transitioning to vectors.
26:10Transitioning to vectors.
30:30Vector notation
30:30Vector notation
30:30Vector notation
33:13Basic Vector Operations
33:13Basic Vector Operations
33:13Basic Vector Operations
37:46Multiplication in Vector Space
37:46Multiplication in Vector Space
37:46Multiplication in Vector Space
43:30Adding vector routines to the code
43:30Adding vector routines to the code
43:30Adding vector routines to the code
48:25Replacing scalar code with vector code.
48:25Replacing scalar code with vector code.
48:25Replacing scalar code with vector code.
1:01:53Q&A
🗩
1:01:53Q&A
🗩
1:01:53Q&A
🗩
1:02:28How do union types work in C++ and what are the drawbacks?
1:02:28How do union types work in C++ and what are the drawbacks?
1:02:28How do union types work in C++ and what are the drawbacks?
1:04:42About vector conventions
1:04:42About vector conventions
1:04:42About vector conventions
1:05:07In the first version of vector, weren't you just missing an anonymous struct in the union?
1:05:07In the first version of vector, weren't you just missing an anonymous struct in the union?
1:05:07In the first version of vector, weren't you just missing an anonymous struct in the union?
1:07:23How do you remember all these commands?
1:07:23How do you remember all these commands?
1:07:23How do you remember all these commands?
1:08:47Is there a performance reason not to use constructors for v2?
1:08:47Is there a performance reason not to use constructors for v2?
1:08:47Is there a performance reason not to use constructors for v2?
1:10:16When would the fact that objects members are private or public come in to play?
1:10:16When would the fact that objects members are private or public come in to play?
1:10:16When would the fact that objects members are private or public come in to play?
1:12:04You should be able to have compound assignments outside the object.
1:12:04You should be able to have compound assignments outside the object.
1:12:04You should be able to have compound assignments outside the object.
1:14:02If you're using vertical bars for vectors, how would you notate the determinant?
1:14:02If you're using vertical bars for vectors, how would you notate the determinant?
1:14:02If you're using vertical bars for vectors, how would you notate the determinant?
1:15:23Can't you make the whole vector struct an union?
1:15:23Can't you make the whole vector struct an union?
1:15:23Can't you make the whole vector struct an union?
1:16:30Does the altered v2 work now if you comment out the constructor?
1:16:30Does the altered v2 work now if you comment out the constructor?
1:16:30Does the altered v2 work now if you comment out the constructor?
1:18:09What libs are you using?
1:18:09What libs are you using?
1:18:09What libs are you using?
1:18:17Just tested the v2 struct in llvm and it compiles fine.
1:18:17Just tested the v2 struct in llvm and it compiles fine.
1:18:17Just tested the v2 struct in llvm and it compiles fine.
1:18:40If I remember correctly, both gcc and llvm complains about the union struct
1:18:40If I remember correctly, both gcc and llvm complains about the union struct
1:18:40If I remember correctly, both gcc and llvm complains about the union struct
1:19:33Do you have any book recommandations for vector math?
1:19:33Do you have any book recommandations for vector math?
1:19:33Do you have any book recommandations for vector math?
1:22:14Will you define vector and scalar addition?
1:22:14Will you define vector and scalar addition?
1:22:14Will you define vector and scalar addition?
1:25:15Any particular reason to not supporting both vector-scalar and scalar-vector operators?
1:25:15Any particular reason to not supporting both vector-scalar and scalar-vector operators?
1:25:15Any particular reason to not supporting both vector-scalar and scalar-vector operators?
1:26:19The earlier struct-syntax is C99
1:26:19The earlier struct-syntax is C99
1:26:19The earlier struct-syntax is C99
1:26:37Does not returning real32 instead of v2 in *= operator trim your y-value?
1:26:37Does not returning real32 instead of v2 in *= operator trim your y-value?
1:26:37Does not returning real32 instead of v2 in *= operator trim your y-value?
1:28:25In C++11 you can do (v2){5, 2} as v2{5, 3}
1:28:25In C++11 you can do (v2){5, 2} as v2{5, 3}
1:28:25In C++11 you can do (v2){5, 2} as v2{5, 3}
1:29:43Don't you need some graphics library to place stuff not in a console?
1:29:43Don't you need some graphics library to place stuff not in a console?
1:29:43Don't you need some graphics library to place stuff not in a console?
1:31:20It's time to upgrade your copyright notice!
1:31:20It's time to upgrade your copyright notice!
1:31:20It's time to upgrade your copyright notice!
1:32:19Do you have use for constants like v2up, v2down etc?
1:32:19Do you have use for constants like v2up, v2down etc?
1:32:19Do you have use for constants like v2up, v2down etc?
1:33:50Copyright should cover all years in which content was contributed
1:33:50Copyright should cover all years in which content was contributed
1:33:50Copyright should cover all years in which content was contributed
1:34:48How about adding const references to function parameters to avoid copy by value
1:34:48How about adding const references to function parameters to avoid copy by value
1:34:48How about adding const references to function parameters to avoid copy by value
1:35:53Doesn't const help the compiler optimize?
1:35:53Doesn't const help the compiler optimize?
1:35:53Doesn't const help the compiler optimize?