[video output=day033 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Virtualized Tile Maps" vod_platform=youtube id=iHSAOSYOt9E annotator=jacebennett annotator=theinternetftw]
[2:03][Review of position representation]
[2:35][Today's agenda]
[3:55][world_position and changing y-axis]
[12:00][the problem with floating point for positions]
[16:38][solution: integers and floats]
[19:33][sidebar: scrolling the screen works fine too]
[20:07][big idea: tile chunks and sparse storage]
[26:33][implementing our new coordinate system]
[30:56][tangent: toroidal topology]
[35:55][back to implementation of new coordinates]
[37:18][extracting chunk coordinates from a world_position]
[44:05][implementing tile chunks]
[50:21][Setting up test data]
[50:50][emacs keyboard macro roulette]
[54:06][rendering from chunks using new coordinate system]
[54:47][super piggy!]
[58:45][debugging commences]
[1:00:48][success]
[1:01:20][greed: simple scrolling]
[1:07:39][success again... finally]
[1:08:24][Q&A][:speech]
[1:09:06][Why not compute the chunk mask from the chunk shift?]
[1:14:04][How did you generate the map? (A: he hasn't yet, it was typed in)]
[1:14:26][How will you do a third dimension in the new coordinate system?]
[1:16:04][How will you handle screen boundaries with the new chunk size?]
[1:17:06][Is a chunk a quarter of our test map?]
[1:17:38][How about operator overloading?]
[1:18:18][Shouldn't we be thinking about networking and threading from the start?]
[1:19:35][What does 0xFFFFFFFF represent?]
[1:20:42][I'm surprised by your choice to flip the y-axis. Does it really make the math that much easier?]
[1:22:57][I've never used hex literals, I use UINT32_MAX]
[1:23:57][Why not program at a higher level?]
[1:26:09][Why introduce meters?]
[1:27:03][Will you be checking code complexity, introducing smaller functions?]
[1:27:43][Did you set up a Kickstarter?]
[1:28:08][Wouldn't it be nice if tiles were 1.0m instead of 1.4m?]
[1:28:53][Closing thoughts][:speech]
[/video]
