[, < / ], >Jump to previous / next episode W, K, P / S, J, NJump to previous / next timestamp t / TToggle theatre / SUPERtheatre mode VRevert filter to original stateYSelect link (requires manual Ctrl-c)
Menu toggling
qQuotesrReferencesfFilteryLinkcCredits
In-Menu and Index Controls
a
w s
d
hjkl
←
↑ ↓
→
EscClose menu / unfocus timestamp
Quotes and References Menus and Index
EnterJump to timestamp
Quotes, References and Credits Menus
oOpen URL (in new tab)
Filter Menu
x, SpaceToggle category and focus next X, ShiftSpaceToggle category and focus previous vInvert topics / media as per focus
4:11Reacquaint ourselves with our rendering pipeline
📖
4:11Reacquaint ourselves with our rendering pipeline
📖
4:11Reacquaint ourselves with our rendering pipeline
📖
11:14Consider doing self-illumination through the ACES film curve vs directly (like the cutscene)
📖
11:14Consider doing self-illumination through the ACES film curve vs directly (like the cutscene)
📖
11:14Consider doing self-illumination through the ACES film curve vs directly (like the cutscene)
📖
14:50Reacquaint ourselves with the source of FragEmission
📖
14:50Reacquaint ourselves with the source of FragEmission
📖
14:50Reacquaint ourselves with the source of FragEmission
📖
15:57Introduce the notion of FragTone in the vertex and fragment shaders in CompileZBiasProgram()
15:57Introduce the notion of FragTone in the vertex and fragment shaders in CompileZBiasProgram()
15:57Introduce the notion of FragTone in the vertex and fragment shaders in CompileZBiasProgram()
17:02Run successfully
🏃
17:02Run successfully
🏃
17:02Run successfully
🏃
17:16Indent the fragment shader
17:16Indent the fragment shader
17:16Indent the fragment shader
18:08Yearn for lunch
🗩
18:08Yearn for lunch
🗩
18:08Yearn for lunch
🗩
18:58Indent the fragment shader (cont.)
18:58Indent the fragment shader (cont.)
18:58Indent the fragment shader (cont.)
21:39dedknd Not sure if this is part of Buddhist teaching
🗪
21:39dedknd Not sure if this is part of Buddhist teaching
🗪
21:39dedknd Not sure if this is part of Buddhist teaching
🗪
22:23ryanfleury Don't tell me this is about the 4coder layer
🗪
22:23ryanfleury Don't tell me this is about the 4coder layer
🗪
22:23ryanfleury Don't tell me this is about the 4coder layer
🗪
23:13Reacquaint ourselves with the fog, emission, etc. "tuning knobs" in the fragment shader
📖
23:13Reacquaint ourselves with the fog, emission, etc. "tuning knobs" in the fragment shader
📖
23:13Reacquaint ourselves with the fog, emission, etc. "tuning knobs" in the fragment shader
📖
25:43Separate out the fogging and ACES filtered rendering knobs
25:43Separate out the fogging and ACES filtered rendering knobs
25:43Separate out the fogging and ACES filtered rendering knobs
28:22The game is not tone-mapped, and the cutscene looks right
🏃
28:22The game is not tone-mapped, and the cutscene looks right
🏃
28:22The game is not tone-mapped, and the cutscene looks right
🏃
28:53Premiere the cutscene narration
🏃
28:53Premiere the cutscene narration
🏃
28:53Premiere the cutscene narration
🏃
32:09The cutscene is still working
🏃
32:09The cutscene is still working
🏃
32:09The cutscene is still working
🏃
32:32chillagen No way, this game has TF2 hats?
🗪
32:32chillagen No way, this game has TF2 hats?
🗪
32:32chillagen No way, this game has TF2 hats?
🗪
32:58Thank you for the sub gifting
🗩
32:58Thank you for the sub gifting
🗩
32:58Thank you for the sub gifting
🗩
33:56redunlocked Your posh British accent isn't terrible
🗪
33:56redunlocked Your posh British accent isn't terrible
🗪
33:56redunlocked Your posh British accent isn't terrible
🗪
34:42Start to enable PushQuad() to set the Tone renaming Reserved to Tone in textured_quad
34:42Start to enable PushQuad() to set the Tone renaming Reserved to Tone in textured_quad
34:42Start to enable PushQuad() to set the Tone renaming Reserved to Tone in textured_quad
37:54ryanfleury A really sweet 4coder layer feature would be to log per-line edits and correlate them with timestamps in a session
🗪
37:54ryanfleury A really sweet 4coder layer feature would be to log per-line edits and correlate them with timestamps in a session
🗪
37:54ryanfleury A really sweet 4coder layer feature would be to log per-line edits and correlate them with timestamps in a session
🗪
38:08Plug AndrewJDR's annotated Handmade Hero source code linking to the indexed episode guide1
38:08Plug AndrewJDR's annotated Handmade Hero source code linking to the indexed episode guide1
38:08Plug AndrewJDR's annotated Handmade Hero source code linking to the indexed episode guide1
39:08Enable PushQuad() to set Tone to a VertTone, which is either 255 or, if lighting is off, 0
39:08Enable PushQuad() to set Tone to a VertTone, which is either 255 or, if lighting is off, 0
39:08Enable PushQuad() to set Tone to a VertTone, which is either 255 or, if lighting is off, 0
41:29The game remains not tone-mapped
🏃
41:29The game remains not tone-mapped
🏃
41:29The game remains not tone-mapped
🏃
41:40Specify a Tone vertex array in UseProgramEnd() and UseProgramBegin()
41:40Specify a Tone vertex array in UseProgramEnd() and UseProgramBegin()
41:40Specify a Tone vertex array in UseProgramEnd() and UseProgramBegin()
44:27botondar As far as I know, on modern GPUs the input assembler is just shader code, so you can just fetch them manually (if I understood you correctly)
🗪
44:27botondar As far as I know, on modern GPUs the input assembler is just shader code, so you can just fetch them manually (if I understood you correctly)
🗪
44:27botondar As far as I know, on modern GPUs the input assembler is just shader code, so you can just fetch them manually (if I understood you correctly)
🗪
45:27brian_nevec You can in D3D11 with StructuredBuffer
🗪
45:27brian_nevec You can in D3D11 with StructuredBuffer
🗪
45:27brian_nevec You can in D3D11 with StructuredBuffer
🗪
45:46Associate VertTone in OpenGLCreateProgram()
45:46Associate VertTone in OpenGLCreateProgram()
45:46Associate VertTone in OpenGLCreateProgram()
46:18brian_nevec Yeah, you can use the vertexid to index the buffer
🗪
46:18brian_nevec Yeah, you can use the vertexid to index the buffer
🗪
46:18brian_nevec Yeah, you can use the vertexid to index the buffer
🗪
47:00Our tone-mapping is back, the debug overlay is now correctly unlit and the cutscene still looks right
🏃
47:00Our tone-mapping is back, the debug overlay is now correctly unlit and the cutscene still looks right
🏃
47:00Our tone-mapping is back, the debug overlay is now correctly unlit and the cutscene still looks right
🏃
47:35Determine to add self-illuminating blocks
🗩
47:35Determine to add self-illuminating blocks
🗩
47:35Determine to add self-illuminating blocks
🗩
48:23We've have it all
🗩
48:23We've have it all
🗩
48:23We've have it all
🗩
49:32ryanfleury This DLSR autofocus is in... UNACCEPTABLE CONDITION
🗪
49:32ryanfleury This DLSR autofocus is in... UNACCEPTABLE CONDITION
🗪
49:32ryanfleury This DLSR autofocus is in... UNACCEPTABLE CONDITION
🗪
50:28Change CreateWorld() to connect the dungeon entrance room to the north of (rather than below) the forest entrance
50:28Change CreateWorld() to connect the dungeon entrance room to the north of (rather than below) the forest entrance
50:28Change CreateWorld() to connect the dungeon entrance room to the north of (rather than below) the forest entrance
51:24Traverse to the outdoors, where the ground cover is not lit
🏃
51:24Traverse to the outdoors, where the ground cover is not lit
🏃
51:24Traverse to the outdoors, where the ground cover is not lit
🏃
52:13Reacquaint ourselves with the ground cover drawing code
52:13Reacquaint ourselves with the ground cover drawing code
52:13Reacquaint ourselves with the ground cover drawing code
52:58Make VertexOut() set the Tone to 255 (i.e. tone-map and light it)
52:58Make VertexOut() set the Tone to 255 (i.e. tone-map and light it)
52:58Make VertexOut() set the Tone to 255 (i.e. tone-map and light it)
53:05Our ground cover is lit again
🏃
53:05Our ground cover is lit again
🏃
53:05Our ground cover is lit again
🏃
53:14ponkkiz It fixed the blocky lighting bug?
🗪
53:14ponkkiz It fixed the blocky lighting bug?
🗪
53:14ponkkiz It fixed the blocky lighting bug?
🗪
53:24Traverse to the dungeon
🏃
53:24Traverse to the dungeon
🏃
53:24Traverse to the dungeon
🏃
54:22Volunteer voice acting services to "Downward Dungeon"
🗩
54:22Volunteer voice acting services to "Downward Dungeon"
🗩
54:22Volunteer voice acting services to "Downward Dungeon"
🗩
56:52Sample reel for "Downward Dungeon"
🗩
56:52Sample reel for "Downward Dungeon"
🗩
56:52Sample reel for "Downward Dungeon"
🗩
57:14Workshop some dungeon-based game titles
🗩
57:14Workshop some dungeon-based game titles
🗩
57:14Workshop some dungeon-based game titles
🗩
58:50wakeuphate There should be a game about travelling to the dungeon but not actually doing the dungeon
🗪
58:50wakeuphate There should be a game about travelling to the dungeon but not actually doing the dungeon
🗪
58:50wakeuphate There should be a game about travelling to the dungeon but not actually doing the dungeon
🗪
59:43Workshop some dungeon-based game titles (cont.)
🗩
59:43Workshop some dungeon-based game titles (cont.)
🗩
59:43Workshop some dungeon-based game titles (cont.)
🗩
1:00:17vtlmks "Dude, Where's the Dungeon?"
🗪
1:00:17vtlmks "Dude, Where's the Dungeon?"
🗪
1:00:17vtlmks "Dude, Where's the Dungeon?"
🗪
1:00:34technicbeam I wrote a game once called "Walking Simulator" - it was a text adventure where all you did was walk different directions and 'look'
🗪
1:00:34technicbeam I wrote a game once called "Walking Simulator" - it was a text adventure where all you did was walk different directions and 'look'
🗪
1:00:34technicbeam I wrote a game once called "Walking Simulator" - it was a text adventure where all you did was walk different directions and 'look'
🗪
1:00:43Pitch "Dungeon?" / "Imagine Dragons"
🗩
1:00:43Pitch "Dungeon?" / "Imagine Dragons"
🗩
1:00:43Pitch "Dungeon?" / "Imagine Dragons"
🗩
1:03:09kindly_sloth You could make a Tycoon-style game where you design such a town
🗪
1:03:09kindly_sloth You could make a Tycoon-style game where you design such a town
🗪
1:03:09kindly_sloth You could make a Tycoon-style game where you design such a town
🗪
1:04:37sneakybob_wot "Dave Made a Dungeon"
🗪
1:04:37sneakybob_wot "Dave Made a Dungeon"
🗪
1:04:37sneakybob_wot "Dave Made a Dungeon"
🗪
1:05:01Toggle on TileSwitchPattern in CreateDungeon()
1:05:01Toggle on TileSwitchPattern in CreateDungeon()
1:05:01Toggle on TileSwitchPattern in CreateDungeon()
1:06:08spacenaming "My First Dungeon", and make the game all bright red, yellow and blue
🗪
1:06:08spacenaming "My First Dungeon", and make the game all bright red, yellow and blue
🗪
1:06:08spacenaming "My First Dungeon", and make the game all bright red, yellow and blue
🗪
1:06:14Traverse to the dungeon's tile switches
🏃
1:06:14Traverse to the dungeon's tile switches
🏃
1:06:14Traverse to the dungeon's tile switches
🏃
1:07:10Reacquaint ourselves with the tile switch lighting code
📖
1:07:10Reacquaint ourselves with the tile switch lighting code
📖
1:07:10Reacquaint ourselves with the tile switch lighting code
📖
1:07:59Make ExecuteBrainSwitches() decrease the light's brightness from 10 to 1
1:07:59Make ExecuteBrainSwitches() decrease the light's brightness from 10 to 1
1:07:59Make ExecuteBrainSwitches() decrease the light's brightness from 10 to 1
1:08:17Consider making hot reloading work with the procedural generation
📖
1:08:17Consider making hot reloading work with the procedural generation
📖
1:08:17Consider making hot reloading work with the procedural generation
📖
1:08:48Make CreateWorld() place the player in the dungeon
1:08:48Make CreateWorld() place the player in the dungeon
1:08:48Make CreateWorld() place the player in the dungeon
1:09:10Start in the dungeon and toggle the tile switches
🏃
1:09:10Start in the dungeon and toggle the tile switches
🏃
1:09:10Start in the dungeon and toggle the tile switches
🏃
1:09:42Consider not adding a light source, but just setting the emission of the cube
📖
1:09:42Consider not adding a light source, but just setting the emission of the cube
📖
1:09:42Consider not adding a light source, but just setting the emission of the cube
📖
1:10:28e11m Is the light never going away?
🗪
1:10:28e11m Is the light never going away?
🗪
1:10:28e11m Is the light never going away?
🗪
1:10:34Consider removing the AddPieceLight() call from TileSwitchPattern()
📖
1:10:34Consider removing the AddPieceLight() call from TileSwitchPattern()
📖
1:10:34Consider removing the AddPieceLight() call from TileSwitchPattern()
📖
1:10:57Imagine the "Downward Dungeon" theme song
🗩
1:10:57Imagine the "Downward Dungeon" theme song
🗩
1:10:57Imagine the "Downward Dungeon" theme song
🗩
1:11:58Prevent TileSwitchPattern from calling AddPieceLight()
1:11:58Prevent TileSwitchPattern from calling AddPieceLight()
1:11:58Prevent TileSwitchPattern from calling AddPieceLight()
1:12:19The tiles turn on but do not light up
🏃
1:12:19The tiles turn on but do not light up
🏃
1:12:19The tiles turn on but do not light up
🏃
1:12:31Prevent AddPlayer() from adding a head light, and make the glove's light less green
1:12:31Prevent AddPlayer() from adding a head light, and make the glove's light less green
1:12:31Prevent AddPlayer() from adding a head light, and make the glove's light less green
1:13:17The glove light is a bit too bright
🏃
1:13:17The glove light is a bit too bright
🏃
1:13:17The glove light is a bit too bright
🏃
1:13:21Make AddPlayer() dim the (commented out) head light from 0.1 to 0.05
1:13:21Make AddPlayer() dim the (commented out) head light from 0.1 to 0.05
1:13:21Make AddPlayer() dim the (commented out) head light from 0.1 to 0.05
1:13:29The glove light remains too bright
🏃
1:13:29The glove light remains too bright
🏃
1:13:29The glove light remains too bright
🏃
1:13:35Make AddPlayer() dim the glove light from 0.1 to 0.025
1:13:35Make AddPlayer() dim the glove light from 0.1 to 0.025
1:13:35Make AddPlayer() dim the glove light from 0.1 to 0.025
1:13:43Our glove's glow is more like it
🏃
1:13:43Our glove's glow is more like it
🏃
1:13:43Our glove's glow is more like it
🏃
1:13:57Make TileSwitchPattern() apply the Tag_Stone tag
1:13:57Make TileSwitchPattern() apply the Tag_Stone tag
1:13:57Make TileSwitchPattern() apply the Tag_Stone tag
1:15:51Our stone switches look better
🏃
1:15:51Our stone switches look better
🏃
1:15:51Our stone switches look better
🏃
1:16:18aukkras Heh, the certificate for 4coder website2 expired
🗪
1:16:18aukkras Heh, the certificate for 4coder website2 expired
🗪
1:16:18aukkras Heh, the certificate for 4coder website2 expired
🗪
1:16:52The AI goes wherever it wants
🏃
1:16:52The AI goes wherever it wants
🏃
1:16:52The AI goes wherever it wants
🏃
1:17:10kindly_sloth Did one of those heads just phase through the wall?
🗪
1:17:10kindly_sloth Did one of those heads just phase through the wall?
🗪
1:17:10kindly_sloth Did one of those heads just phase through the wall?
🗪
1:19:09dedknd 03/04/22 Allen: I am not currently developing 4coder. But I intend to pick it up again soon to get the codebase organized for open sourcing
🗪
1:19:09dedknd 03/04/22 Allen: I am not currently developing 4coder. But I intend to pick it up again soon to get the codebase organized for open sourcing
🗪
1:19:09dedknd 03/04/22 Allen: I am not currently developing 4coder. But I intend to pick it up again soon to get the codebase organized for open sourcing
🗪
1:19:34Consider how to represent self-illumination
📖
1:19:34Consider how to represent self-illumination
📖
1:19:34Consider how to represent self-illumination
📖
1:21:33Try making UpdateAndRenderEntities() pass 1 as the Emission value to PushCube()
1:21:33Try making UpdateAndRenderEntities() pass 1 as the Emission value to PushCube()
1:21:33Try making UpdateAndRenderEntities() pass 1 as the Emission value to PushCube()
1:21:40All our cubes are lit
🏃
1:21:40All our cubes are lit
🏃
1:21:40All our cubes are lit
🏃
1:21:44Revert UpdateAndRenderEntities() to pass 0 as the Emission value to PushCube()
1:21:44Revert UpdateAndRenderEntities() to pass 0 as the Emission value to PushCube()
1:21:44Revert UpdateAndRenderEntities() to pass 0 as the Emission value to PushCube()
1:22:15Consider how best to articulate our desired Emission value to the system
📖
1:22:15Consider how best to articulate our desired Emission value to the system
📖
1:22:15Consider how best to articulate our desired Emission value to the system
📖
1:24:01Introduce cube_piece containing an Emission value to replace cube_uv_layout in entity_visible_piece
1:24:01Introduce cube_piece containing an Emission value to replace cube_uv_layout in entity_visible_piece
1:24:01Introduce cube_piece containing an Emission value to replace cube_uv_layout in entity_visible_piece
1:25:26The game still runs
🏃
1:25:26The game still runs
🏃
1:25:26The game still runs
🏃
1:25:30Make UpdateAndRenderEntities() unpack the Emission3
1:25:30Make UpdateAndRenderEntities() unpack the Emission3
1:25:30Make UpdateAndRenderEntities() unpack the Emission3
1:26:46There are no emission cubes
🏃
1:26:46There are no emission cubes
🏃
1:26:46There are no emission cubes
🏃
1:26:58Make ExecuteBrainSwitches() set the switch's emission to 50
1:26:58Make ExecuteBrainSwitches() set the switch's emission to 50
1:26:58Make ExecuteBrainSwitches() set the switch's emission to 50
1:27:24The switches don't emit light
🏃
1:27:24The switches don't emit light
🏃
1:27:24The switches don't emit light
🏃
1:27:54Make UpdateAndRenderEntities() pass the unpacked Emission to PushCube()
1:27:54Make UpdateAndRenderEntities() pass the unpacked Emission to PushCube()
1:27:54Make UpdateAndRenderEntities() pass the unpacked Emission to PushCube()
1:28:19The switches emit light, but don't tell the lighting system they're doing it
🏃
1:28:19The switches emit light, but don't tell the lighting system they're doing it
🏃
1:28:19The switches emit light, but don't tell the lighting system they're doing it
🏃
1:28:54Reacquaint ourselves with PushOccluder() and its use
📖
1:28:54Reacquaint ourselves with PushOccluder() and its use
📖
1:28:54Reacquaint ourselves with PushOccluder() and its use
📖
1:36:00Replace the IsLight boolean with an Emission float in lighting_box
1:36:00Replace the IsLight boolean with an Emission float in lighting_box
1:36:00Replace the IsLight boolean with an Emission float in lighting_box
1:38:21The switches still emit light
🏃
1:38:21The switches still emit light
🏃
1:38:21The switches still emit light
🏃
1:38:44Fold PushLight() and PushOccluder() into a unified PushLightingElement()
1:38:44Fold PushLight() and PushOccluder() into a unified PushLightingElement()
1:38:44Fold PushLight() and PushOccluder() into a unified PushLightingElement()
1:41:24The switches still emit light
🏃
1:41:24The switches still emit light
🏃
1:41:24The switches still emit light
🏃
1:41:39Make ExecuteBrainSwitches() set the Emission on the switch's occluder, rather than the base piece
1:41:39Make ExecuteBrainSwitches() set the Emission on the switch's occluder, rather than the base piece
1:41:39Make ExecuteBrainSwitches() set the Emission on the switch's occluder, rather than the base piece
1:41:56The switches are not lit
🏃
1:41:56The switches are not lit
🏃
1:41:56The switches are not lit
🏃
1:42:13Make ExecuteBrainSwitches() also set the Emission on the switch's base piece
1:42:13Make ExecuteBrainSwitches() also set the Emission on the switch's base piece
1:42:13Make ExecuteBrainSwitches() also set the Emission on the switch's base piece
1:43:01sagian2005 What would translucent lighting even be?
🗪
1:43:01sagian2005 What would translucent lighting even be?
🗪
1:43:01sagian2005 What would translucent lighting even be?
🗪
1:43:15The switches remain not telling the lighting system about their emission
🏃
1:43:15The switches remain not telling the lighting system about their emission
🏃
1:43:15The switches remain not telling the lighting system about their emission
🏃
1:44:06The light leaks a little
🏃
1:44:06The light leaks a little
🏃
1:44:06The light leaks a little
🏃
1:45:10Make UpdateAndRenderEntities() unpack and pass the Emission of occluders to PushLightingElement()
1:45:10Make UpdateAndRenderEntities() unpack and pass the Emission of occluders to PushLightingElement()
1:45:10Make UpdateAndRenderEntities() unpack and pass the Emission of occluders to PushLightingElement()
1:45:50The switches emit light and tell the lighting system about it
🏃
1:45:50The switches emit light and tell the lighting system about it
🏃
1:45:50The switches emit light and tell the lighting system about it
🏃
1:46:06Make ExecuteBrainSwitches() set the Color of the switch's occluder piece
1:46:06Make ExecuteBrainSwitches() set the Color of the switch's occluder piece
1:46:06Make ExecuteBrainSwitches() set the Color of the switch's occluder piece
1:46:29The switches emit cyan light
🏃
1:46:29The switches emit cyan light
🏃
1:46:29The switches emit cyan light
🏃
1:47:15Make ExecuteBrainSwitches() dim the light from 50 to 25
1:47:15Make ExecuteBrainSwitches() dim the light from 50 to 25
1:47:15Make ExecuteBrainSwitches() dim the light from 50 to 25
1:47:25Our tile switch light is better
🏃
1:47:25Our tile switch light is better
🏃
1:47:25Our tile switch light is better
🏃
1:47:52That's it, with a plug of Molly Movie Club4
🗩
1:47:52That's it, with a plug of Molly Movie Club4
🗩
1:47:52That's it, with a plug of Molly Movie Club4
🗩
1:49:35me_love_pomegranate Are you watching Better Call Saul season 6?
🗪
1:49:35me_love_pomegranate Are you watching Better Call Saul season 6?
🗪
1:49:35me_love_pomegranate Are you watching Better Call Saul season 6?
🗪
1:50:52rooctag Do I need to watch Interstellar to enjoy the podcast?
🗪
1:50:52rooctag Do I need to watch Interstellar to enjoy the podcast?
🗪
1:50:52rooctag Do I need to watch Interstellar to enjoy the podcast?