Handmade Hero»Episode Guide
Basic Sparse Tilemap Storage
?
?

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
2:10Making some rooms
2:10Making some rooms
2:10Making some rooms
3:30Making some doors
3:30Making some doors
3:30Making some doors
5:19Lots of small rooms and Tile ID values
5:19Lots of small rooms and Tile ID values
5:19Lots of small rooms and Tile ID values
8:45Now you can see the limits of the world
8:45Now you can see the limits of the world
8:45Now you can see the limits of the world
9:20Make rooms only in some places - Random Numbers
9:20Make rooms only in some places - Random Numbers
9:20Make rooms only in some places - Random Numbers
11:00Yangtian Li's Talent
11:00Yangtian Li's Talent
11:00Yangtian Li's Talent
11:43Back to random map generation
11:43Back to random map generation
11:43Back to random map generation
27:18Not sparse yet
27:18Not sparse yet
27:18Not sparse yet
33:30Making doors
33:30Making doors
33:30Making doors
41:07Going back to display single room
41:07Going back to display single room
41:07Going back to display single room
44:13Tile map review
44:13Tile map review
44:13Tile map review
48:50Adding the ability to go up and down
48:50Adding the ability to go up and down
48:50Adding the ability to go up and down
56:50Continue the madness and add some stairs
56:50Continue the madness and add some stairs
56:50Continue the madness and add some stairs
1:03:50Up and down
1:03:50Up and down
1:03:50Up and down
1:07:00Q&A
🗩
1:07:00Q&A
🗩
1:07:00Q&A
🗩
1:07:42Would you use DeMorgan's Laws?
1:07:42Would you use DeMorgan's Laws?
1:07:42Would you use DeMorgan's Laws?
1:10:18Do you have emacs commands with Visual Studio?
1:10:18Do you have emacs commands with Visual Studio?
1:10:18Do you have emacs commands with Visual Studio?
1:10:45Have you already decided what PRNG algorithm you're going to use?
1:10:45Have you already decided what PRNG algorithm you're going to use?
1:10:45Have you already decided what PRNG algorithm you're going to use?
1:11:02As you put the tile map in 3D dimensions, could this be related to a voxel octtree algorithm?
1:11:02As you put the tile map in 3D dimensions, could this be related to a voxel octtree algorithm?
1:11:02As you put the tile map in 3D dimensions, could this be related to a voxel octtree algorithm?
1:14:18Is there a reason for the chunk size to be a power of 2?
1:14:18Is there a reason for the chunk size to be a power of 2?
1:14:18Is there a reason for the chunk size to be a power of 2?
1:16:34When do you use #define instead of local variables?
1:16:34When do you use #define instead of local variables?
1:16:34When do you use #define instead of local variables?
1:19:12Why are you using inline in variables?
1:19:12Why are you using inline in variables?
1:19:12Why are you using inline in variables?
1:19:30Why not use bit flags for floors and such?
1:19:30Why not use bit flags for floors and such?
1:19:30Why not use bit flags for floors and such?
1:20:14Why would you prefer an array of tile chunks?
1:20:14Why would you prefer an array of tile chunks?
1:20:14Why would you prefer an array of tile chunks?
1:24:30Are you following Robert C. Martin Rules?
1:24:30Are you following Robert C. Martin Rules?
1:24:30Are you following Robert C. Martin Rules?
1:24:40Are we planning to load/unload tile chunks on demand?
1:24:40Are we planning to load/unload tile chunks on demand?
1:24:40Are we planning to load/unload tile chunks on demand?
1:25:40How much of this code will be used in the final procedural generation?
1:25:40How much of this code will be used in the final procedural generation?
1:25:40How much of this code will be used in the final procedural generation?
1:26:26Are we planning on making the tile map layered?
1:26:26Are we planning on making the tile map layered?
1:26:26Are we planning on making the tile map layered?
1:27:02Microphone question.
1:27:02Microphone question.
1:27:02Microphone question.
1:27:15Why suffix types with 32 such as bool32?
1:27:15Why suffix types with 32 such as bool32?
1:27:15Why suffix types with 32 such as bool32?
1:28:35Will we need compression for basic sparse tilemap storage?
1:28:35Will we need compression for basic sparse tilemap storage?
1:28:35Will we need compression for basic sparse tilemap storage?
1:29:18How computationally expensive is the sparse storage?
1:29:18How computationally expensive is the sparse storage?
1:29:18How computationally expensive is the sparse storage?
1:33:12Should rooms only be created when the player is close to them?
1:33:12Should rooms only be created when the player is close to them?
1:33:12Should rooms only be created when the player is close to them?
1:39:01Are you worried about memory leaks?
1:39:01Are you worried about memory leaks?
1:39:01Are you worried about memory leaks?
1:39:31Are ternaries bad?
1:39:31Are ternaries bad?
1:39:31Are ternaries bad?
1:40:02Why is not possible to save the full map?
1:40:02Why is not possible to save the full map?
1:40:02Why is not possible to save the full map?
1:40:25Conclusion
🗩
1:40:25Conclusion
🗩
1:40:25Conclusion
🗩