Handmade Hero»Episode Guide
Bases Part I
?
?

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)
1:45Take a look at where we're at
1:45Take a look at where we're at
1:45Take a look at where we're at
2:05Make lowercase the accessors for the vectors
2:05Make lowercase the accessors for the vectors
2:05Make lowercase the accessors for the vectors
6:20Casey doesn't have enough Emacs-fu to bust that outα
6:20Casey doesn't have enough Emacs-fu to bust that outα
6:20Casey doesn't have enough Emacs-fu to bust that outα
9:00Find out if it worked
9:00Find out if it worked
9:00Find out if it worked
9:30Resume work on RenderGroup structure, implementing Clear
9:30Resume work on RenderGroup structure, implementing Clear
9:30Resume work on RenderGroup structure, implementing Clear
10:47Make DrawRectangle take A which defaults to 1.0f
10:47Make DrawRectangle take A which defaults to 1.0f
10:47Make DrawRectangle take A which defaults to 1.0f
11:21Make the Clear call take its values from render_entry_clear
11:21Make the Clear call take its values from render_entry_clear
11:21Make the Clear call take its values from render_entry_clear
11:57Make Clear function
11:57Make Clear function
11:57Make Clear function
12:41Change R, G, B, A in render_entry_clear to Color
12:41Change R, G, B, A in render_entry_clear to Color
12:41Change R, G, B, A in render_entry_clear to Color
12:54Cleanup
12:54Cleanup
12:54Cleanup
13:07Review progress and glimpse into the future
13:07Review progress and glimpse into the future
13:07Review progress and glimpse into the future
13:39Ensure that everything's working in-game
13:39Ensure that everything's working in-game
13:39Ensure that everything's working in-game
14:00Turn off the GroundBuffers and the 'conditional expression is constant' warning
14:00Turn off the GroundBuffers and the 'conditional expression is constant' warning
14:00Turn off the GroundBuffers and the 'conditional expression is constant' warning
15:05Consider what we haven't moved over into the renderer (Outline calls) and note that FillGroundChunk calls the bitmap routines directly, rather than the renderer
15:05Consider what we haven't moved over into the renderer (Outline calls) and note that FillGroundChunk calls the bitmap routines directly, rather than the renderer
15:05Consider what we haven't moved over into the renderer (Outline calls) and note that FillGroundChunk calls the bitmap routines directly, rather than the renderer
16:00Put PushRectOutline and DrawRectangleOutline into the renderer as more specific concepts
16:00Put PushRectOutline and DrawRectangleOutline into the renderer as more specific concepts
16:00Put PushRectOutline and DrawRectangleOutline into the renderer as more specific concepts
19:44Run, crash and update PushRectOutline
19:44Run, crash and update PushRectOutline
19:44Run, crash and update PushRectOutline
20:33View the results in-game and add back in the Space lines
20:33View the results in-game and add back in the Space lines
20:33View the results in-game and add back in the Space lines
21:37Make FillGroundChunk go through the renderer
21:37Make FillGroundChunk go through the renderer
21:37Make FillGroundChunk go through the renderer
22:59Introduce GroundRenderGroup
22:59Introduce GroundRenderGroup
22:59Introduce GroundRenderGroup
23:36Let FillGroundChunk use the RenderGroup
23:36Let FillGroundChunk use the RenderGroup
23:36Let FillGroundChunk use the RenderGroup
25:44Put in a Clear to verify that things are actually happening
25:44Put in a Clear to verify that things are actually happening
25:44Put in a Clear to verify that things are actually happening
26:26Change DrawBitmap to PushBitmap and make it use that renderer syntax
26:26Change DrawBitmap to PushBitmap and make it use that renderer syntax
26:26Change DrawBitmap to PushBitmap and make it use that renderer syntax
26:52Consider supporting pixel positioning
26:52Consider supporting pixel positioning
26:52Consider supporting pixel positioning
28:34View the splatting in-game
28:34View the splatting in-game
28:34View the splatting in-game
28:52Cheese the pixel positioning by replacing MetersToPixels with 1.0f
28:52Cheese the pixel positioning by replacing MetersToPixels with 1.0f
28:52Cheese the pixel positioning by replacing MetersToPixels with 1.0f
29:34Showcase the live code editing by scaling the placement of the ground elements
29:34Showcase the live code editing by scaling the placement of the ground elements
29:34Showcase the live code editing by scaling the placement of the ground elements
31:05Blackboard: Introduce the concept of coordinate systems and bases
31:05Blackboard: Introduce the concept of coordinate systems and bases
31:05Blackboard: Introduce the concept of coordinate systems and bases
32:55Blackboard: How we measure, using the dot product
32:55Blackboard: How we measure, using the dot product
32:55Blackboard: How we measure, using the dot product
34:24Blackboard: Axes tend to have two properties: 1) Unit length
34:24Blackboard: Axes tend to have two properties: 1) Unit length
34:24Blackboard: Axes tend to have two properties: 1) Unit length
36:03Blackboard: ...and 2) Orthogonal
36:03Blackboard: ...and 2) Orthogonal
36:03Blackboard: ...and 2) Orthogonal
36:33Blackboard: Linear independence
36:33Blackboard: Linear independence
36:33Blackboard: Linear independence
38:13Blackboard: Forget about linear independence
38:13Blackboard: Forget about linear independence
38:13Blackboard: Forget about linear independence
39:12Blackboard: Orthogonality
39:12Blackboard: Orthogonality
39:12Blackboard: Orthogonality
42:48Blackboard: Linear independence
42:48Blackboard: Linear independence
42:48Blackboard: Linear independence
44:40Blackboard: There's linear algebra afoot hereβ
44:40Blackboard: There's linear algebra afoot hereβ
44:40Blackboard: There's linear algebra afoot hereβ
44:54Blackboard: See why these are important properties
44:54Blackboard: See why these are important properties
44:54Blackboard: See why these are important properties
45:26Blackboard: 3D coordinates
45:26Blackboard: 3D coordinates
45:26Blackboard: 3D coordinates
47:14Blackboard: Basis vectors
47:14Blackboard: Basis vectors
47:14Blackboard: Basis vectors
50:11Blackboard: Basis changes: 'MetersToPixels' and 'negate y'
50:11Blackboard: Basis changes: 'MetersToPixels' and 'negate y'
50:11Blackboard: Basis changes: 'MetersToPixels' and 'negate y'
55:30Blackboard: Pretend we had some third universal basis
55:30Blackboard: Pretend we had some third universal basis
55:30Blackboard: Pretend we had some third universal basis
57:29Blackboard: How does Casey move a point from world space into screen space?
57:29Blackboard: How does Casey move a point from world space into screen space?
57:29Blackboard: How does Casey move a point from world space into screen space?
1:01:17Blackboard: Preview what we're going to do
1:01:17Blackboard: Preview what we're going to do
1:01:17Blackboard: Preview what we're going to do
1:03:08Q&A
🗩
1:03:08Q&A
🗩
1:03:08Q&A
🗩
1:03:41mr4thdimention Would you represent the origin of coordinate systems in a universal coordinate system?
🗪
1:03:41mr4thdimention Would you represent the origin of coordinate systems in a universal coordinate system?
🗪
1:03:41mr4thdimention Would you represent the origin of coordinate systems in a universal coordinate system?
🗪
1:06:25nicstop A few streams ago you said you'd prefer to call functions through a macro and then forgot to explain why
🗪
1:06:25nicstop A few streams ago you said you'd prefer to call functions through a macro and then forgot to explain why
🗪
1:06:25nicstop A few streams ago you said you'd prefer to call functions through a macro and then forgot to explain why
🗪
1:07:06e10dee4d Why is the familiar moving left to right, or did I miss something?
🗪
1:07:06e10dee4d Why is the familiar moving left to right, or did I miss something?
🗪
1:07:06e10dee4d Why is the familiar moving left to right, or did I miss something?
🗪
1:07:32cubercaleb Why are computer coordinates upside-down?
🗪
1:07:32cubercaleb Why are computer coordinates upside-down?
🗪
1:07:32cubercaleb Why are computer coordinates upside-down?
🗪
1:12:30twinduoq How important is it to know how to make a game engine vs simply using one? And if you were to use DirectX libraries, how much would the code differ?
🗪
1:12:30twinduoq How important is it to know how to make a game engine vs simply using one? And if you were to use DirectX libraries, how much would the code differ?
🗪
1:12:30twinduoq How important is it to know how to make a game engine vs simply using one? And if you were to use DirectX libraries, how much would the code differ?
🗪
1:21:06Wrap it up with a brief recap and a glimpse into the future
🗩
1:21:06Wrap it up with a brief recap and a glimpse into the future
🗩
1:21:06Wrap it up with a brief recap and a glimpse into the future
🗩