Handmade Hero»Episode Guide
Tile Map Memory
?
?

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
4:38The more you know
4:38The more you know
4:38The more you know
8:25Time to program
8:25Time to program
8:25Time to program
9:30Adding smooth scrolling
9:30Adding smooth scrolling
9:30Adding smooth scrolling
12:22Scrolling works - next test code from yesterday
12:22Scrolling works - next test code from yesterday
12:22Scrolling works - next test code from yesterday
14:00Change position offset to be from the tile center
14:00Change position offset to be from the tile center
14:00Change position offset to be from the tile center
17:15Calculating new tile from center offset (discussion)
17:15Calculating new tile from center offset (discussion)
17:15Calculating new tile from center offset (discussion)
22:10Implement tile offset from center
22:10Implement tile offset from center
22:10Implement tile offset from center
28:10Player moves faster for testing
28:10Player moves faster for testing
28:10Player moves faster for testing
29:53Make a larger world
29:53Make a larger world
29:53Make a larger world
36:40Start creating a new tile map procedurally
36:40Start creating a new tile map procedurally
36:40Start creating a new tile map procedurally
43:30Persistent game storage
43:30Persistent game storage
43:30Persistent game storage
49:50Size type
49:50Size type
49:50Size type
1:04:30Going for it
1:04:30Going for it
1:04:30Going for it
1:09:10Fate
1:09:10Fate
1:09:10Fate
1:11:00Summary of the day
1:11:00Summary of the day
1:11:00Summary of the day
1:14:40Q&A
🗩
1:14:40Q&A
🗩
1:14:40Q&A
🗩
1:16:05Garlandobloom says hi.
1:16:05Garlandobloom says hi.
1:16:05Garlandobloom says hi.
1:16:18Can you explain the motivation behind controlling the page granularity.
1:16:18Can you explain the motivation behind controlling the page granularity.
1:16:18Can you explain the motivation behind controlling the page granularity.
1:22:35Is the memory arena for more temporary objects than we're storing in the game state directly?
1:22:35Is the memory arena for more temporary objects than we're storing in the game state directly?
1:22:35Is the memory arena for more temporary objects than we're storing in the game state directly?
1:25:30Why not have smooth scrolling?
1:25:30Why not have smooth scrolling?
1:25:30Why not have smooth scrolling?
1:26:20We already have the -Oi compiler flag set.
1:26:20We already have the -Oi compiler flag set.
1:26:20We already have the -Oi compiler flag set.
1:29:32Does using the memory arena still allow you to hotload your code?
1:29:32Does using the memory arena still allow you to hotload your code?
1:29:32Does using the memory arena still allow you to hotload your code?
1:31:31Will we be implementing our own trig functions?
1:31:31Will we be implementing our own trig functions?
1:31:31Will we be implementing our own trig functions?
1:32:00Will there be enough memory to store the entire sparse tile map?
1:32:00Will there be enough memory to store the entire sparse tile map?
1:32:00Will there be enough memory to store the entire sparse tile map?
1:32:43Why not just allocate a large 1D array?
1:32:43Why not just allocate a large 1D array?
1:32:43Why not just allocate a large 1D array?
1:35:40You're using a lot of pointers here. (Rant)
1:35:40You're using a lot of pointers here. (Rant)
1:35:40You're using a lot of pointers here. (Rant)
1:39:33Will the memory arena be aligning the assigned memory?
1:39:33Will the memory arena be aligning the assigned memory?
1:39:33Will the memory arena be aligning the assigned memory?
1:39:52Don't forget to disable -O2 again.
1:39:52Don't forget to disable -O2 again.
1:39:52Don't forget to disable -O2 again.
1:40:05Comment on calling sin/cos for x86
1:40:05Comment on calling sin/cos for x86
1:40:05Comment on calling sin/cos for x86
1:40:57Why don't you use lookup tables for sin/cos (Rant)
1:40:57Why don't you use lookup tables for sin/cos (Rant)
1:40:57Why don't you use lookup tables for sin/cos (Rant)
1:42:42How can you say you don't need to free up memory?
1:42:42How can you say you don't need to free up memory?
1:42:42How can you say you don't need to free up memory?
1:43:28Is memory access slower than MOV?
1:43:28Is memory access slower than MOV?
1:43:28Is memory access slower than MOV?
1:44:45Why are tiles used? What is the real benefit of tile mapping?
1:44:45Why are tiles used? What is the real benefit of tile mapping?
1:44:45Why are tiles used? What is the real benefit of tile mapping?
1:46:02Remark on x87
1:46:02Remark on x87
1:46:02Remark on x87
1:46:32Conclusion
🗩
1:46:32Conclusion
🗩
1:46:32Conclusion
🗩