Handmade Hero»Episode Guide
Implementing Snakes
?
?

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:14Recap and plan to implement a floating method of movement and make a snake
1:14Recap and plan to implement a floating method of movement and make a snake
1:14Recap and plan to implement a floating method of movement and make a snake
3:29handmade_entity.h: Add MovementMode_Floating to entity_movement_mode
3:29handmade_entity.h: Add MovementMode_Floating to entity_movement_mode
3:29handmade_entity.h: Add MovementMode_Floating to entity_movement_mode
4:48handmade_brain.cpp: Enable the Familiar to move towards the closest Hero
4:48handmade_brain.cpp: Enable the Familiar to move towards the closest Hero
4:48handmade_brain.cpp: Enable the Familiar to move towards the closest Hero
5:46Debugger: Step into Type_brain_familiar and note that Type_brain_hero is the default value
5:46Debugger: Step into Type_brain_familiar and note that Type_brain_hero is the default value
5:46Debugger: Step into Type_brain_familiar and note that Type_brain_hero is the default value
8:51handmade_brain.h: Introduce IsType and make the Familiar check for the Hero type
8:51handmade_brain.h: Introduce IsType and make the Familiar check for the Hero type
8:51handmade_brain.h: Introduce IsType and make the Familiar check for the Hero type
11:12Run the game and see the Familiar orbit the Hero
11:12Run the game and see the Familiar orbit the Hero
11:12Run the game and see the Familiar orbit the Hero
13:23handmade_world_mode.cpp: Introduce AddSnakePiece
13:23handmade_world_mode.cpp: Introduce AddSnakePiece
13:23handmade_world_mode.cpp: Introduce AddSnakePiece
14:57handmade_brain.h: Introduce brain_snake
14:57handmade_brain.h: Introduce brain_snake
14:57handmade_brain.h: Introduce brain_snake
16:44handmade_brain.h: #define IndexedBrainSlotFor
16:44handmade_brain.h: #define IndexedBrainSlotFor
16:44handmade_brain.h: #define IndexedBrainSlotFor
20:56handmade_sim_region.h: Replace the entity *Array[16] in brain with a *Array
20:56handmade_sim_region.h: Replace the entity *Array[16] in brain with a *Array
20:56handmade_sim_region.h: Replace the entity *Array[16] in brain with a *Array
23:00Rant on pointer arithmetic in C++
23:00Rant on pointer arithmetic in C++
23:00Rant on pointer arithmetic in C++
24:14handmade_sim_region.cpp: Advance the Ptr through the Brain->Array, ensuring that it remains inside the Brain structure
24:14handmade_sim_region.cpp: Advance the Ptr through the Brain->Array, ensuring that it remains inside the Brain structure
24:14handmade_sim_region.cpp: Advance the Ptr through the Brain->Array, ensuring that it remains inside the Brain structure
27:06Underscore the necessity of languages to make simple operations easy to program
27:06Underscore the necessity of languages to make simple operations easy to program
27:06Underscore the necessity of languages to make simple operations easy to program
30:38handmade_world_mode.cpp: Make AddStandardRoom add a snake by calling AddSnakePiece
30:38handmade_world_mode.cpp: Make AddStandardRoom add a snake by calling AddSnakePiece
30:38handmade_world_mode.cpp: Make AddStandardRoom add a snake by calling AddSnakePiece
32:54handmade_brain.cpp: Make ExecuteBrain move the snake
32:54handmade_brain.cpp: Make ExecuteBrain move the snake
32:54handmade_brain.cpp: Make ExecuteBrain move the snake
38:26Run the game and see the Snake moving like a Monstar
38:26Run the game and see the Snake moving like a Monstar
38:26Run the game and see the Snake moving like a Monstar
38:38handmade_world_mode.cpp: Add more snake pieces
38:38handmade_world_mode.cpp: Add more snake pieces
38:38handmade_world_mode.cpp: Add more snake pieces
39:50Run the game and see the snake moving around just fine, until it traps itself
39:50Run the game and see the snake moving around just fine, until it traps itself
39:50Run the game and see the snake moving around just fine, until it traps itself
43:11handmade_world_mode.cpp: Try creating some additional screens
43:11handmade_world_mode.cpp: Try creating some additional screens
43:11handmade_world_mode.cpp: Try creating some additional screens
43:16"We have a lot of N-squaredy things"α
43:16"We have a lot of N-squaredy things"α
43:16"We have a lot of N-squaredy things"α
46:00Run the game and watch the simulation
46:00Run the game and watch the simulation
46:00Run the game and watch the simulation
51:25Consider encouraging entities to move towards us from adjacent rooms
51:25Consider encouraging entities to move towards us from adjacent rooms
51:25Consider encouraging entities to move towards us from adjacent rooms
56:42todo.txt: Update the TODOs and add an Entity System note for geographically disparate entities
56:42todo.txt: Update the TODOs and add an Entity System note for geographically disparate entities
56:42todo.txt: Update the TODOs and add an Entity System note for geographically disparate entities
58:54Q&A
🗩
58:54Q&A
🗩
58:54Q&A
🗩
59:43badflydog Wasn't today an off-day?
🗪
59:43badflydog Wasn't today an off-day?
🗪
59:43badflydog Wasn't today an off-day?
🗪
1:00:09cubercaleb Can the compiler really mess up the pointer arithmetic? I mean, it is just integer ops, can't be that hard to mess up
🗪
1:00:09cubercaleb Can the compiler really mess up the pointer arithmetic? I mean, it is just integer ops, can't be that hard to mess up
🗪
1:00:09cubercaleb Can the compiler really mess up the pointer arithmetic? I mean, it is just integer ops, can't be that hard to mess up
🗪
1:02:28longboolean So is the way to fix the snake from getting stuck to just allow it to run over itself or to make the snake AI smart enough to not trap itself?
🗪
1:02:28longboolean So is the way to fix the snake from getting stuck to just allow it to run over itself or to make the snake AI smart enough to not trap itself?
🗪
1:02:28longboolean So is the way to fix the snake from getting stuck to just allow it to run over itself or to make the snake AI smart enough to not trap itself?
🗪
1:03:48busy_beaver I've recently watched your video on the GJK algorithm, it's great, thanks for that! Did you also do a video on the EPA algorithm?1
🗪
1:03:48busy_beaver I've recently watched your video on the GJK algorithm, it's great, thanks for that! Did you also do a video on the EPA algorithm?1
🗪
1:03:48busy_beaver I've recently watched your video on the GJK algorithm, it's great, thanks for that! Did you also do a video on the EPA algorithm?1
🗪
1:04:02sir_kane Will the snake head be able to move to the position of its last segment? So it can go in a circle / loop
🗪
1:04:02sir_kane Will the snake head be able to move to the position of its last segment? So it can go in a circle / loop
🗪
1:04:02sir_kane Will the snake head be able to move to the position of its last segment? So it can go in a circle / loop
🗪
1:04:50sssmcgrath WTF you did a video on GJK? What other explanation videos have you done?
🗪
1:04:50sssmcgrath WTF you did a video on GJK? What other explanation videos have you done?
🗪
1:04:50sssmcgrath WTF you did a video on GJK? What other explanation videos have you done?
🗪
1:05:09paradjanin Are you going to implement every AI thing in brain entity? When does path-finding and rest of AI coming on schedule? Also can you say some good reference book for AI? Cheers, Casey
🗪
1:05:09paradjanin Are you going to implement every AI thing in brain entity? When does path-finding and rest of AI coming on schedule? Also can you say some good reference book for AI? Cheers, Casey
🗪
1:05:09paradjanin Are you going to implement every AI thing in brain entity? When does path-finding and rest of AI coming on schedule? Also can you say some good reference book for AI? Cheers, Casey
🗪
1:06:47sssmcgrath Yeah, and IMGUI, but what else?2
🗪
1:06:47sssmcgrath Yeah, and IMGUI, but what else?2
🗪
1:06:47sssmcgrath Yeah, and IMGUI, but what else?2
🗪
1:07:18busy_beaver Expanding Polytope Algorithm3,4
🗪
1:07:18busy_beaver Expanding Polytope Algorithm3,4
🗪
1:07:18busy_beaver Expanding Polytope Algorithm3,4
🗪
1:09:09longboolean Could you briefly explain how a snake segment knows which node to jump to? A non head segment, that is
🗪
1:09:09longboolean Could you briefly explain how a snake segment knows which node to jump to? A non head segment, that is
🗪
1:09:09longboolean Could you briefly explain how a snake segment knows which node to jump to? A non head segment, that is
🗪
1:09:25cubercaleb Don't forget the API video!5
🗪
1:09:25cubercaleb Don't forget the API video!5
🗪
1:09:25cubercaleb Don't forget the API video!5
🗪
1:11:10busy_beaver Well I've got GJK + EPA implemented in 2D and GJK in 3D, but I am a bit struggling at EPA in 3D
🗪
1:11:10busy_beaver Well I've got GJK + EPA implemented in 2D and GJK in 3D, but I am a bit struggling at EPA in 3D
🗪
1:11:10busy_beaver Well I've got GJK + EPA implemented in 2D and GJK in 3D, but I am a bit struggling at EPA in 3D
🗪
1:12:23Wrap it up
🗩
1:12:23Wrap it up
🗩
1:12:23Wrap it up
🗩