Handmade Hero»Episode Guide
Switch from Tiles to Entities
?
?

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:44Recap
1:44Recap
1:44Recap
5:18Scaling low-frequency entity updates
5:18Scaling low-frequency entity updates
5:18Scaling low-frequency entity updates
16:45Revising the tile map
16:45Revising the tile map
16:45Revising the tile map
18:30Thinking about changing tile map to store entities instead of tiles
18:30Thinking about changing tile map to store entities instead of tiles
18:30Thinking about changing tile map to store entities instead of tiles
22:48Options for how to reference entities in memory
22:48Options for how to reference entities in memory
22:48Options for how to reference entities in memory
29:26Storing entities in tile entity blocks
29:26Storing entities in tile entity blocks
29:26Storing entities in tile entity blocks
33:32Thinking of a technique to improve low entity access
33:32Thinking of a technique to improve low entity access
33:32Thinking of a technique to improve low entity access
34:34Going in the other direction
34:34Going in the other direction
34:34Going in the other direction
36:09Removing invalid code
36:09Removing invalid code
36:09Removing invalid code
38:04Thinking about the size of the tile_map TileChunkHash
38:04Thinking about the size of the tile_map TileChunkHash
38:04Thinking about the size of the tile_map TileChunkHash
41:45Renaming tile_map to world
41:45Renaming tile_map to world
41:45Renaming tile_map to world
55:55Debugging refactoring
55:55Debugging refactoring
55:55Debugging refactoring
57:00Recap
57:00Recap
57:00Recap
58:37Q&A
🗩
58:37Q&A
🗩
58:37Q&A
🗩
58:59Do you still expect the gameplay to be broadly grid-based even without tiles?
58:59Do you still expect the gameplay to be broadly grid-based even without tiles?
58:59Do you still expect the gameplay to be broadly grid-based even without tiles?
59:44Could you use reflection to help handle the entities and world chunks?
59:44Could you use reflection to help handle the entities and world chunks?
59:44Could you use reflection to help handle the entities and world chunks?
1:00:53Will everything in the game be an entity even if it does not need collision detection or movement?
1:00:53Will everything in the game be an entity even if it does not need collision detection or movement?
1:00:53Will everything in the game be an entity even if it does not need collision detection or movement?
1:02:02Don't you think most of the storage concerns stem from having just high and low entities and would be solved by having more granularity there so you have more and smaller arrays of entities with some particular aspect?
1:02:02Don't you think most of the storage concerns stem from having just high and low entities and would be solved by having more granularity there so you have more and smaller arrays of entities with some particular aspect?
1:02:02Don't you think most of the storage concerns stem from having just high and low entities and would be solved by having more granularity there so you have more and smaller arrays of entities with some particular aspect?
1:02:47You mentioned considering having the world chunks store a fixed entity count and then add multiple chunks to the hash table if necessary to store more entities. If you were to go that route, how would you compare one chunk to another? Multiple chunks would have the same X,Y,Z.
1:02:47You mentioned considering having the world chunks store a fixed entity count and then add multiple chunks to the hash table if necessary to store more entities. If you were to go that route, how would you compare one chunk to another? Multiple chunks would have the same X,Y,Z.
1:02:47You mentioned considering having the world chunks store a fixed entity count and then add multiple chunks to the hash table if necessary to store more entities. If you were to go that route, how would you compare one chunk to another? Multiple chunks would have the same X,Y,Z.
1:04:16In terms of handling entity compression and decompression, where would you grab/store the state of objects that are coming in and out of the update scope?
1:04:16In terms of handling entity compression and decompression, where would you grab/store the state of objects that are coming in and out of the update scope?
1:04:16In terms of handling entity compression and decompression, where would you grab/store the state of objects that are coming in and out of the update scope?
1:04:47Why do you call C compiled with a C++ compiler “C++”?
1:04:47Why do you call C compiled with a C++ compiler “C++”?
1:04:47Why do you call C compiled with a C++ compiler “C++”?
1:05:23Why can't world_position just have a pointer to a world_chunk instead of all those AbsTiles? Then Offset_ is relative to the world_chunk.
1:05:23Why can't world_position just have a pointer to a world_chunk instead of all those AbsTiles? Then Offset_ is relative to the world_chunk.
1:05:23Why can't world_position just have a pointer to a world_chunk instead of all those AbsTiles? Then Offset_ is relative to the world_chunk.
1:07:24I didn't get to watch the entire stream so I don't know if you considered it, but why don't you have a flag for “about to be deleted” that every entity checks against and nulls pointers. Have it visible for all entities for one frame.
1:07:24I didn't get to watch the entire stream so I don't know if you considered it, but why don't you have a flag for “about to be deleted” that every entity checks against and nulls pointers. Have it visible for all entities for one frame.
1:07:24I didn't get to watch the entire stream so I don't know if you considered it, but why don't you have a flag for “about to be deleted” that every entity checks against and nulls pointers. Have it visible for all entities for one frame.
1:08:27Do you think the todo puzzler will be handled tomorrow, and do you often sleep on decisions like that?
1:08:27Do you think the todo puzzler will be handled tomorrow, and do you often sleep on decisions like that?
1:08:27Do you think the todo puzzler will be handled tomorrow, and do you often sleep on decisions like that?
1:09:31(follow-up) What I was getting to is that we seem to be working towards what's called the Entity Component system where what we call now “high” and “low” are just components alongside anything else we want to add to entities later.
1:09:31(follow-up) What I was getting to is that we seem to be working towards what's called the Entity Component system where what we call now “high” and “low” are just components alongside anything else we want to add to entities later.
1:09:31(follow-up) What I was getting to is that we seem to be working towards what's called the Entity Component system where what we call now “high” and “low” are just components alongside anything else we want to add to entities later.
1:10:38Seeing that the computer handles 1 million entities without lagging, do we really need to worry about the performance hit coming from one extra pointer dereference?
1:10:38Seeing that the computer handles 1 million entities without lagging, do we really need to worry about the performance hit coming from one extra pointer dereference?
1:10:38Seeing that the computer handles 1 million entities without lagging, do we really need to worry about the performance hit coming from one extra pointer dereference?
1:12:30Will entities be able to transfer from one chunk to another?
1:12:30Will entities be able to transfer from one chunk to another?
1:12:30Will entities be able to transfer from one chunk to another?
1:12:52Will we start using the entity system for something other than players/walls soon or will the renderer come first?
1:12:52Will we start using the entity system for something other than players/walls soon or will the renderer come first?
1:12:52Will we start using the entity system for something other than players/walls soon or will the renderer come first?
1:13:58End
🗩
1:13:58End
🗩
1:13:58End
🗩