[video output=day084 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Scrolling Ground Buffer" vod_platform=youtube id=U5AAAaiMlYQ annotator=dspecht annotator=Miblo] [1:36][Damage Assessment] [2:37][We are trying to figure out how to finish off our world construction] [4:23][Think about how to handle the ground] [5:23][Look at how we're currently specifying the ground] [6:49][Blackboard: Our system for defining the ground] [10:36][Blackboard: A potential plan and guiding principals of engine architecture design] [12:51][Blackboard: How to store the splat list] [14:40][Blackboard: Figuring out the shape of the ground] [17:24][Blackboard: Considering multiple Z-levels / depth] [25:20][Blackboard: Empty space things will carve out regions like that] [27:19][Blackboard: What are the splats for the region?] [28:49][Try to make the ground plane scroll infinitely in all directions] [29:39][Enlarge GroundBuffer, introducing MaximumZScale and GroundOverscan variables] [35:25][Partition the GroundBuffer so that we can scroll it around] [36:04][Blackboard: How the GroundBuffer is currently positioned] [38:01][Locate GroundBufferP relative to CameraP] [43:11][Plan to snap the GroundBuffer towards the camera's direction whenever it runs out of pixel coverage] [43:33][Turn off the trees] [44:48][Turn off Z doors] [45:32][Turn on the trees] [46:00][Make the ground constantly generate itself] [47:08][Blackboard: Tiling considerations] [48:38][Turn DrawTestGround into DrawGroundChunk] [54:28][View the results in-game] [55:08][Q&A][:speech] [55:58][Q: Why don't we fill the entire game window instead of having all that black space?] [58:29][Q: Are some of these issues with dealing with display on multiple levels stemming from the lack of a Z-coordinate for the camera to just do a lerp on?] [1:01:03][Q: If no one's asking related questions, could you ballpark a time-frame when adding a font and text rendering system will become useful or necessary?] [1:03:02][On learning C++] [1:05:10][Q: You mentioned offloading ground drawing to a separate thread to prevent hitches. Is it possible to offload the drawing work over multiple frames, and would there be any benefits over either method?] [1:06:30][Q: How much of a memory footprint is your game using already? Certainly it won't be large, but I'm more meaning how many different containers are there?] [1:06:53][Q: Procedural generation of 2D graphics: is there some mainstream math for that?] [1:07:38][Q: What is your programming experience as before Handmade Hero?] [1:08:42][Q: How many different classes are you having to use already?] [1:10:30][Q: Is there a simple way to explain pointers and references in C++?] [1:16:30][Closing remarks][:speech] [/video]