[video output=day054 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Removing the Dormant Entity Concept" vod_platform=youtube id=yqM04duWiiU annotator=csnover annotator=debiatan annotator=theinternetftw]
[0:00][Intro]
[1:17][Recap]
[3:15][Rationale for removing dormant entities]
[5:56][Ideas on decoupling low and high entity arrays]
[10:23][Creating things only in the low entity list by default]
[15:40][A note about the memory of the high entity array]
[21:38][Thinking about using a free list instead of compacting the array]
[23:27][Implementing array compaction]
[26:46][Changing GetEntity to GetLowEntity and GetHighEntity]
[29:05][Changing AddEntity to AddLowEntity and updating AddWall]
[30:56][A note on refactoring/rewriting code]
[31:42][Updating AddPlayer and MovePlayer]
[39:12][Updating SetCamera changing residence from high to low]
[41:35][A moment of clarity; description of trouble iterating over a mutating array]
[46:05][Handling controlling entities]
[53:54][Debugging crashes]
[55:50][Debugging missing walls and positioning problems]
[1:02:08][Q&A][:speech]
[1:03:12][Is there an advantage of making the size of the LowEntity and HighEntity arrays a power of two?]
[1:04:22][This is a third-person game right?]
[1:04:34][What process would you have gone through for creating the controls and movement if this were a 2D side-scrolling platformer?]
[1:05:28][Do you feel today will be rewritten during optimization?]
[1:06:40][I don't know if it's been answered before but did you consider large fixed point integers for both entity types like Tom Forsythe seems to prefer instead of the swap between the floating point and the high frequency entities?]
[1:08:58][Wouldn't be easier to keep a list of empty entity slots to add them there instead of always moving and changing one of the pointers?]
[1:09:51][Are you familiar with slot maps for game object storage and do you think you'd use them for this project? We use them for our engine.]
[1:11:22][Any thoughts on controls for HH on controllerless touch screen devices like tablets?]
[1:12:27][(follow-up) I think a slot map is just an implementation of handles doubly indirect referenced through a table.]
[1:12:57][Will Handmade Hero always be 20 scale feet tall?]
[1:13:06][What are you drinking?]
[1:13:16][(follow-up) What I call a slot map is an array that can have arbitrary empty slots and each slot has a version number for self-validation.]
[1:15:20][End][:speech]
[/video]
