[video output=day065 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Finishing the Simulation Region Change" vod_platform=youtube id=XfBTNH0nL4I annotator=schme annotator=jpike]
[0:36][Recap on where we are with simulation region change]
[3:55][Creating a separate file for entity behavior code]
[6:20][Changing DrawHitpoints to operate on sim_entity instead of low_entity]
[7:05][Separating code for updating player from controller processing code]
[22:07][Fixing more compiler errors]
[23:37][TODO for renaming sim_entity to entity]
[24:23][Fixing more compiler errors]
[25:03][Bringing in handmade_entity into the build]
[25:23][Fixing UpdateFamiliar]
[28:03][Fixing UpdateMonstar and UpdateSword]
[29:38][Overview of remaining TODOs for sim region code]
[29:55][Using transient storage for a SimArena]
[38:01][Fixing remaining compiler errors]
[38:32][Addressing TODO for clearing hash table]
[42:33][Starting to debug the code]
[47:17][Altering GetHashFromStorageIndex code to make inspection easier during debugging]
[48:18][Continuing stepping through code]
[52:09][Found a bug - forgot to update entity pointer]
[52:45][Continuing stepping through code]
[54:54][Assertion fired on null pointer in RecanonicalizeCoord]
[55:20][Stepping through EndSim to figure out assertion]
[58:35][Assertion caused by float precision problem?]
[1:00:02][Adding epsilon to IsCanonical to prevent assertion]
[1:01:35][Debugging camera positioning]
[1:04:20][Adding TODOs since we have to stop for today]
[1:06:21][Q&A][:speech]
[1:07:13][Assuming 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:04][Regarding 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:45][Can 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:59][I'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:25][How do you determine how much time each sim region should be updated if they aren't updated each frame?]
[1:21:54][How 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?]
[/video]
