4:14The Proposal: First, just produce tiles that cover things... but they won't be seamless
4:14The Proposal: First, just produce tiles that cover things... but they won't be seamless
4:14The Proposal: First, just produce tiles that cover things... but they won't be seamless
5:58Address specifying which ground_buffer we need
5:58Address specifying which ground_buffer we need
5:58Address specifying which ground_buffer we need
7:03Stop doing the test fill for GroundBuffer
7:03Stop doing the test fill for GroundBuffer
7:03Stop doing the test fill for GroundBuffer
7:29Iterate over every place the camera can see and request a GroundBuffer
7:29Iterate over every place the camera can see and request a GroundBuffer
7:29Iterate over every place the camera can see and request a GroundBuffer
13:03Blackboard: Offset considerations
13:03Blackboard: Offset considerations
13:03Blackboard: Offset considerations
15:45Consider the size of a Chunk
15:45Consider the size of a Chunk
15:45Consider the size of a Chunk
18:43Brief interlude: See how big those Chunks are
18:43Brief interlude: See how big those Chunks are
18:43Brief interlude: See how big those Chunks are
27:52Try to view the results in-game and step through the code
27:52Try to view the results in-game and step through the code
27:52Try to view the results in-game and step through the code
29:39Multiply ChunkDimInMeters by MetersToPixels
29:39Multiply ChunkDimInMeters by MetersToPixels
29:39Multiply ChunkDimInMeters by MetersToPixels
31:08Make DrawRectangleOutline
31:08Make DrawRectangleOutline
31:08Make DrawRectangleOutline
38:12View the results and figure out what's happening with the Chunk location information
38:12View the results and figure out what's happening with the Chunk location information
38:12View the results and figure out what's happening with the Chunk location information
40:27DrawRectangle does not take a Width and a Height
40:27DrawRectangle does not take a Width and a Height
40:27DrawRectangle does not take a Width and a Height
41:26...and the Y needs flipping
41:26...and the Y needs flipping
41:26...and the Y needs flipping
42:11We're getting there, but the Chunks are drawn too tiny
42:11We're getting there, but the Chunks are drawn too tiny
42:11We're getting there, but the Chunks are drawn too tiny
42:46Assess the size of the Chunks
42:46Assess the size of the Chunks
42:46Assess the size of the Chunks
43:08Try making a Chunk a quarter the size
43:08Try making a Chunk a quarter the size
43:08Try making a Chunk a quarter the size
44:10Set the Chunk size based on the size of a 256*256 block
44:10Set the Chunk size based on the size of a 256*256 block
44:10Set the Chunk size based on the size of a 256*256 block
44:56Make MetersToPixels something integral
44:56Make MetersToPixels something integral
44:56Make MetersToPixels something integral
47:05Assess where TileSideInMeters gets set and consider doing without it
47:05Assess where TileSideInMeters gets set and consider doing without it
47:05Assess where TileSideInMeters gets set and consider doing without it
48:20InitializeWorld without TileSideInMeters and TileDepthInMeters
48:20InitializeWorld without TileSideInMeters and TileDepthInMeters
48:20InitializeWorld without TileSideInMeters and TileDepthInMeters
49:40Pass the ChunkDimInMeters directly in
49:40Pass the ChunkDimInMeters directly in
49:40Pass the ChunkDimInMeters directly in
51:31Introduce TypicalFloorHeight
51:31Introduce TypicalFloorHeight
51:31Introduce TypicalFloorHeight
52:08Set ChunkDimInMeters based on the value of MetersToPixels
52:08Set ChunkDimInMeters based on the value of MetersToPixels
52:08Set ChunkDimInMeters based on the value of MetersToPixels
53:23Derive WorldChunkDimInMeters from GroundBuffer{Width,Height} and TypicalFloorHeight
53:23Derive WorldChunkDimInMeters from GroundBuffer{Width,Height} and TypicalFloorHeight
53:23Derive WorldChunkDimInMeters from GroundBuffer{Width,Height} and TypicalFloorHeight
54:37Set Tile{Side,Depth}InMeters
54:37Set Tile{Side,Depth}InMeters
54:37Set Tile{Side,Depth}InMeters
55:39Do CameraBounds a little differently
55:39Do CameraBounds a little differently
55:39Do CameraBounds a little differently
56:05Introduce SimBounds based on the CameraBounds
56:05Introduce SimBounds based on the CameraBounds
56:05Introduce SimBounds based on the CameraBounds
57:35View the results in-game
57:35View the results in-game
57:35View the results in-game
59:03Request a particular world_chunk to draw
59:03Request a particular world_chunk to draw
59:03Request a particular world_chunk to draw
1:03:45View the results in-game
1:03:45View the results in-game
1:03:45View the results in-game
1:05:10Find out why those chunks aren't getting produced until the Hero walks on them
1:05:10Find out why those chunks aren't getting produced until the Hero walks on them
1:05:10Find out why those chunks aren't getting produced until the Hero walks on them
1:07:01This was working totally perfectly
1:07:01This was working totally perfectly
1:07:01This was working totally perfectly
1:09:27Q: What is Muratori syntax?
1:09:27Q: What is Muratori syntax?
1:09:27Q: What is Muratori syntax?
1:10:32Q: Will the random ground splats be based on some seed so that the ground buffer can be regenerated the same as it was after it gets evicted?
1:10:32Q: Will the random ground splats be based on some seed so that the ground buffer can be regenerated the same as it was after it gets evicted?
1:10:32Q: Will the random ground splats be based on some seed so that the ground buffer can be regenerated the same as it was after it gets evicted?
1:11:13Q: I'm sure it's been asked a bunch, but any tips for what language to start with and how to start?
1:11:13Q: I'm sure it's been asked a bunch, but any tips for what language to start with and how to start?
1:11:13Q: I'm sure it's been asked a bunch, but any tips for what language to start with and how to start?
1:12:56Someone found a Muratori 'for' statement in the wild
1:12:56Someone found a Muratori 'for' statement in the wild
1:12:56Someone found a Muratori 'for' statement in the wild
1:14:35Q: Why are you not passing World as an address when calling functions?
1:14:35Q: Why are you not passing World as an address when calling functions?
1:14:35Q: Why are you not passing World as an address when calling functions?
1:15:01Q: Are you going to implement Z-buffers and texture scaling?
1:15:01Q: Are you going to implement Z-buffers and texture scaling?
1:15:01Q: Are you going to implement Z-buffers and texture scaling?
1:16:08Q: Is there any other possibility for a Z-buffer?
1:16:08Q: Is there any other possibility for a Z-buffer?
1:16:08Q: Is there any other possibility for a Z-buffer?
1:19:11miblo Couldn't you set the SimBounds expansion from the screen dimensions or CameraBoundsInMeters or something? Hope I'm understanding it correctly
🗪
1:19:11miblo Couldn't you set the SimBounds expansion from the screen dimensions or CameraBoundsInMeters or something? Hope I'm understanding it correctly
🗪
1:19:11miblo Couldn't you set the SimBounds expansion from the screen dimensions or CameraBoundsInMeters or something? Hope I'm understanding it correctly
🗪
1:20:30Q: Will you be implementing dynamic lighting or any deferred rendering for lots of real lights, etc?
1:20:30Q: Will you be implementing dynamic lighting or any deferred rendering for lots of real lights, etc?
1:20:30Q: Will you be implementing dynamic lighting or any deferred rendering for lots of real lights, etc?
1:22:45Q: Is there anyone you can suggest for a hardcore render guy?
1:22:45Q: Is there anyone you can suggest for a hardcore render guy?
1:22:45Q: Is there anyone you can suggest for a hardcore render guy?