Handmade Hero»Episode Guide
Finishing the Simulation Region Change
?
?

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:36Recap on where we are with simulation region change
0:36Recap on where we are with simulation region change
0:36Recap on where we are with simulation region change
3:55Creating a separate file for entity behavior code
3:55Creating a separate file for entity behavior code
3:55Creating a separate file for entity behavior code
6:20Changing DrawHitpoints to operate on sim_entity instead of low_entity
6:20Changing DrawHitpoints to operate on sim_entity instead of low_entity
6:20Changing DrawHitpoints to operate on sim_entity instead of low_entity
7:05Separating code for updating player from controller processing code
7:05Separating code for updating player from controller processing code
7:05Separating code for updating player from controller processing code
22:07Fixing more compiler errors
22:07Fixing more compiler errors
22:07Fixing more compiler errors
23:37TODO for renaming sim_entity to entity
23:37TODO for renaming sim_entity to entity
23:37TODO for renaming sim_entity to entity
24:23Fixing more compiler errors
24:23Fixing more compiler errors
24:23Fixing more compiler errors
25:03Bringing in handmade_entity into the build
25:03Bringing in handmade_entity into the build
25:03Bringing in handmade_entity into the build
25:23Fixing UpdateFamiliar
25:23Fixing UpdateFamiliar
25:23Fixing UpdateFamiliar
28:03Fixing UpdateMonstar and UpdateSword
28:03Fixing UpdateMonstar and UpdateSword
28:03Fixing UpdateMonstar and UpdateSword
29:38Overview of remaining TODOs for sim region code
29:38Overview of remaining TODOs for sim region code
29:38Overview of remaining TODOs for sim region code
29:55Using transient storage for a SimArena
29:55Using transient storage for a SimArena
29:55Using transient storage for a SimArena
38:01Fixing remaining compiler errors
38:01Fixing remaining compiler errors
38:01Fixing remaining compiler errors
38:32Addressing TODO for clearing hash table
38:32Addressing TODO for clearing hash table
38:32Addressing TODO for clearing hash table
42:33Starting to debug the code
42:33Starting to debug the code
42:33Starting to debug the code
47:17Altering GetHashFromStorageIndex code to make inspection easier during debugging
47:17Altering GetHashFromStorageIndex code to make inspection easier during debugging
47:17Altering GetHashFromStorageIndex code to make inspection easier during debugging
48:18Continuing stepping through code
48:18Continuing stepping through code
48:18Continuing stepping through code
52:09Found a bug - forgot to update entity pointer
52:09Found a bug - forgot to update entity pointer
52:09Found a bug - forgot to update entity pointer
52:45Continuing stepping through code
52:45Continuing stepping through code
52:45Continuing stepping through code
54:54Assertion fired on null pointer in RecanonicalizeCoord
54:54Assertion fired on null pointer in RecanonicalizeCoord
54:54Assertion fired on null pointer in RecanonicalizeCoord
55:20Stepping through EndSim to figure out assertion
55:20Stepping through EndSim to figure out assertion
55:20Stepping through EndSim to figure out assertion
58:35Assertion caused by float precision problem?
58:35Assertion caused by float precision problem?
58:35Assertion caused by float precision problem?
1:00:02Adding epsilon to IsCanonical to prevent assertion
1:00:02Adding epsilon to IsCanonical to prevent assertion
1:00:02Adding epsilon to IsCanonical to prevent assertion
1:01:35Debugging camera positioning
1:01:35Debugging camera positioning
1:01:35Debugging camera positioning
1:04:20Adding TODOs since we have to stop for today
1:04:20Adding TODOs since we have to stop for today
1:04:20Adding TODOs since we have to stop for today
1:06:21Q&A
🗩
1:06:21Q&A
🗩
1:06:21Q&A
🗩
1:07:13Assuming we don't go wandering too much on our own, which week has accumulated enough code base for a basic, simple, fully functional game?
1:07:13Assuming we don't go wandering too much on our own, which week has accumulated enough code base for a basic, simple, fully functional game?
1:07:13Assuming we don't go wandering too much on our own, which week has accumulated enough code base for a basic, simple, fully functional game?
1:09:04Regarding high and low entities, would the following solution work? Using one entity struct, all entities are stored in one array, and frequently update the entity if the entity is within camera bounds, and use low-frequency updating if it's outside the camera bounds?
1:09:04Regarding high and low entities, would the following solution work? Using one entity struct, all entities are stored in one array, and frequently update the entity if the entity is within camera bounds, and use low-frequency updating if it's outside the camera bounds?
1:09:04Regarding high and low entities, would the following solution work? Using one entity struct, all entities are stored in one array, and frequently update the entity if the entity is within camera bounds, and use low-frequency updating if it's outside the camera bounds?
1:11:45Can you give a high-level overview of how entities work now? I get it in bits and pieces, but this week has lost me.
1:11:45Can you give a high-level overview of how entities work now? I get it in bits and pieces, but this week has lost me.
1:11:45Can you give a high-level overview of how entities work now? I get it in bits and pieces, but this week has lost me.
1:19:59I'm not sure I fully caught how short-lived/temporary/transient memory is? Is it only for single frames or longer lived? If for longer-lived memory, how do you make sure you don't wrap around and start overwriting memory still in use? Think some homing attack which takes many many frames to resolve.
1:19:59I'm not sure I fully caught how short-lived/temporary/transient memory is? Is it only for single frames or longer lived? If for longer-lived memory, how do you make sure you don't wrap around and start overwriting memory still in use? Think some homing attack which takes many many frames to resolve.
1:19:59I'm not sure I fully caught how short-lived/temporary/transient memory is? Is it only for single frames or longer lived? If for longer-lived memory, how do you make sure you don't wrap around and start overwriting memory still in use? Think some homing attack which takes many many frames to resolve.
1:21:25How do you determine how much time each sim region should be updated if they aren't updated each frame?
1:21:25How do you determine how much time each sim region should be updated if they aren't updated each frame?
1:21:25How do you determine how much time each sim region should be updated if they aren't updated each frame?
1:21:54How does the work during this experimental phase fit into the final code? Will we be re-using most of it or will we be starting from scratch?
1:21:54How does the work during this experimental phase fit into the final code? Will we be re-using most of it or will we be starting from scratch?
1:21:54How does the work during this experimental phase fit into the final code? Will we be re-using most of it or will we be starting from scratch?