Removing the Dormant Entity Concept
?
?

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:00Intro
0:00Intro
0:00Intro
1:17Recap
1:17Recap
1:17Recap
3:15Rationale for removing dormant entities
3:15Rationale for removing dormant entities
3:15Rationale for removing dormant entities
5:56Ideas on decoupling low and high entity arrays
5:56Ideas on decoupling low and high entity arrays
5:56Ideas on decoupling low and high entity arrays
10:23Creating things only in the low entity list by default
10:23Creating things only in the low entity list by default
10:23Creating things only in the low entity list by default
15:40A note about the memory of the high entity array
15:40A note about the memory of the high entity array
15:40A note about the memory of the high entity array
21:38Thinking about using a free list instead of compacting the array
21:38Thinking about using a free list instead of compacting the array
21:38Thinking about using a free list instead of compacting the array
23:27Implementing array compaction
23:27Implementing array compaction
23:27Implementing array compaction
26:46Changing GetEntity to GetLowEntity and GetHighEntity
26:46Changing GetEntity to GetLowEntity and GetHighEntity
26:46Changing GetEntity to GetLowEntity and GetHighEntity
29:05Changing AddEntity to AddLowEntity and updating AddWall
29:05Changing AddEntity to AddLowEntity and updating AddWall
29:05Changing AddEntity to AddLowEntity and updating AddWall
30:56A note on refactoring/rewriting code
30:56A note on refactoring/rewriting code
30:56A note on refactoring/rewriting code
31:42Updating AddPlayer and MovePlayer
31:42Updating AddPlayer and MovePlayer
31:42Updating AddPlayer and MovePlayer
39:12Updating SetCamera changing residence from high to low
39:12Updating SetCamera changing residence from high to low
39:12Updating SetCamera changing residence from high to low
41:35A moment of clarity; description of trouble iterating over a mutating array
41:35A moment of clarity; description of trouble iterating over a mutating array
41:35A moment of clarity; description of trouble iterating over a mutating array
46:05Handling controlling entities
46:05Handling controlling entities
46:05Handling controlling entities
53:54Debugging crashes
53:54Debugging crashes
53:54Debugging crashes
55:50Debugging missing walls and positioning problems
55:50Debugging missing walls and positioning problems
55:50Debugging missing walls and positioning problems
1:02:08Q&A
🗩
1:02:08Q&A
🗩
1:02:08Q&A
🗩
1:03:12Is there an advantage of making the size of the LowEntity and HighEntity arrays a power of two?
1:03:12Is there an advantage of making the size of the LowEntity and HighEntity arrays a power of two?
1:03:12Is there an advantage of making the size of the LowEntity and HighEntity arrays a power of two?
1:04:22This is a third-person game right?
1:04:22This is a third-person game right?
1:04:22This is a third-person game right?
1:04:34What process would you have gone through for creating the controls and movement if this were a 2D side-scrolling platformer?
1:04:34What process would you have gone through for creating the controls and movement if this were a 2D side-scrolling platformer?
1:04:34What process would you have gone through for creating the controls and movement if this were a 2D side-scrolling platformer?
1:05:28Do you feel today will be rewritten during optimization?
1:05:28Do you feel today will be rewritten during optimization?
1:05:28Do you feel today will be rewritten during optimization?
1:06:40I 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:06:40I 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:06:40I 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:58Wouldn'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:08:58Wouldn'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:08:58Wouldn'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:51Are 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:09:51Are 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:09:51Are 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:22Any thoughts on controls for HH on controllerless touch screen devices like tablets?
1:11:22Any thoughts on controls for HH on controllerless touch screen devices like tablets?
1:11:22Any 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:27(follow-up) I think a slot map is just an implementation of handles doubly indirect referenced through a table.
1:12:27(follow-up) I think a slot map is just an implementation of handles doubly indirect referenced through a table.
1:12:57Will Handmade Hero always be 20 scale feet tall?
1:12:57Will Handmade Hero always be 20 scale feet tall?
1:12:57Will Handmade Hero always be 20 scale feet tall?
1:13:06What are you drinking?
1:13:06What are you drinking?
1:13:06What 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: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: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:20End
🗩
1:15:20End
🗩
1:15:20End
🗩