Handmade Hero»Episode Guide
Sampling Octahedral Atlases
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:05Recap and set the stage for the day debugging and making meaningful our Octahedral Encoding
🗩
0:05Recap and set the stage for the day debugging and making meaningful our Octahedral Encoding
🗩
0:05Recap and set the stage for the day debugging and making meaningful our Octahedral Encoding
🗩
3:13Show our unlit game
🏃
3:13Show our unlit game
🏃
3:13Show our unlit game
🏃
4:30Prepare to draw our octahedral light map
📖
4:30Prepare to draw our octahedral light map
📖
4:30Prepare to draw our octahedral light map
📖
10:17Make OpenGLInit() generate octahedral light map vertices for the purposes of drawing them, augmenting open_gl with LightMapDebugBuffer
10:17Make OpenGLInit() generate octahedral light map vertices for the purposes of drawing them, augmenting open_gl with LightMapDebugBuffer
10:17Make OpenGLInit() generate octahedral light map vertices for the purposes of drawing them, augmenting open_gl with LightMapDebugBuffer
14:48Make OpenGLEndFrame() draw our octahedral light map vertices1
14:48Make OpenGLEndFrame() draw our octahedral light map vertices1
14:48Make OpenGLEndFrame() draw our octahedral light map vertices1
16:31See our light map vertices covering the whole screen
🏃
16:31See our light map vertices covering the whole screen
🏃
16:31See our light map vertices covering the whole screen
🏃
17:02Investigate why our light map vertices cover the whole screen
📖
17:02Investigate why our light map vertices cover the whole screen
📖
17:02Investigate why our light map vertices cover the whole screen
📖
18:28Make OpenGLEndFrame() end the FinalStretch program before binding the LightMapDebugBuffer and restarting the FinalStretch program
18:28Make OpenGLEndFrame() end the FinalStretch program before binding the LightMapDebugBuffer and restarting the FinalStretch program
18:28Make OpenGLEndFrame() end the FinalStretch program before binding the LightMapDebugBuffer and restarting the FinalStretch program
19:02See our light map vertices correctly located
🏃
19:02See our light map vertices correctly located
🏃
19:02See our light map vertices correctly located
🏃
20:40Make OpenGLInit() generate an enlarged central subset of our light map
20:40Make OpenGLInit() generate an enlarged central subset of our light map
20:40Make OpenGLInit() generate an enlarged central subset of our light map
25:31See our zoomed in light map vertices
🏃
25:31See our zoomed in light map vertices
🏃
25:31See our zoomed in light map vertices
🏃
26:25Make OpenGLInit() generate a square portion of the light map, adjusting for the window's aspect ratio
26:25Make OpenGLInit() generate a square portion of the light map, adjusting for the window's aspect ratio
26:25Make OpenGLInit() generate a square portion of the light map, adjusting for the window's aspect ratio
30:03Producing a square on a non-square window
🖌
30:03Producing a square on a non-square window
🖌
30:03Producing a square on a non-square window
🖌
31:52Make OpenGLInit() correctly invert the window's 16:9 aspect ratio
31:52Make OpenGLInit() correctly invert the window's 16:9 aspect ratio
31:52Make OpenGLInit() correctly invert the window's 16:9 aspect ratio
32:09See our square light map vertices
🏃
32:09See our square light map vertices
🏃
32:09See our square light map vertices
🏃
32:39Understanding the extraction of a square from a non-square
📖
32:39Understanding the extraction of a square from a non-square
📖
32:39Understanding the extraction of a square from a non-square
📖
33:57Fix OpenGLInit() to extract a non-stretched square from the entire light atlas
33:57Fix OpenGLInit() to extract a non-stretched square from the entire light atlas
33:57Fix OpenGLInit() to extract a non-stretched square from the entire light atlas
34:45See our square (but empty) light map vertices
🏃
34:45See our square (but empty) light map vertices
🏃
34:45See our square (but empty) light map vertices
🏃
35:00Make OpenGLInit() generate a more readily adjustable proportion of the light map
35:00Make OpenGLInit() generate a more readily adjustable proportion of the light map
35:00Make OpenGLInit() generate a more readily adjustable proportion of the light map
35:57See our light map
🏃
35:57See our light map
🏃
35:57See our light map
🏃
36:11Make OpenGLChangeToSettings() generate the octahedral light map, so the debug visualisation may be hot-reloaded
36:11Make OpenGLChangeToSettings() generate the octahedral light map, so the debug visualisation may be hot-reloaded
36:11Make OpenGLChangeToSettings() generate the octahedral light map, so the debug visualisation may be hot-reloaded
37:38Adjust the octahedral light map drawing in OpenGLChangeToSettings()
🏃
🖮
37:38Adjust the octahedral light map drawing in OpenGLChangeToSettings()
🏃
🖮
37:38Adjust the octahedral light map drawing in OpenGLChangeToSettings()
🏃
🖮
41:02Take a good look at our octahedral light map
🏃
41:02Take a good look at our octahedral light map
🏃
41:02Take a good look at our octahedral light map
🏃
43:00Determine to carefully test the octahedral mapping
🗩
43:00Determine to carefully test the octahedral mapping
🗩
43:00Determine to carefully test the octahedral mapping
🗩
44:02Make OpenGLChangeToSettings() responsible for binding and setting the parameters of our light atlas textures
44:02Make OpenGLChangeToSettings() responsible for binding and setting the parameters of our light atlas textures
44:02Make OpenGLChangeToSettings() responsible for binding and setting the parameters of our light atlas textures
46:08Disable linear blending of the light atlas visualisation while running
🏃
🖮
46:08Disable linear blending of the light atlas visualisation while running
🏃
🖮
46:08Disable linear blending of the light atlas visualisation while running
🏃
🖮
47:12Make EndLightingComputation() draw all blue into our octahedral light map
47:12Make EndLightingComputation() draw all blue into our octahedral light map
47:12Make EndLightingComputation() draw all blue into our octahedral light map
48:22See all blue
🏃
48:22See all blue
🏃
48:22See all blue
🏃
48:36Make EndLightingComputation() colour the sampling directions per coordinate
48:36Make EndLightingComputation() colour the sampling directions per coordinate
48:36Make EndLightingComputation() colour the sampling directions per coordinate
50:17Check out our octahedral light map
🏃
50:17Check out our octahedral light map
🏃
50:17Check out our octahedral light map
🏃
50:36Make EndLightingComputation() differentiate between the positive and negative directions
50:36Make EndLightingComputation() differentiate between the positive and negative directions
50:36Make EndLightingComputation() differentiate between the positive and negative directions
52:10See that our light map does not look like an octahedron
🏃
52:10See that our light map does not look like an octahedron
🏃
52:10See that our light map does not look like an octahedron
🏃
52:43Make EndLightingComputation() draw the left–right in increasingly red and the up–down in green
52:43Make EndLightingComputation() draw the left–right in increasingly red and the up–down in green
52:43Make EndLightingComputation() draw the left–right in increasingly red and the up–down in green
53:46Check out our light map
🏃
53:46Check out our light map
🏃
53:46Check out our light map
🏃
54:21Make OpenGLChangeToSettings() zoom way in to our light map
54:21Make OpenGLChangeToSettings() zoom way in to our light map
54:21Make OpenGLChangeToSettings() zoom way in to our light map
54:47Check out our light map
🏃
54:47Check out our light map
🏃
54:47Check out our light map
🏃
55:17Make EndLightingComputation() shift our light colours into the 0 to 1 range
55:17Make EndLightingComputation() shift our light colours into the 0 to 1 range
55:17Make EndLightingComputation() shift our light colours into the 0 to 1 range
56:15See 10 steps in X, as expected, but only 5 in Y
🏃
56:15See 10 steps in X, as expected, but only 5 in Y
🏃
56:15See 10 steps in X, as expected, but only 5 in Y
🏃
56:34Investigate our apparent octahedral light map error in EndLightingComputation()
📖
56:34Investigate our apparent octahedral light map error in EndLightingComputation()
📖
56:34Investigate our apparent octahedral light map error in EndLightingComputation()
📖
1:01:40Fix EndLightingComputation() to correctly stride through and populate the octahedral light map
1:01:40Fix EndLightingComputation() to correctly stride through and populate the octahedral light map
1:01:40Fix EndLightingComputation() to correctly stride through and populate the octahedral light map
1:06:56Make OpenGLChangeToSettings() zoom out and draw the bottom-left corner of the light map
1:06:56Make OpenGLChangeToSettings() zoom out and draw the bottom-left corner of the light map
1:06:56Make OpenGLChangeToSettings() zoom out and draw the bottom-left corner of the light map
1:07:42Check out our more correct light map
🏃
1:07:42Check out our more correct light map
🏃
1:07:42Check out our more correct light map
🏃
1:07:50Make OpenGLChangeToSettings() zoom in to the light map
1:07:50Make OpenGLChangeToSettings() zoom in to the light map
1:07:50Make OpenGLChangeToSettings() zoom in to the light map
1:08:09Make EndLightingComputation() populate the whole light map
1:08:09Make EndLightingComputation() populate the whole light map
1:08:09Make EndLightingComputation() populate the whole light map
1:10:10See our much more valid light map
1:10:10See our much more valid light map
1:10:10See our much more valid light map
1:10:14Make EndLightingComputation() colour the sampling directions per coordinate
1:10:14Make EndLightingComputation() colour the sampling directions per coordinate
1:10:14Make EndLightingComputation() colour the sampling directions per coordinate
1:10:53Check out our light map
🏃
1:10:53Check out our light map
🏃
1:10:53Check out our light map
🏃
1:11:30Make EndLightingComputation() leave a 1px border around each octahedron
1:11:30Make EndLightingComputation() leave a 1px border around each octahedron
1:11:30Make EndLightingComputation() leave a 1px border around each octahedron
1:12:54Check out our offset octahedral light map
🏃
1:12:54Check out our offset octahedral light map
🏃
1:12:54Check out our offset octahedral light map
🏃
1:14:32Step through EndLightingComputation() and inspect the Oxy
🏃
1:14:32Step through EndLightingComputation() and inspect the Oxy
🏃
1:14:32Step through EndLightingComputation() and inspect the Oxy
🏃
1:15:30Fix the 1px bordering in EndLightingComputation()
1:15:30Fix the 1px bordering in EndLightingComputation()
1:15:30Fix the 1px bordering in EndLightingComputation()
1:16:25Check out our more correct octahedral light map
🏃
1:16:25Check out our more correct octahedral light map
🏃
1:16:25Check out our more correct octahedral light map
🏃
1:17:26Make EndLightingComputation() produce a coloured octahedron
1:17:26Make EndLightingComputation() produce a coloured octahedron
1:17:26Make EndLightingComputation() produce a coloured octahedron
1:19:07See that our octahedron is not quite correct
🏃
🖮
1:19:07See that our octahedron is not quite correct
🏃
🖮
1:19:07See that our octahedron is not quite correct
🏃
🖮
1:20:17Make EndLightingComputation() just leave the z-blue of our octahedron
1:20:17Make EndLightingComputation() just leave the z-blue of our octahedron
1:20:17Make EndLightingComputation() just leave the z-blue of our octahedron
1:20:35See that our z-blue looks correct
🏃
1:20:35See that our z-blue looks correct
🏃
1:20:35See that our z-blue looks correct
🏃
1:21:00Make EndLightingComputation() just leave the x-red of our octahedron
1:21:00Make EndLightingComputation() just leave the x-red of our octahedron
1:21:00Make EndLightingComputation() just leave the x-red of our octahedron
1:21:08See that our x-red might be correct
🏃
1:21:08See that our x-red might be correct
🏃
1:21:08See that our x-red might be correct
🏃
1:21:34Make EndLightingComputation() just leave the y-green of our octahedron
1:21:34Make EndLightingComputation() just leave the y-green of our octahedron
1:21:34Make EndLightingComputation() just leave the y-green of our octahedron
1:21:47See that our y-green might be correct
🏃
1:21:47See that our y-green might be correct
🏃
1:21:47See that our y-green might be correct
🏃
1:21:51Let EndLightingComputation() draw the whole octahedron
1:21:51Let EndLightingComputation() draw the whole octahedron
1:21:51Let EndLightingComputation() draw the whole octahedron
1:21:55Check out our whole octahedron
🏃
1:21:55Check out our whole octahedron
🏃
1:21:55Check out our whole octahedron
🏃
1:22:05Toggle on our actual octahedral mapping in EndLightingComputation()
1:22:05Toggle on our actual octahedral mapping in EndLightingComputation()
1:22:05Toggle on our actual octahedral mapping in EndLightingComputation()
1:22:42Admire our octahedral light map
🏃
1:22:42Admire our octahedral light map
🏃
1:22:42Admire our octahedral light map
🏃
1:23:32Make OpenGLChangeToSettings() zoom out of the light map
1:23:32Make OpenGLChangeToSettings() zoom out of the light map
1:23:32Make OpenGLChangeToSettings() zoom out of the light map
1:23:53Admire our octahedral light map
🏃
1:23:53Admire our octahedral light map
🏃
1:23:53Admire our octahedral light map
🏃
1:24:41Determine to use the lighting
🏃
1:24:41Determine to use the lighting
🏃
1:24:41Determine to use the lighting
🏃
1:25:274coder feature request: Syntax highlighting of here docs
🗹
1:25:274coder feature request: Syntax highlighting of here docs
🗹
1:25:274coder feature request: Syntax highlighting of here docs
🗹
1:26:28Make CompileZBiasProgram() sample our octahedral lighting
1:26:28Make CompileZBiasProgram() sample our octahedral lighting
1:26:28Make CompileZBiasProgram() sample our octahedral lighting
1:42:31Research OpenGL's sign()2 and the signNotZero() implementation in 'Survey of Efficient Representations for Independent Unit Vectors'3
📖
1:42:31Research OpenGL's sign()2 and the signNotZero() implementation in 'Survey of Efficient Representations for Independent Unit Vectors'3
📖
1:42:31Research OpenGL's sign()2 and the signNotZero() implementation in 'Survey of Efficient Representations for Independent Unit Vectors'3
📖
1:44:37Implement SignOf(), continuing to make CompileZBiasProgram() sample our octahedral lighting
1:44:37Implement SignOf(), continuing to make CompileZBiasProgram() sample our octahedral lighting
1:44:37Implement SignOf(), continuing to make CompileZBiasProgram() sample our octahedral lighting
1:45:51Hit shader errors
🏃
1:45:51Hit shader errors
🏃
1:45:51Hit shader errors
🏃
1:46:24Fix shader errors, stubbing out SampleLighting()
1:46:24Fix shader errors, stubbing out SampleLighting()
1:46:24Fix shader errors, stubbing out SampleLighting()
1:47:32Hit shader errors
🏃
1:47:32Hit shader errors
🏃
1:47:32Hit shader errors
🏃
1:47:50Fix typo in CompileZBiasProgram()
1:47:50Fix typo in CompileZBiasProgram()
1:47:50Fix typo in CompileZBiasProgram()
1:48:01Run successfully
🏃
1:48:01Run successfully
🏃
1:48:01Run successfully
🏃
1:48:36Q&A
🗩
1:48:36Q&A
🗩
1:48:36Q&A
🗩
1:49:23uplinkcoder Q: Can you show the octahedral map with linear blending?
🗪
1:49:23uplinkcoder Q: Can you show the octahedral map with linear blending?
🗪
1:49:23uplinkcoder Q: Can you show the octahedral map with linear blending?
🗪
1:49:38Show the octahedral map
🏃
1:49:38Show the octahedral map
🏃
1:49:38Show the octahedral map
🏃
1:50:03Enable linear blending in OpenGLChangeToSettings()
1:50:03Enable linear blending in OpenGLChangeToSettings()
1:50:03Enable linear blending in OpenGLChangeToSettings()
1:50:52Show the blended octahedral map
🏃
1:50:52Show the blended octahedral map
🏃
1:50:52Show the blended octahedral map
🏃
1:51:22the_8th_mage Q: Can you say a few words about octahedral mapping?4
🗪
1:51:22the_8th_mage Q: Can you say a few words about octahedral mapping?4
🗪
1:51:22the_8th_mage Q: Can you say a few words about octahedral mapping?4
🗪
1:52:16euphius Q: Kinda off-topic. Have you ever been at a point where you thought that programming might not be the right thing for you?
🗪
1:52:16euphius Q: Kinda off-topic. Have you ever been at a point where you thought that programming might not be the right thing for you?
🗪
1:52:16euphius Q: Kinda off-topic. Have you ever been at a point where you thought that programming might not be the right thing for you?
🗪
1:57:50snubbykins Q: Have you ever used / heard of Spherical Gaussians before?
🗪
1:57:50snubbykins Q: Have you ever used / heard of Spherical Gaussians before?
🗪
1:57:50snubbykins Q: Have you ever used / heard of Spherical Gaussians before?
🗪
1:59:27xxthebigfoxx Q: I remember we moved away from manual trilinear filtering on voxel samples because it was a lot of texture bandwidth. How is this better than the old approach?
🗪
1:59:27xxthebigfoxx Q: I remember we moved away from manual trilinear filtering on voxel samples because it was a lot of texture bandwidth. How is this better than the old approach?
🗪
1:59:27xxthebigfoxx Q: I remember we moved away from manual trilinear filtering on voxel samples because it was a lot of texture bandwidth. How is this better than the old approach?
🗪
2:01:54math_daemon_ Q: Do you think step(x) * 2 - 1 could be faster than our current sign implementation?
🗪
2:01:54math_daemon_ Q: Do you think step(x) * 2 - 1 could be faster than our current sign implementation?
🗪
2:01:54math_daemon_ Q: Do you think step(x) * 2 - 1 could be faster than our current sign implementation?
🗪
2:03:01rooctag Q: Why is the depth not red squares?
🗪
2:03:01rooctag Q: Why is the depth not red squares?
🗪
2:03:01rooctag Q: Why is the depth not red squares?
🗪
2:04:16fierydrake I think you just didn't apply the fix to the depth buffer
🗪
2:04:16fierydrake I think you just didn't apply the fix to the depth buffer
🗪
2:04:16fierydrake I think you just didn't apply the fix to the depth buffer
🗪
2:04:40Fix EndLightingComputation() to correctly stride through the depth buffer
2:04:40Fix EndLightingComputation() to correctly stride through the depth buffer
2:04:40Fix EndLightingComputation() to correctly stride through the depth buffer
2:05:08Check out our correct depth buffer
🏃
2:05:08Check out our correct depth buffer
🏃
2:05:08Check out our correct depth buffer
🏃
2:05:31aidsjorb Q: Do you have any opinion on potential new computing devices / platforms, i.e. "mobile" operating systems, tablets, multi screen devices, etc? Is there anything interesting going on, or are companies just throwing stuff at the wall?
🗪
2:05:31aidsjorb Q: Do you have any opinion on potential new computing devices / platforms, i.e. "mobile" operating systems, tablets, multi screen devices, etc? Is there anything interesting going on, or are companies just throwing stuff at the wall?
🗪
2:05:31aidsjorb Q: Do you have any opinion on potential new computing devices / platforms, i.e. "mobile" operating systems, tablets, multi screen devices, etc? Is there anything interesting going on, or are companies just throwing stuff at the wall?
🗪
2:05:46mycon_ Q: What do you think of Carmack working on general AI? I hear he's going to use Sesame Street as the learning data
🗪
2:05:46mycon_ Q: What do you think of Carmack working on general AI? I hear he's going to use Sesame Street as the learning data
🗪
2:05:46mycon_ Q: What do you think of Carmack working on general AI? I hear he's going to use Sesame Street as the learning data
🗪
2:06:47mollycat123 Q: Some people have probably already mentioned this but it'd be cool to see more handmade chats / talks with guests etc. similar to the data compression talk with Charles
🗪
2:06:47mollycat123 Q: Some people have probably already mentioned this but it'd be cool to see more handmade chats / talks with guests etc. similar to the data compression talk with Charles
🗪
2:06:47mollycat123 Q: Some people have probably already mentioned this but it'd be cool to see more handmade chats / talks with guests etc. similar to the data compression talk with Charles
🗪
2:06:58xxthebigfoxx Q: Is the bilinear sampling from the octahedral map exact, then, or is there some distortion due to the way we are mapping the sphere in 2 dimensions?
🗪
2:06:58xxthebigfoxx Q: Is the bilinear sampling from the octahedral map exact, then, or is there some distortion due to the way we are mapping the sphere in 2 dimensions?
🗪
2:06:58xxthebigfoxx Q: Is the bilinear sampling from the octahedral map exact, then, or is there some distortion due to the way we are mapping the sphere in 2 dimensions?
🗪
2:08:09ablindorphan Q: Would you ever consider doing a tutorial on testing for something like a library, where it's important to be thorough?
🗪
2:08:09ablindorphan Q: Would you ever consider doing a tutorial on testing for something like a library, where it's important to be thorough?
🗪
2:08:09ablindorphan Q: Would you ever consider doing a tutorial on testing for something like a library, where it's important to be thorough?
🗪
2:08:28math_daemon_ Q: I thought ours might be scalar. But was just a guess
🗪
2:08:28math_daemon_ Q: I thought ours might be scalar. But was just a guess
🗪
2:08:28math_daemon_ Q: I thought ours might be scalar. But was just a guess
🗪
2:09:09kniffel5 Q: What other than the games at Molly Rocket, are you working on? (Referring to the "cleaning up other people's mess" you said earlier, maybe I misunderstood?)
🗪
2:09:09kniffel5 Q: What other than the games at Molly Rocket, are you working on? (Referring to the "cleaning up other people's mess" you said earlier, maybe I misunderstood?)
🗪
2:09:09kniffel5 Q: What other than the games at Molly Rocket, are you working on? (Referring to the "cleaning up other people's mess" you said earlier, maybe I misunderstood?)
🗪
2:12:53quickshift_ Q: step(x) might be hardware accelerated. It works on v2 and is branchless. Not sure how impactful it actually is
🗪
2:12:53quickshift_ Q: step(x) might be hardware accelerated. It works on v2 and is branchless. Not sure how impactful it actually is
🗪
2:12:53quickshift_ Q: step(x) might be hardware accelerated. It works on v2 and is branchless. Not sure how impactful it actually is
🗪
2:16:53osor_io Q: Did you get any traction on your "The Thirty Million Line Problem" video? In terms of people wanting to collaborate with better programming of the hardware directly, ISAs for the GPU, etc, etc. Things in that direction
🗪
2:16:53osor_io Q: Did you get any traction on your "The Thirty Million Line Problem" video? In terms of people wanting to collaborate with better programming of the hardware directly, ISAs for the GPU, etc, etc. Things in that direction
🗪
2:16:53osor_io Q: Did you get any traction on your "The Thirty Million Line Problem" video? In terms of people wanting to collaborate with better programming of the hardware directly, ISAs for the GPU, etc, etc. Things in that direction
🗪
2:17:07litmusik Q: I enjoyed your talk on API design, but I see that it's 15 years old. Have your thoughts changed or is it still the model you follow?
🗪
2:17:07litmusik Q: I enjoyed your talk on API design, but I see that it's 15 years old. Have your thoughts changed or is it still the model you follow?
🗪
2:17:07litmusik Q: I enjoyed your talk on API design, but I see that it's 15 years old. Have your thoughts changed or is it still the model you follow?
🗪
2:18:15xsinxdx Q: Where could one find concrete resources on 2D lighting? I can't seem to find anything useful on google, just unity and godot stuff
🗪
2:18:15xsinxdx Q: Where could one find concrete resources on 2D lighting? I can't seem to find anything useful on google, just unity and godot stuff
🗪
2:18:15xsinxdx Q: Where could one find concrete resources on 2D lighting? I can't seem to find anything useful on google, just unity and godot stuff
🗪
2:18:40devsigner Q: I agree with you that software generally sucks, but do you think you're letting it get to you too much? There's something to say about staying positive, despite the madness
🗪
2:18:40devsigner Q: I agree with you that software generally sucks, but do you think you're letting it get to you too much? There's something to say about staying positive, despite the madness
🗪
2:18:40devsigner Q: I agree with you that software generally sucks, but do you think you're letting it get to you too much? There's something to say about staying positive, despite the madness
🗪
2:19:12mollycat123 Q: What are some of the major changes you have made to 4coder worth mentioning?
🗪
2:19:12mollycat123 Q: What are some of the major changes you have made to 4coder worth mentioning?
🗪
2:19:12mollycat123 Q: What are some of the major changes you have made to 4coder worth mentioning?
🗪
2:20:02bewwyss Q: Is it possible to implement the idea of dynamic language without garbage collection, e.g implementing ECMAScript?
🗪
2:20:02bewwyss Q: Is it possible to implement the idea of dynamic language without garbage collection, e.g implementing ECMAScript?
🗪
2:20:02bewwyss Q: Is it possible to implement the idea of dynamic language without garbage collection, e.g implementing ECMAScript?
🗪
2:20:34erdomina Q: When is your C course coming out? I missed the beta
🗪
2:20:34erdomina Q: When is your C course coming out? I missed the beta
🗪
2:20:34erdomina Q: When is your C course coming out? I missed the beta
🗪
2:21:09jessem3y3r Q: Can you elaborate on the issue C made with tying types strongly with operations?
🗪
2:21:09jessem3y3r Q: Can you elaborate on the issue C made with tying types strongly with operations?
🗪
2:21:09jessem3y3r Q: Can you elaborate on the issue C made with tying types strongly with operations?
🗪
2:22:57kniffel5 Q: How many people pre-ordered the source code (I certainly did!)?
🗪
2:22:57kniffel5 Q: How many people pre-ordered the source code (I certainly did!)?
🗪
2:22:57kniffel5 Q: How many people pre-ordered the source code (I certainly did!)?
🗪
2:23:35kniffel5 Q: If SendOwl continues to be shady, is there a plan to switch platforms, so people will still be able to get it if something happens?
🗪
2:23:35kniffel5 Q: If SendOwl continues to be shady, is there a plan to switch platforms, so people will still be able to get it if something happens?
🗪
2:23:35kniffel5 Q: If SendOwl continues to be shady, is there a plan to switch platforms, so people will still be able to get it if something happens?
🗪
2:26:27binarytoshokan Q: What are the challenges with finding good distribution platforms?
🗪
2:26:27binarytoshokan Q: What are the challenges with finding good distribution platforms?
🗪
2:26:27binarytoshokan Q: What are the challenges with finding good distribution platforms?
🗪
2:29:05alexkelbo Q: What about itch.io?5
🗪
2:29:05alexkelbo Q: What about itch.io?5
🗪
2:29:05alexkelbo Q: What about itch.io?5
🗪
2:31:56jessem3y3r GOG?
🗪
2:31:56jessem3y3r GOG?
🗪
2:31:56jessem3y3r GOG?
🗪
2:32:12strangezak You might be able to get permission. The people at Epic who are running the Epic Game Store are good people
🗪
2:32:12strangezak You might be able to get permission. The people at Epic who are running the Epic Game Store are good people
🗪
2:32:12strangezak You might be able to get permission. The people at Epic who are running the Epic Game Store are good people
🗪
2:32:49kniffel5 Q: Does Steam have any requirements to put their DRM into any program that's being uploaded, or is that up to the programmer?
🗪
2:32:49kniffel5 Q: Does Steam have any requirements to put their DRM into any program that's being uploaded, or is that up to the programmer?
🗪
2:32:49kniffel5 Q: Does Steam have any requirements to put their DRM into any program that's being uploaded, or is that up to the programmer?
🗪
2:34:06megafunksa Sweeney seems like a great guy
🗪
2:34:06megafunksa Sweeney seems like a great guy
🗪
2:34:06megafunksa Sweeney seems like a great guy
🗪
2:36:18biinkster Is there anything of Steam to improve? It does what it does right?
🗪
2:36:18biinkster Is there anything of Steam to improve? It does what it does right?
🗪
2:36:18biinkster Is there anything of Steam to improve? It does what it does right?
🗪
2:38:01genos3 Q: What are your thoughts on undefined behaviour?
🗪
2:38:01genos3 Q: What are your thoughts on undefined behaviour?
🗪
2:38:01genos3 Q: What are your thoughts on undefined behaviour?
🗪
2:40:23genos3 Q: Is there an advantage to having undefined behaviour?
🗪
2:40:23genos3 Q: Is there an advantage to having undefined behaviour?
🗪
2:40:23genos3 Q: Is there an advantage to having undefined behaviour?
🗪
2:40:54Wrap it up
🗩
2:40:54Wrap it up
🗩
2:40:54Wrap it up
🗩