0:09Recap and set the stage for the day
0:09Recap and set the stage for the day
0:09Recap and set the stage for the day
1:53Run the game and see where we left off
1:53Run the game and see where we left off
1:53Run the game and see where we left off
4:05handmade_entity.cpp: Toggle off the volume highlighting in UpdateAndRenderEntities()
4:05handmade_entity.cpp: Toggle off the volume highlighting in UpdateAndRenderEntities()
4:05handmade_entity.cpp: Toggle off the volume highlighting in UpdateAndRenderEntities()
4:51Run the game and consider putting good data into the sorting routine so that it can do stable sorts
4:51Run the game and consider putting good data into the sorting routine so that it can do stable sorts
4:51Run the game and consider putting good data into the sorting routine so that it can do stable sorts
5:58Consider how to proceed
5:58Consider how to proceed
5:58Consider how to proceed
7:33Determine to solve our n^2 problem
7:33Determine to solve our n^2 problem
7:33Determine to solve our n^2 problem
9:56Blackboard: The problem with determining which sprites overlap
9:56Blackboard: The problem with determining which sprites overlap
9:56Blackboard: The problem with determining which sprites overlap
12:23Blackboard: Grid Partitioning as a way to mitigate routines proportionate to n^2
12:23Blackboard: Grid Partitioning as a way to mitigate routines proportionate to n^2
12:23Blackboard: Grid Partitioning as a way to mitigate routines proportionate to n^2
14:21Blackboard: Testing for overlap in one dimension
14:21Blackboard: Testing for overlap in one dimension
14:21Blackboard: Testing for overlap in one dimension
17:44Blackboard: How to do this bucketing, or spatial partitioning
17:44Blackboard: How to do this bucketing, or spatial partitioning
17:44Blackboard: How to do this bucketing, or spatial partitioning
20:08Blackboard: Breaking up each entity
20:08Blackboard: Breaking up each entity
20:08Blackboard: Breaking up each entity
20:47Blackboard: Creating a more hierarchical notion of what the space looks like
20:47Blackboard: Creating a more hierarchical notion of what the space looks like
20:47Blackboard: Creating a more hierarchical notion of what the space looks like
24:07Blackboard: Quadtree, KD Tree and BSP Tree
24:07Blackboard: Quadtree, KD Tree and BSP Tree
24:07Blackboard: Quadtree, KD Tree and BSP Tree
26:50Blackboard: Favouring a very simple grid bucketing scheme
26:50Blackboard: Favouring a very simple grid bucketing scheme
26:50Blackboard: Favouring a very simple grid bucketing scheme
29:48Run the game and consider how expensive the BuildSpriteGraph() is
29:48Run the game and consider how expensive the BuildSpriteGraph() is
29:48Run the game and consider how expensive the BuildSpriteGraph() is
32:10Start with something fairly stupidβ
32:10Start with something fairly stupidβ
32:10Start with something fairly stupidβ
32:25handmade_render.cpp: Introduce sort_grid_entry struct and make BuildSpriteGraph() record if a sprite occupies a grid square
32:25handmade_render.cpp: Introduce sort_grid_entry struct and make BuildSpriteGraph() record if a sprite occupies a grid square
32:25handmade_render.cpp: Introduce sort_grid_entry struct and make BuildSpriteGraph() record if a sprite occupies a grid square
37:58handmade_render.cpp: Consider some immediate possibilities for optimisation
37:58handmade_render.cpp: Consider some immediate possibilities for optimisation
37:58handmade_render.cpp: Consider some immediate possibilities for optimisation
39:59handmade_render.cpp: Consider making RecursiveFrontToBack() not create the edges of the graph
39:59handmade_render.cpp: Consider making RecursiveFrontToBack() not create the edges of the graph
39:59handmade_render.cpp: Consider making RecursiveFrontToBack() not create the edges of the graph
42:25handmade_render.cpp: Introduce GetGridSpan()
42:25handmade_render.cpp: Introduce GetGridSpan()
42:25handmade_render.cpp: Introduce GetGridSpan()
47:19Blackboard: Adding edges from the perspective of grid testing
47:19Blackboard: Adding edges from the perspective of grid testing
47:19Blackboard: Adding edges from the perspective of grid testing
50:35handmade_render.cpp: Make GetGridSpan() bin the incoming screen area versus the total screen area
50:35handmade_render.cpp: Make GetGridSpan() bin the incoming screen area versus the total screen area
50:35handmade_render.cpp: Make GetGridSpan() bin the incoming screen area versus the total screen area
53:38handmade_render.cpp: Make BuildSpriteGraph() compute the InvCellDim
53:38handmade_render.cpp: Make BuildSpriteGraph() compute the InvCellDim
53:38handmade_render.cpp: Make BuildSpriteGraph() compute the InvCellDim
56:24handmade_render.cpp: Make GetGridSpan() work a little differently
56:24handmade_render.cpp: Make GetGridSpan() work a little differently
56:24handmade_render.cpp: Make GetGridSpan() work a little differently
59:59Run the game and note that we are now bucketing
59:59Run the game and note that we are now bucketing
59:59Run the game and note that we are now bucketing
1:01:26themikedx Using the grid system, do you think that would be good to use for pixel perfect collision?
🗪
1:01:26themikedx Using the grid system, do you think that would be good to use for pixel perfect collision?
🗪
1:01:26themikedx Using the grid system, do you think that would be good to use for pixel perfect collision?
🗪
1:01:51Blackboard: Determining whether rectangles and then possibly pixels intersect
1:01:51Blackboard: Determining whether rectangles and then possibly pixels intersect
1:01:51Blackboard: Determining whether rectangles and then possibly pixels intersect
1:03:54thesizik Why not have the debug overlay render to a separate layer, and have it draw in the order submitted instead of wasting time sorting?
🗪
1:03:54thesizik Why not have the debug overlay render to a separate layer, and have it draw in the order submitted instead of wasting time sorting?
🗪
1:03:54thesizik Why not have the debug overlay render to a separate layer, and have it draw in the order submitted instead of wasting time sorting?
🗪
1:05:40thesizik I think a sort-free mode would work well with the cutscene as well
🗪
1:05:40thesizik I think a sort-free mode would work well with the cutscene as well
🗪
1:05:40thesizik I think a sort-free mode would work well with the cutscene as well
🗪
1:07:10roam00010011 Missed the stream again, why do you not use the summed rectangle of the hero sprites for draw sorting, and draw the individual parts in a set order?
🗪
1:07:10roam00010011 Missed the stream again, why do you not use the summed rectangle of the hero sprites for draw sorting, and draw the individual parts in a set order?
🗪
1:07:10roam00010011 Missed the stream again, why do you not use the summed rectangle of the hero sprites for draw sorting, and draw the individual parts in a set order?
🗪
1:08:25fyoucon Something exciting happening over at Molly Rocket?
🗪
1:08:25fyoucon Something exciting happening over at Molly Rocket?
🗪
1:08:25fyoucon Something exciting happening over at Molly Rocket?
🗪
1:08:39dan020 Can using C programming optimize the game more than C++?
🗪
1:08:39dan020 Can using C programming optimize the game more than C++?
🗪
1:08:39dan020 Can using C programming optimize the game more than C++?
🗪