Handmade Hero»Episode Guide
Debugging Canonical Coordinates
?
?

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:20Recap
1:20Recap
1:20Recap
2:05Wraparound problem
2:05Wraparound problem
2:05Wraparound problem
7:25Thinking about the problem
7:25Thinking about the problem
7:25Thinking about the problem
15:09Changing the collision detection loop
15:09Changing the collision detection loop
15:09Changing the collision detection loop
25:45Why is X changing?
25:45Why is X changing?
25:45Why is X changing?
28:45Debugging all the things
28:45Debugging all the things
28:45Debugging all the things
31:20Fixed! The problem with RecanonicalizePosition
31:20Fixed! The problem with RecanonicalizePosition
31:20Fixed! The problem with RecanonicalizePosition
33:30Testing the new wraparound solution
33:30Testing the new wraparound solution
33:30Testing the new wraparound solution
37:30Fixing camera position
37:30Fixing camera position
37:30Fixing camera position
38:50Describing the camera position problem
38:50Describing the camera position problem
38:50Describing the camera position problem
42:40Changing topography from toroidal to disc
42:40Changing topography from toroidal to disc
42:40Changing topography from toroidal to disc
45:50Making the collision detection better using areas instead of points
45:50Making the collision detection better using areas instead of points
45:50Making the collision detection better using areas instead of points
48:00Fixing canonicalization
48:00Fixing canonicalization
48:00Fixing canonicalization
53:14Talking about the future of the tile map
53:14Talking about the future of the tile map
53:14Talking about the future of the tile map
56:50Q&A
🗩
56:50Q&A
🗩
56:50Q&A
🗩
58:09Do you use diagrams a lot in your actual work?
58:09Do you use diagrams a lot in your actual work?
58:09Do you use diagrams a lot in your actual work?
58:26What do you recommend for learning c++?
58:26What do you recommend for learning c++?
58:26What do you recommend for learning c++?
58:45Try setting handmade hero start at the midpoint between tiles
58:45Try setting handmade hero start at the midpoint between tiles
58:45Try setting handmade hero start at the midpoint between tiles
1:00:14What are your initial thoughts on DX12?
1:00:14What are your initial thoughts on DX12?
1:00:14What are your initial thoughts on DX12?
1:00:56Why is your code over 900 lines?
1:00:56Why is your code over 900 lines?
1:00:56Why is your code over 900 lines?
1:01:13How about using signed values for the top coordinates?
1:01:13How about using signed values for the top coordinates?
1:01:13How about using signed values for the top coordinates?
1:01:40Stream went offline
1:01:40Stream went offline
1:01:40Stream went offline
1:01:58Why don't you like private?
1:01:58Why don't you like private?
1:01:58Why don't you like private?
1:02:34Is there any background information you can give us new viewers?
1:02:34Is there any background information you can give us new viewers?
1:02:34Is there any background information you can give us new viewers?
1:02:59Do you see any complications broadcasting sound from float space in the next room?
1:02:59Do you see any complications broadcasting sound from float space in the next room?
1:02:59Do you see any complications broadcasting sound from float space in the next room?
1:05:23What is your preferred scripting language?
1:05:23What is your preferred scripting language?
1:05:23What is your preferred scripting language?
1:05:37I'm curious if you have to do with memory misalignment?
1:05:37I'm curious if you have to do with memory misalignment?
1:05:37I'm curious if you have to do with memory misalignment?
1:06:08Any reason you're making it somewhat more complicated than it should?
1:06:08Any reason you're making it somewhat more complicated than it should?
1:06:08Any reason you're making it somewhat more complicated than it should?
1:07:10How are you supposed to draw the game in Windows 10 without a HoloLens?
1:07:10How are you supposed to draw the game in Windows 10 without a HoloLens?
1:07:10How are you supposed to draw the game in Windows 10 without a HoloLens?
1:08:05Is the system rendering offscreen objects in the background?
1:08:05Is the system rendering offscreen objects in the background?
1:08:05Is the system rendering offscreen objects in the background?
1:08:31The struct name abc initialisation looks odd
1:08:31The struct name abc initialisation looks odd
1:08:31The struct name abc initialisation looks odd
1:09:15What's the estimated date for the release of Handmade Hero?
1:09:15What's the estimated date for the release of Handmade Hero?
1:09:15What's the estimated date for the release of Handmade Hero?
1:09:36Have you ever pair programmed?
1:09:36Have you ever pair programmed?
1:09:36Have you ever pair programmed?
1:09:47Do you go hard in the pain?
1:09:47Do you go hard in the pain?
1:09:47Do you go hard in the pain?
1:10:15Could you remove the old RenderWeirdGradient()?
1:10:15Could you remove the old RenderWeirdGradient()?
1:10:15Could you remove the old RenderWeirdGradient()?
1:10:30Why is there an issue with wrapping?
1:10:30Why is there an issue with wrapping?
1:10:30Why is there an issue with wrapping?
1:11:39Where did you get your education at?
1:11:39Where did you get your education at?
1:11:39Where did you get your education at?
1:11:48Does C handle pointers any different than C++?
1:11:48Does C handle pointers any different than C++?
1:11:48Does C handle pointers any different than C++?
1:12:15Do you use version control?
1:12:15Do you use version control?
1:12:15Do you use version control?
1:12:39Why not change the tilewidths and heights to 8x16 to wrap the camera with power of two?
1:12:39Why not change the tilewidths and heights to 8x16 to wrap the camera with power of two?
1:12:39Why not change the tilewidths and heights to 8x16 to wrap the camera with power of two?
1:13:55Can you explain how you use Minkowski addition in the collision?
1:13:55Can you explain how you use Minkowski addition in the collision?
1:13:55Can you explain how you use Minkowski addition in the collision?
1:15:19Are you eventually going to add tile entities?
1:15:19Are you eventually going to add tile entities?
1:15:19Are you eventually going to add tile entities?
1:16:15How much focus are you going to give to tile entities?
1:16:15How much focus are you going to give to tile entities?
1:16:15How much focus are you going to give to tile entities?
1:17:15How tall are you?
1:17:15How tall are you?
1:17:15How tall are you?
1:17:33What if you translate a 9x9 tilegrid to the player as origin before doing any world map?
1:17:33What if you translate a 9x9 tilegrid to the player as origin before doing any world map?
1:17:33What if you translate a 9x9 tilegrid to the player as origin before doing any world map?
1:18:08What do you use to draw?
1:18:08What do you use to draw?
1:18:08What do you use to draw?
1:18:49For wrapping you could just check if the new value is between uint_max and the nearest multiple of 9x17
1:18:49For wrapping you could just check if the new value is between uint_max and the nearest multiple of 9x17
1:18:49For wrapping you could just check if the new value is between uint_max and the nearest multiple of 9x17
1:19:11Can you explain what float-space is exactly
1:19:11Can you explain what float-space is exactly
1:19:11Can you explain what float-space is exactly
1:25:18Will you create a map editor?
1:25:18Will you create a map editor?
1:25:18Will you create a map editor?
1:25:34Seems like you could use bitfields or union to combine the different coordinates?
1:25:34Seems like you could use bitfields or union to combine the different coordinates?
1:25:34Seems like you could use bitfields or union to combine the different coordinates?
1:25:55What's the best way to learn how to code?
1:25:55What's the best way to learn how to code?
1:25:55What's the best way to learn how to code?
1:26:41I thought floats and doubles are the same speed in the FPU?
1:26:41I thought floats and doubles are the same speed in the FPU?
1:26:41I thought floats and doubles are the same speed in the FPU?