[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]