Handmade Hero»Episode Guide
Multiple Collision Volumes Per Entity
?
?

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:37Blackboard: Position != Collision "Mesh"
1:37Blackboard: Position != Collision "Mesh"
1:37Blackboard: Position != Collision "Mesh"
9:13handmade_sim_region.h: Introduce sim_entity_collision_volume
9:13handmade_sim_region.h: Introduce sim_entity_collision_volume
9:13handmade_sim_region.h: Introduce sim_entity_collision_volume
10:54Blackboard: Two ways of storing this collision volume data
10:54Blackboard: Two ways of storing this collision volume data
10:54Blackboard: Two ways of storing this collision volume data
12:51handmade_sim_region.h: Introduce sim_entity_collision_volume_group
12:51handmade_sim_region.h: Introduce sim_entity_collision_volume_group
12:51handmade_sim_region.h: Introduce sim_entity_collision_volume_group
15:09Compile and be guided by the compile errors in replacing the Dim
15:09Compile and be guided by the compile errors in replacing the Dim
15:09Compile and be guided by the compile errors in replacing the Dim
15:43handmade_sim_region.h: Add WalkableDim to sim_entity
15:43handmade_sim_region.h: Add WalkableDim to sim_entity
15:43handmade_sim_region.h: Add WalkableDim to sim_entity
17:38handmade_entity.h: Use WalkableDim in GetStairGround
17:38handmade_entity.h: Use WalkableDim in GetStairGround
17:38handmade_entity.h: Use WalkableDim in GetStairGround
19:31handmade_math.h: Introduce GetBarycentric for rectangle2
19:31handmade_math.h: Introduce GetBarycentric for rectangle2
19:31handmade_math.h: Introduce GetBarycentric for rectangle2
20:18handmade_math.h: Introduce Clamp01 for v2
20:18handmade_math.h: Introduce Clamp01 for v2
20:18handmade_math.h: Introduce Clamp01 for v2
21:03handmade_sim_region.h: Add sim_entity_collision_volume TotalVolume to sim_entity_collision_volume_group
21:03handmade_sim_region.h: Add sim_entity_collision_volume TotalVolume to sim_entity_collision_volume_group
21:03handmade_sim_region.h: Add sim_entity_collision_volume TotalVolume to sim_entity_collision_volume_group
23:11handmade_sim_region.cpp: Pass sim_entity_collision_volume to EntityOverlapsRectangle
23:11handmade_sim_region.cpp: Pass sim_entity_collision_volume to EntityOverlapsRectangle
23:11handmade_sim_region.cpp: Pass sim_entity_collision_volume to EntityOverlapsRectangle
25:51handmade_sim_region.h: Specify that the VolumeCount is always expected to be greater than 0 if the entity has any volume
25:51handmade_sim_region.h: Specify that the VolumeCount is always expected to be greater than 0 if the entity has any volume
25:51handmade_sim_region.h: Specify that the VolumeCount is always expected to be greater than 0 if the entity has any volume
27:21handmade_sim_region.cpp: Iterate over the Volumes
27:21handmade_sim_region.cpp: Iterate over the Volumes
27:21handmade_sim_region.cpp: Iterate over the Volumes
28:04Blackboard: Collision detection is an o(n^2) problem
28:04Blackboard: Collision detection is an o(n^2) problem
28:04Blackboard: Collision detection is an o(n^2) problem
30:02handmade_sim_region.cpp: Continue writing this loop
30:02handmade_sim_region.cpp: Continue writing this loop
30:02handmade_sim_region.cpp: Continue writing this loop
33:58"Don't ask me why I'm doing this renaming"α
33:58"Don't ask me why I'm doing this renaming"α
33:58"Don't ask me why I'm doing this renaming"α
35:31Casey is out of teaβ
35:31Casey is out of teaβ
35:31Casey is out of teaβ
35:41Dream of gourmet teaγ
35:41Dream of gourmet teaγ
35:41Dream of gourmet teaγ
37:13handmade.h: Add sim_entity_collision_volume_groups to game_state
37:13handmade.h: Add sim_entity_collision_volume_groups to game_state
37:13handmade.h: Add sim_entity_collision_volume_groups to game_state
45:57handmade.cpp: Use the WalkableDim to draw the Stairwell
45:57handmade.cpp: Use the WalkableDim to draw the Stairwell
45:57handmade.cpp: Use the WalkableDim to draw the Stairwell
46:56handmade.cpp: Implement MakeSimpleGroundedCollision
46:56handmade.cpp: Implement MakeSimpleGroundedCollision
46:56handmade.cpp: Implement MakeSimpleGroundedCollision
51:10handmade.cpp: Do InitializeWorld earlier
51:10handmade.cpp: Do InitializeWorld earlier
51:10handmade.cpp: Do InitializeWorld earlier
51:35Run the game and find that we're not totally busteD
51:35Run the game and find that we're not totally busteD
51:35Run the game and find that we're not totally busteD
52:27handmade.h: Flying things can now go over low walls
52:27handmade.h: Flying things can now go over low walls
52:27handmade.h: Flying things can now go over low walls
53:07handmade.cpp: Initialise the WalkableDim in AddStair
53:07handmade.cpp: Initialise the WalkableDim in AddStair
53:07handmade.cpp: Initialise the WalkableDim in AddStair
54:38handmade_math.h: Introduce ToRectangleXY
54:38handmade_math.h: Introduce ToRectangleXY
54:38handmade_math.h: Introduce ToRectangleXY
55:53Run the game and see that our stairwell is back
55:53Run the game and see that our stairwell is back
55:53Run the game and see that our stairwell is back
56:18handmade_sim_region.cpp: Reenable the stairwell collision
56:18handmade_sim_region.cpp: Reenable the stairwell collision
56:18handmade_sim_region.cpp: Reenable the stairwell collision
57:23Run the game and try jumping over the stairwell
57:23Run the game and try jumping over the stairwell
57:23Run the game and try jumping over the stairwell
58:24handmade.cpp: Implement MakeNullCollision
58:24handmade.cpp: Implement MakeNullCollision
58:24handmade.cpp: Implement MakeNullCollision
59:50Run the game and note the weird effect of gravity while falling down the stairwell
59:50Run the game and note the weird effect of gravity while falling down the stairwell
59:50Run the game and note the weird effect of gravity while falling down the stairwell
1:01:04handmade_sim_region.cpp: Set Drag.Z = 0.0f
1:01:04handmade_sim_region.cpp: Set Drag.Z = 0.0f
1:01:04handmade_sim_region.cpp: Set Drag.Z = 0.0f
1:01:49Run the game and fall down the stairwell
1:01:49Run the game and fall down the stairwell
1:01:49Run the game and fall down the stairwell
1:02:08Q&A
🗩
1:02:08Q&A
🗩
1:02:08Q&A
🗩
1:02:38Run and jump around
1:02:38Run and jump around
1:02:38Run and jump around
1:03:36rsxole Can we get a sneak preview of the fundamental types arena?
🗪
1:03:36rsxole Can we get a sneak preview of the fundamental types arena?
🗪
1:03:36rsxole Can we get a sneak preview of the fundamental types arena?
🗪
1:03:43Blackboard: Fundamental Types Arena
1:03:43Blackboard: Fundamental Types Arena
1:03:43Blackboard: Fundamental Types Arena
1:05:03drive137 Besides the missed keys
🗪
1:05:03drive137 Besides the missed keys
🗪
1:05:03drive137 Besides the missed keys
🗪
1:06:08lou_lo What did I just watch?
🗪
1:06:08lou_lo What did I just watch?
🗪
1:06:08lou_lo What did I just watch?
🗪
1:08:50morthim Could you sketch what you did today visually? Was it just changing the collision paradigm?
🗪
1:08:50morthim Could you sketch what you did today visually? Was it just changing the collision paradigm?
🗪
1:08:50morthim Could you sketch what you did today visually? Was it just changing the collision paradigm?
🗪
1:08:55ttbjm Would the ground collision be easier / have less issues if it was a volume instead of a plane?
🗪
1:08:55ttbjm Would the ground collision be easier / have less issues if it was a volume instead of a plane?
🗪
1:08:55ttbjm Would the ground collision be easier / have less issues if it was a volume instead of a plane?
🗪
1:09:47Blackboard: Specifying the ground
1:09:47Blackboard: Specifying the ground
1:09:47Blackboard: Specifying the ground
1:12:48crayoz Since you are handling Z, how complicated is it to have entity stacking, with the current code state?
🗪
1:12:48crayoz Since you are handling Z, how complicated is it to have entity stacking, with the current code state?
🗪
1:12:48crayoz Since you are handling Z, how complicated is it to have entity stacking, with the current code state?
🗪
1:13:26warptrosse Are you using a memory manager?
🗪
1:13:26warptrosse Are you using a memory manager?
🗪
1:13:26warptrosse Are you using a memory manager?
🗪
1:13:31blah238 How are you laying out your levels currently and are you going to make a level editor?
🗪
1:13:31blah238 How are you laying out your levels currently and are you going to make a level editor?
🗪
1:13:31blah238 How are you laying out your levels currently and are you going to make a level editor?
🗪
1:14:20childphotography Is knowing Big O notation important in the game programming industry?
🗪
1:14:20childphotography Is knowing Big O notation important in the game programming industry?
🗪
1:14:20childphotography Is knowing Big O notation important in the game programming industry?
🗪
1:15:08starchypancakes You mentioned further ways of partitioning collisions past breaking it up into regions. What would some of those be?
🗪
1:15:08starchypancakes You mentioned further ways of partitioning collisions past breaking it up into regions. What would some of those be?
🗪
1:15:08starchypancakes You mentioned further ways of partitioning collisions past breaking it up into regions. What would some of those be?
🗪
1:15:56End that for today
🗩
1:15:56End that for today
🗩
1:15:56End that for today
🗩