Handmade Hero»Episode Guide
Converting to Full 3D Positioning
?
?

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:15Recap
0:15Recap
0:15Recap
1:07Casey talk about "The coincidence of how people use their TODO notebook"
1:07Casey talk about "The coincidence of how people use their TODO notebook"
1:07Casey talk about "The coincidence of how people use their TODO notebook"
2:52Bug fix: Remove the code we left when we were playing around with familiars
2:52Bug fix: Remove the code we left when we were playing around with familiars
2:52Bug fix: Remove the code we left when we were playing around with familiars
5:39Decide what to do today: Clean up things by using v3
5:39Decide what to do today: Clean up things by using v3
5:39Decide what to do today: Clean up things by using v3
6:01Get rid of the struct "world_difference" and fix other places we were using it
6:01Get rid of the struct "world_difference" and fix other places we were using it
6:01Get rid of the struct "world_difference" and fix other places we were using it
8:16handmade_world.h: Change ChunkSideInMeters to v3
8:16handmade_world.h: Change ChunkSideInMeters to v3
8:16handmade_world.h: Change ChunkSideInMeters to v3
9:45handmade_math.h: Implement the Hadamard product
9:45handmade_math.h: Implement the Hadamard product
9:45handmade_math.h: Implement the Hadamard product
11:16handmade_math.h: Clone v2 operations for v3
11:16handmade_math.h: Clone v2 operations for v3
11:16handmade_math.h: Clone v2 operations for v3
15:14handmade_world.h: Offset_ is v3 now
15:14handmade_world.h: Offset_ is v3 now
15:14handmade_world.h: Offset_ is v3 now
16:00Point out the puzzler from world_position can be solved because we now no longer operate on entities without bringing them into the sim_region
16:00Point out the puzzler from world_position can be solved because we now no longer operate on entities without bringing them into the sim_region
16:00Point out the puzzler from world_position can be solved because we now no longer operate on entities without bringing them into the sim_region
17:28Back to deal with compiler errors
17:28Back to deal with compiler errors
17:28Back to deal with compiler errors
23:37The ground plane should not be the negative bottom sides of Tiles because we want to prevent things from accelerating near the Z bound
23:37The ground plane should not be the negative bottom sides of Tiles because we want to prevent things from accelerating near the Z bound
23:37The ground plane should not be the negative bottom sides of Tiles because we want to prevent things from accelerating near the Z bound
26:12handmade_world.h: Tidy up the function ChunkPositionFromTilePosition
26:12handmade_world.h: Tidy up the function ChunkPositionFromTilePosition
26:12handmade_world.h: Tidy up the function ChunkPositionFromTilePosition
29:14handmade_math.h: Use anonymous struct in union to grab part of the elements we are interested in v3
29:14handmade_math.h: Use anonymous struct in union to grab part of the elements we are interested in v3
29:14handmade_math.h: Use anonymous struct in union to grab part of the elements we are interested in v3
31:54handmade_math.h: Make a v3 "constructor" that append a v2 with a real32 value
31:54handmade_math.h: Make a v3 "constructor" that append a v2 with a real32 value
31:54handmade_math.h: Make a v3 "constructor" that append a v2 with a real32 value
33:05handmade_sim_region.h: Upgrade P/dP in sim_entity to v3
33:05handmade_sim_region.h: Upgrade P/dP in sim_entity to v3
33:05handmade_sim_region.h: Upgrade P/dP in sim_entity to v3
33:47Keep on dealing with compile errors
33:47Keep on dealing with compile errors
33:47Keep on dealing with compile errors
35:37handmade_math.h: rectangle3
35:37handmade_math.h: rectangle3
35:37handmade_math.h: rectangle3
36:34handmade_math.h: AddRadiusTo should take a vector as a parameter
36:34handmade_math.h: AddRadiusTo should take a vector as a parameter
36:34handmade_math.h: AddRadiusTo should take a vector as a parameter
37:54handmade_sim_region.h: Upgrade MoveEntity routine to v3
37:54handmade_sim_region.h: Upgrade MoveEntity routine to v3
37:54handmade_sim_region.h: Upgrade MoveEntity routine to v3
43:20Get rid of GetCameraSpaceP
43:20Get rid of GetCameraSpaceP
43:20Get rid of GetCameraSpaceP
43:35Keep on cleaning up
43:35Keep on cleaning up
43:35Keep on cleaning up
47:20Program now can be compiled
47:20Program now can be compiled
47:20Program now can be compiled
47:37Run the game and find out there is absolutely nothing except our hero
47:37Run the game and find out there is absolutely nothing except our hero
47:37Run the game and find out there is absolutely nothing except our hero
48:01Make sure that rectangle bound set up properly
48:01Make sure that rectangle bound set up properly
48:01Make sure that rectangle bound set up properly
48:33Blackboard: Explain what we want to make sure in more detail
48:33Blackboard: Explain what we want to make sure in more detail
48:33Blackboard: Explain what we want to make sure in more detail
56:57The bug might be Casey broke something in terms of how to store things into chunk position
56:57The bug might be Casey broke something in terms of how to store things into chunk position
56:57The bug might be Casey broke something in terms of how to store things into chunk position
58:13Q&A
🗩
58:13Q&A
🗩
58:13Q&A
🗩
58:51plainflavored Have you considered using macros that take a name and operator to paste in simple vector functions?
🗪
58:51plainflavored Have you considered using macros that take a name and operator to paste in simple vector functions?
🗪
58:51plainflavored Have you considered using macros that take a name and operator to paste in simple vector functions?
🗪
1:00:02llorton What kind of almond milk are you drinking?
🗪
1:00:02llorton What kind of almond milk are you drinking?
🗪
1:00:02llorton What kind of almond milk are you drinking?
🗪
1:00:12donotputmeonpizza Do you have any suggestions on how to keep up with your 5 episodes a week, when me and my friend have only started watching your videos from the beginning last week?
🗪
1:00:12donotputmeonpizza Do you have any suggestions on how to keep up with your 5 episodes a week, when me and my friend have only started watching your videos from the beginning last week?
🗪
1:00:12donotputmeonpizza Do you have any suggestions on how to keep up with your 5 episodes a week, when me and my friend have only started watching your videos from the beginning last week?
🗪
1:01:22ryanries Why type 1.0f instead of 1.0?
🗪
1:01:22ryanries Why type 1.0f instead of 1.0?
🗪
1:01:22ryanries Why type 1.0f instead of 1.0?
🗪
1:02:28hexagonal_diamond Have you considered writing tests?
🗪
1:02:28hexagonal_diamond Have you considered writing tests?
🗪
1:02:28hexagonal_diamond Have you considered writing tests?
🗪
1:05:36rsxole Can you explain what your Z really means? If it's for separating levels, should tall walls be able to poke into the upper Z layer(s)?
🗪
1:05:36rsxole Can you explain what your Z really means? If it's for separating levels, should tall walls be able to poke into the upper Z layer(s)?
🗪
1:05:36rsxole Can you explain what your Z really means? If it's for separating levels, should tall walls be able to poke into the upper Z layer(s)?
🗪
1:06:36Reminder: Monster that you fight on two floors at once, going up and down stairs to fight the bottom or the top
1:06:36Reminder: Monster that you fight on two floors at once, going up and down stairs to fight the bottom or the top
1:06:36Reminder: Monster that you fight on two floors at once, going up and down stairs to fight the bottom or the top
1:07:34xanthacroi How do you tab between things so quickly?
🗪
1:07:34xanthacroi How do you tab between things so quickly?
🗪
1:07:34xanthacroi How do you tab between things so quickly?
🗪
1:08:39mickeyd32 How good of a computer do I need to smoothly code?
🗪
1:08:39mickeyd32 How good of a computer do I need to smoothly code?
🗪
1:08:39mickeyd32 How good of a computer do I need to smoothly code?
🗪
1:10:19saltattack I love you... Will you marry me?
🗪
1:10:19saltattack I love you... Will you marry me?
🗪
1:10:19saltattack I love you... Will you marry me?
🗪
1:10:36nathyks How smooth is it transitioning a knowledge of Python into C++
🗪
1:10:36nathyks How smooth is it transitioning a knowledge of Python into C++
🗪
1:10:36nathyks How smooth is it transitioning a knowledge of Python into C++
🗪
1:11:26apathydude Have you thought more on how the Z-axis will look when finally implemented?
🗪
1:11:26apathydude Have you thought more on how the Z-axis will look when finally implemented?
🗪
1:11:26apathydude Have you thought more on how the Z-axis will look when finally implemented?
🗪
1:12:35biralx When you work on a game do you work on one project or do they contract you for multiple projects?
🗪
1:12:35biralx When you work on a game do you work on one project or do they contract you for multiple projects?
🗪
1:12:35biralx When you work on a game do you work on one project or do they contract you for multiple projects?
🗪
1:12:50nicstop Do you think about data locality all the time, to reduce cache misses?
🗪
1:12:50nicstop Do you think about data locality all the time, to reduce cache misses?
🗪
1:12:50nicstop Do you think about data locality all the time, to reduce cache misses?
🗪
1:14:37jkr2120 How long have you been programming?
🗪
1:14:37jkr2120 How long have you been programming?
🗪
1:14:37jkr2120 How long have you been programming?
🗪
1:14:50plainshane Are you done working for real - made all your money, and this is just for fun / philanthropic reasons?
🗪
1:14:50plainshane Are you done working for real - made all your money, and this is just for fun / philanthropic reasons?
🗪
1:14:50plainshane Are you done working for real - made all your money, and this is just for fun / philanthropic reasons?
🗪
1:15:10duroate How do you determine what gathers in a chunk with the Z-axis? Do you grab entities from all 6 sides of the chunk?
🗪
1:15:10duroate How do you determine what gathers in a chunk with the Z-axis? Do you grab entities from all 6 sides of the chunk?
🗪
1:15:10duroate How do you determine what gathers in a chunk with the Z-axis? Do you grab entities from all 6 sides of the chunk?
🗪
1:15:27Blackboard: "Axis aligned bounding box"
1:15:27Blackboard: "Axis aligned bounding box"
1:15:27Blackboard: "Axis aligned bounding box"
1:18:11handmade.h: TODO(casey): Minkowski inclusion test for sim region begin / updateable bounds
1:18:11handmade.h: TODO(casey): Minkowski inclusion test for sim region begin / updateable bounds
1:18:11handmade.h: TODO(casey): Minkowski inclusion test for sim region begin / updateable bounds
1:19:28hnau I recently watched Jon Blow's talk on attempting deep work and became curious: Do you do anything similar from a psychological perspective, i.e. go dancing like Jon does or do you have some other relaxing / rewarding activity that helps to spawn creative thought or gain elusive insights into problems you are struggling to solve?
🗪
1:19:28hnau I recently watched Jon Blow's talk on attempting deep work and became curious: Do you do anything similar from a psychological perspective, i.e. go dancing like Jon does or do you have some other relaxing / rewarding activity that helps to spawn creative thought or gain elusive insights into problems you are struggling to solve?
🗪
1:19:28hnau I recently watched Jon Blow's talk on attempting deep work and became curious: Do you do anything similar from a psychological perspective, i.e. go dancing like Jon does or do you have some other relaxing / rewarding activity that helps to spawn creative thought or gain elusive insights into problems you are struggling to solve?
🗪
1:21:08drtwox Do you think RK4 integration is "overkill" for a 2D game like Handmade Hero?
🗪
1:21:08drtwox Do you think RK4 integration is "overkill" for a 2D game like Handmade Hero?
🗪
1:21:08drtwox Do you think RK4 integration is "overkill" for a 2D game like Handmade Hero?
🗪
1:24:25mymlyreen Hi, just tuned in so it might have been mentioned before, but why are you using assertions in non-test code?
🗪
1:24:25mymlyreen Hi, just tuned in so it might have been mentioned before, but why are you using assertions in non-test code?
🗪
1:24:25mymlyreen Hi, just tuned in so it might have been mentioned before, but why are you using assertions in non-test code?
🗪
1:29:38d7samurai What about having two regions - one outer and one inner, include entities that move into the inner and exclude entities that move out of the outer - so there's a "margin" that allows some moving without ping-ponging right across a hard in / out line?
🗪
1:29:38d7samurai What about having two regions - one outer and one inner, include entities that move into the inner and exclude entities that move out of the outer - so there's a "margin" that allows some moving without ping-ponging right across a hard in / out line?
🗪
1:29:38d7samurai What about having two regions - one outer and one inner, include entities that move into the inner and exclude entities that move out of the outer - so there's a "margin" that allows some moving without ping-ponging right across a hard in / out line?
🗪
1:31:13Call it
🗩
1:31:13Call it
🗩
1:31:13Call it
🗩