Revisiting Entity Movement
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
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 and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

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:01Recap and set the stage for the day
🗩
0:01Recap and set the stage for the day
🗩
0:01Recap and set the stage for the day
🗩
0:44Plug "Twenty Minutes of Reasons to Use the RemedyBG Debugger"1
📖
0:44Plug "Twenty Minutes of Reasons to Use the RemedyBG Debugger"1
📖
0:44Plug "Twenty Minutes of Reasons to Use the RemedyBG Debugger"1
📖
1:38Demo our future desire for a bloom filter and participating media (dust), with a few words on other film artifacts such as halation
🏃
1:38Demo our future desire for a bloom filter and participating media (dust), with a few words on other film artifacts such as halation
🏃
1:38Demo our future desire for a bloom filter and participating media (dust), with a few words on other film artifacts such as halation
🏃
9:18Determine to build some basic entity interactions
🏃
9:18Determine to build some basic entity interactions
🏃
9:18Determine to build some basic entity interactions
🏃
14:59Consider fixing the glove's movement to discrete patterns
🏃
14:59Consider fixing the glove's movement to discrete patterns
🏃
14:59Consider fixing the glove's movement to discrete patterns
🏃
23:12Determine to switch to an entirely transactional collision system
📖
23:12Determine to switch to an entirely transactional collision system
📖
23:12Determine to switch to an entirely transactional collision system
📖
23:31Thoughts on freedom, constraints and making problems tractable
📖
23:31Thoughts on freedom, constraints and making problems tractable
📖
23:31Thoughts on freedom, constraints and making problems tractable
📖
26:13Real-time transactional movement and collision
📖
26:13Real-time transactional movement and collision
📖
26:13Real-time transactional movement and collision
📖
28:31Demo our need for leading-edge, sustaining action and trailing-edge (attack, sustain and release) events
🏃
28:31Demo our need for leading-edge, sustaining action and trailing-edge (attack, sustain and release) events
🏃
28:31Demo our need for leading-edge, sustaining action and trailing-edge (attack, sustain and release) events
🏃
31:26Remove the voxel-based collision code, and the floating movement mode
31:26Remove the voxel-based collision code, and the floating movement mode
31:26Remove the voxel-based collision code, and the floating movement mode
32:36Previously floating entities (glove and familiar) no longer move
🏃
32:36Previously floating entities (glove and familiar) no longer move
🏃
32:36Previously floating entities (glove and familiar) no longer move
🏃
33:18Fully remove MovementMode_Floating
33:18Fully remove MovementMode_Floating
33:18Fully remove MovementMode_Floating
34:11Consider removing entity_movement_mode entirely
📖
34:11Consider removing entity_movement_mode entirely
📖
34:11Consider removing entity_movement_mode entirely
📖
35:04Re-add MovementMode_Floating and remove MovementMode_AngleOffset and MovementMode_AngleAttackSwipe
35:04Re-add MovementMode_Floating and remove MovementMode_AngleOffset and MovementMode_AngleAttackSwipe
35:04Re-add MovementMode_Floating and remove MovementMode_AngleOffset and MovementMode_AngleAttackSwipe
35:30Consider removing entity_movement_mode entirely (cont.)
📖
35:30Consider removing entity_movement_mode entirely (cont.)
📖
35:30Consider removing entity_movement_mode entirely (cont.)
📖
38:10Rename entity_movement_mode to entity_animation
38:10Rename entity_movement_mode to entity_animation
38:10Rename entity_movement_mode to entity_animation
40:58Plan to separate out transactional movement from animation
📖
40:58Plan to separate out transactional movement from animation
📖
40:58Plan to separate out transactional movement from animation
📖
42:21Introduce UpdateAnimation() to adopt code from UpdateAndRenderEntities()
42:21Introduce UpdateAnimation() to adopt code from UpdateAndRenderEntities()
42:21Introduce UpdateAnimation() to adopt code from UpdateAndRenderEntities()
44:18wassimulator Could you, please, at some point explain what "internal", "external", "function" and "static" before functions do? I vaguely understand what they do but not concretely
🗪
44:18wassimulator Could you, please, at some point explain what "internal", "external", "function" and "static" before functions do? I vaguely understand what they do but not concretely
🗪
44:18wassimulator Could you, please, at some point explain what "internal", "external", "function" and "static" before functions do? I vaguely understand what they do but not concretely
🗪
44:57Understanding "static"
44:57Understanding "static"
44:57Understanding "static"
45:25Understanding "static" for function-local variable persistence
45:25Understanding "static" for function-local variable persistence
45:25Understanding "static" for function-local variable persistence
47:31Understanding "static" for global variables and functions
47:31Understanding "static" for global variables and functions
47:31Understanding "static" for global variables and functions
50:41mmozeiko In C++11 and up there is no problem with multiple thread and local static variable initialization
🗪
50:41mmozeiko In C++11 and up there is no problem with multiple thread and local static variable initialization
🗪
50:41mmozeiko In C++11 and up there is no problem with multiple thread and local static variable initialization
🗪
51:01mmozeiko It guarantees that initialization is thread-safe. Puts lock around it
🗪
51:01mmozeiko It guarantees that initialization is thread-safe. Puts lock around it
🗪
51:01mmozeiko It guarantees that initialization is thread-safe. Puts lock around it
🗪
51:17mmozeiko Sure. But it works
🗪
51:17mmozeiko Sure. But it works
🗪
51:17mmozeiko Sure. But it works
🗪
52:29zufaelligertyp I always imagined local static variables as being the same as global static lifetime-wise. Only difference that the variable is only available in this function / scope. Isn't this how it works in C?
🗪
52:29zufaelligertyp I always imagined local static variables as being the same as global static lifetime-wise. Only difference that the variable is only available in this function / scope. Isn't this how it works in C?
🗪
52:29zufaelligertyp I always imagined local static variables as being the same as global static lifetime-wise. Only difference that the variable is only available in this function / scope. Isn't this how it works in C?
🗪
54:36mmozeiko If you don't initialize variables with code (like result of function call) then pretty much all compilers will simply put constant value you initialized in global data segment, and there will be no code run on "first time"
🗪
54:36mmozeiko If you don't initialize variables with code (like result of function call) then pretty much all compilers will simply put constant value you initialized in global data segment, and there will be no code run on "first time"
🗪
54:36mmozeiko If you don't initialize variables with code (like result of function call) then pretty much all compilers will simply put constant value you initialized in global data segment, and there will be no code run on "first time"
🗪
55:03Make UpdateAnimation() take a sim_region * and particle_cache *
55:03Make UpdateAnimation() take a sim_region * and particle_cache *
55:03Make UpdateAnimation() take a sim_region * and particle_cache *
58:26Non-floating entities continue to move and animate
🏃
58:26Non-floating entities continue to move and animate
🏃
58:26Non-floating entities continue to move and animate
🏃
59:37kwmar Local static variables actually use a thread-local flag they examine if they've been already initialized. If not, then slow part comes. But in VS there is one such guard per local static variable, so if you have 10 of them in a function then you pay 10 times the guard check per function
🗪
59:37kwmar Local static variables actually use a thread-local flag they examine if they've been already initialized. If not, then slow part comes. But in VS there is one such guard per local static variable, so if you have 10 of them in a function then you pay 10 times the guard check per function
🗪
59:37kwmar Local static variables actually use a thread-local flag they examine if they've been already initialized. If not, then slow part comes. But in VS there is one such guard per local static variable, so if you have 10 of them in a function then you pay 10 times the guard check per function
🗪
1:00:25Add an Animation_Floating case to UpdateAnimation()
1:00:25Add an Animation_Floating case to UpdateAnimation()
1:00:25Add an Animation_Floating case to UpdateAnimation()
1:01:41Floating entities don't move
🏃
1:01:41Floating entities don't move
🏃
1:01:41Floating entities don't move
🏃
1:02:03Consider working on Type_brain_familiar
📖
1:02:03Consider working on Type_brain_familiar
📖
1:02:03Consider working on Type_brain_familiar
📖
1:04:05mindmark42 You can still swap your head with ground tiles or at least the buttons, I think
🗪
1:04:05mindmark42 You can still swap your head with ground tiles or at least the buttons, I think
🗪
1:04:05mindmark42 You can still swap your head with ground tiles or at least the buttons, I think
🗪
1:04:41Possess a switch and various entities
🏃
1:04:41Possess a switch and various entities
🏃
1:04:41Possess a switch and various entities
🏃
1:07:15philbohun Does Casey have enough subs for a React stream? That would be the comedy of the century
🗪
1:07:15philbohun Does Casey have enough subs for a React stream? That would be the comedy of the century
🗪
1:07:15philbohun Does Casey have enough subs for a React stream? That would be the comedy of the century
🗪
1:07:43Reacquaint ourselves with the entity possession code in ExecuteBrainHero()
📖
1:07:43Reacquaint ourselves with the entity possession code in ExecuteBrainHero()
📖
1:07:43Reacquaint ourselves with the entity possession code in ExecuteBrainHero()
📖
1:09:12Toggle off the brained entity swapping code in ExecuteBrainHero()
1:09:12Toggle off the brained entity swapping code in ExecuteBrainHero()
1:09:12Toggle off the brained entity swapping code in ExecuteBrainHero()
1:09:27Entity possession no longer happens
🏃
1:09:27Entity possession no longer happens
🏃
1:09:27Entity possession no longer happens
🏃
1:09:38Plan pattern-based movement and glove striking rules, with interruptibility
📖
1:09:38Plan pattern-based movement and glove striking rules, with interruptibility
📖
1:09:38Plan pattern-based movement and glove striking rules, with interruptibility
📖
1:15:59tinspin Hi, does anyone in chat know if you can make a Win .exe that runs fine on both 7 & 10 without using compatibility mode?
🗪
1:15:59tinspin Hi, does anyone in chat know if you can make a Win .exe that runs fine on both 7 & 10 without using compatibility mode?
🗪
1:15:59tinspin Hi, does anyone in chat know if you can make a Win .exe that runs fine on both 7 & 10 without using compatibility mode?
🗪
1:16:55Determine to introduce move queues
📖
1:16:55Determine to introduce move queues
📖
1:16:55Determine to introduce move queues
📖
1:22:20Introduce move_queue_entry for the entity struct to contain
1:22:20Introduce move_queue_entry for the entity struct to contain
1:22:20Introduce move_queue_entry for the entity struct to contain
1:26:17Is Jon still streaming Counter-Strike?
🗩
1:26:17Is Jon still streaming Counter-Strike?
🗩
1:26:17Is Jon still streaming Counter-Strike?
🗩
1:26:27wassimulator No
🗪
1:26:27wassimulator No
🗪
1:26:27wassimulator No
🗪
1:26:30nextra24 It's over
🗪
1:26:30nextra24 It's over
🗪
1:26:30nextra24 It's over
🗪
1:27:18nextra24 Multiple days of playoffs, final best-of-three today
🗪
1:27:18nextra24 Multiple days of playoffs, final best-of-three today
🗪
1:27:18nextra24 Multiple days of playoffs, final best-of-three today
🗪
1:27:46nextra24 No, that best-of-three determined the overall winner
🗪
1:27:46nextra24 No, that best-of-three determined the overall winner
🗪
1:27:46nextra24 No, that best-of-three determined the overall winner
🗪
1:28:07wassimulator Faze won or phase one?
🗪
1:28:07wassimulator Faze won or phase one?
🗪
1:28:07wassimulator Faze won or phase one?
🗪
1:28:14Remove move_spec and DefaultMoveSpec()
1:28:14Remove move_spec and DefaultMoveSpec()
1:28:14Remove move_spec and DefaultMoveSpec()
1:29:19Plan the glove's tile occupation
🏃
1:29:19Plan the glove's tile occupation
🏃
1:29:19Plan the glove's tile occupation
🏃
1:32:07Remove ddP from entity
1:32:07Remove ddP from entity
1:32:07Remove ddP from entity
1:32:48Start to make ExecuteBrainHero() move the glove towards its parent entity when at rest
1:32:48Start to make ExecuteBrainHero() move the glove towards its parent entity when at rest
1:32:48Start to make ExecuteBrainHero() move the glove towards its parent entity when at rest
1:35:38The game runs
🏃
1:35:38The game runs
🏃
1:35:38The game runs
🏃
1:35:40Plan move queue execution, and glove positioning relative to the player
📖
1:35:40Plan move queue execution, and glove positioning relative to the player
📖
1:35:40Plan move queue execution, and glove positioning relative to the player
📖
1:38:44internationalizationist Q: Do we have sound effects at the moment?
🗪
1:38:44internationalizationist Q: Do we have sound effects at the moment?
🗪
1:38:44internationalizationist Q: Do we have sound effects at the moment?
🗪
1:39:31Hear no sound
🏃
1:39:31Hear no sound
🏃
1:39:31Hear no sound
🏃
1:39:36Reacquaint ourselves with PlaySound() and OutputPlayingSounds()
📖
1:39:36Reacquaint ourselves with PlaySound() and OutputPlayingSounds()
📖
1:39:36Reacquaint ourselves with PlaySound() and OutputPlayingSounds()
📖
1:41:58Step through PlaySound(), to find that our sound is not found
🏃
1:41:58Step through PlaySound(), to find that our sound is not found
🏃
1:41:58Step through PlaySound(), to find that our sound is not found
🏃
1:42:59Investigate why our sounds are not found
📖
1:42:59Investigate why our sounds are not found
📖
1:42:59Investigate why our sounds are not found
📖
1:44:24Break on GetBestMatchSoundFrom()
🏃
1:44:24Break on GetBestMatchSoundFrom()
🏃
1:44:24Break on GetBestMatchSoundFrom()
🏃
1:46:09Reacquaint ourselves with ProcessAudioImport() and UpdateAssetDataFromFile()
📖
1:46:09Reacquaint ourselves with ProcessAudioImport() and UpdateAssetDataFromFile()
📖
1:46:09Reacquaint ourselves with ProcessAudioImport() and UpdateAssetDataFromFile()
📖
1:50:32Reacquaint ourselves with AddAssetToHash()
📖
1:50:32Reacquaint ourselves with AddAssetToHash()
📖
1:50:32Reacquaint ourselves with AddAssetToHash()
📖
1:51:38nomad_pixel Is that a mechanical keyboard? What switches are those?
🗪
1:51:38nomad_pixel Is that a mechanical keyboard? What switches are those?
🗪
1:51:38nomad_pixel Is that a mechanical keyboard? What switches are those?
🗪
1:53:09klblaz Have you tried keyboards with MX Brown? They are basically the same switch
🗪
1:53:09klblaz Have you tried keyboards with MX Brown? They are basically the same switch
🗪
1:53:09klblaz Have you tried keyboards with MX Brown? They are basically the same switch
🗪
1:53:55dandymcgee What's the difference? They're meant to have the same actuation profile, no?
🗪
1:53:55dandymcgee What's the difference? They're meant to have the same actuation profile, no?
🗪
1:53:55dandymcgee What's the difference? They're meant to have the same actuation profile, no?
🗪
1:54:52mdciotti Zealio Purple switches supposedly have a very similar force curve to the Razer Orange switches. You'd have to build the keyboard yourself, though
🗪
1:54:52mdciotti Zealio Purple switches supposedly have a very similar force curve to the Razer Orange switches. You'd have to build the keyboard yourself, though
🗪
1:54:52mdciotti Zealio Purple switches supposedly have a very similar force curve to the Razer Orange switches. You'd have to build the keyboard yourself, though
🗪
1:56:49Reacquaint ourselves with AddAssetToHash() (cont.)
📖
1:56:49Reacquaint ourselves with AddAssetToHash() (cont.)
📖
1:56:49Reacquaint ourselves with AddAssetToHash() (cont.)
📖
1:57:38Add StopCodeHere lines in AddAssetToHash() if TypeID == Asset_Audio and if Tags[0] == Tag_Bloop
1:57:38Add StopCodeHere lines in AddAssetToHash() if TypeID == Asset_Audio and if Tags[0] == Tag_Bloop
1:57:38Add StopCodeHere lines in AddAssetToHash() if TypeID == Asset_Audio and if Tags[0] == Tag_Bloop
1:58:42Break on StopCodeHere in AddAssetToHash() to find that Tags[\0] is Tag_ChannelIndex, not Tag_Bloop
🏃
1:58:42Break on StopCodeHere in AddAssetToHash() to find that Tags[\0] is Tag_ChannelIndex, not Tag_Bloop
🏃
1:58:42Break on StopCodeHere in AddAssetToHash() to find that Tags[\0] is Tag_ChannelIndex, not Tag_Bloop
🏃
1:59:54Add a MatchElement_Channel to asset_match_vector_element for AddAssetToHash() to use
1:59:54Add a MatchElement_Channel to asset_match_vector_element for AddAssetToHash() to use
1:59:54Add a MatchElement_Channel to asset_match_vector_element for AddAssetToHash() to use
2:01:53Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:01:53Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:01:53Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:03:19Remove MatchElement_Channel from asset_match_vector_element and make AddAssetToHash() store the Tag_ChannelIndex in MatchElement_FacingDirection
2:03:19Remove MatchElement_Channel from asset_match_vector_element and make AddAssetToHash() store the Tag_ChannelIndex in MatchElement_FacingDirection
2:03:19Remove MatchElement_Channel from asset_match_vector_element and make AddAssetToHash() store the Tag_ChannelIndex in MatchElement_FacingDirection
2:03:35Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:03:35Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:03:35Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:03:43Remove Tag_ChannelIndex case from AddAssetToHash()
2:03:43Remove Tag_ChannelIndex case from AddAssetToHash()
2:03:43Remove Tag_ChannelIndex case from AddAssetToHash()
2:03:52Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:03:52Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:03:52Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:03:57Undo our changes to AddAssetToHash() and asset_match_vector_element
2:03:57Undo our changes to AddAssetToHash() and asset_match_vector_element
2:03:57Undo our changes to AddAssetToHash() and asset_match_vector_element
2:04:31Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:04:31Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:04:31Hit a read access violation on Tag->ID in AddAssetToHash()
🏃
2:05:07Step through AddAssetToHash() inspecting the Asset->HHA
🏃
2:05:07Step through AddAssetToHash() inspecting the Asset->HHA
🏃
2:05:07Step through AddAssetToHash() inspecting the Asset->HHA
🏃
2:07:28Check the chat
🗩
2:07:28Check the chat
🗩
2:07:28Check the chat
🗩
2:08:22Thoughts on open-source software as worker exploitation
🗩
2:08:22Thoughts on open-source software as worker exploitation
🗩
2:08:22Thoughts on open-source software as worker exploitation
🗩
2:11:33Investigate our Tag->ID read access violation
🏃
2:11:33Investigate our Tag->ID read access violation
🏃
2:11:33Investigate our Tag->ID read access violation
🏃
2:15:01nomad_pixel Can you put a data breakpoint if it's always index 173 or whatever on when something writes to it?
🗪
2:15:01nomad_pixel Can you put a data breakpoint if it's always index 173 or whatever on when something writes to it?
🗪
2:15:01nomad_pixel Can you put a data breakpoint if it's always index 173 or whatever on when something writes to it?
🗪
2:15:19Investigate our Tag->ID read access violation (cont.)
🏃
2:15:19Investigate our Tag->ID read access violation (cont.)
🏃
2:15:19Investigate our Tag->ID read access violation (cont.)
🏃
2:24:56Delete base_game.hha and run the game to rebuild it
🏃
2:24:56Delete base_game.hha and run the game to rebuild it
🏃
2:24:56Delete base_game.hha and run the game to rebuild it
🏃
2:26:26Run the game successfully with the new base_game.hha
🏃
2:26:26Run the game successfully with the new base_game.hha
🏃
2:26:26Run the game successfully with the new base_game.hha
🏃
2:26:47Add a MatchElement_Channel to asset_match_vector_element for AddAssetToHash() to use
2:26:47Add a MatchElement_Channel to asset_match_vector_element for AddAssetToHash() to use
2:26:47Add a MatchElement_Channel to asset_match_vector_element for AddAssetToHash() to use
2:27:43Run successfully, with bloops
🏃
2:27:43Run successfully, with bloops
🏃
2:27:43Run successfully, with bloops
🏃
2:28:18Toggle off the attack bloops in ExecuteBrainHero()
2:28:18Toggle off the attack bloops in ExecuteBrainHero()
2:28:18Toggle off the attack bloops in ExecuteBrainHero()
2:29:31Toggle on the intro cutscene music in GameUpdateAndRender(), updating to the current asset system code
2:29:31Toggle on the intro cutscene music in GameUpdateAndRender(), updating to the current asset system code
2:29:31Toggle on the intro cutscene music in GameUpdateAndRender(), updating to the current asset system code
2:32:58Our music plays, but tears
🏃
2:32:58Our music plays, but tears
🏃
2:32:58Our music plays, but tears
🏃
2:33:36Note the need to thread the audio
📖
2:33:36Note the need to thread the audio
📖
2:33:36Note the need to thread the audio
📖
2:36:05Our music continues to tear
🏃
2:36:05Our music continues to tear
🏃
2:36:05Our music continues to tear
🏃
2:36:59Call it there
🗩
2:36:59Call it there
🗩
2:36:59Call it there
🗩
2:37:26teamrandb Q: If one wanted to spawn a second window, how would one go about tackling it? To give context, let's say one wanted to move most of Handmade Hero's debug menu to a separate window, where the main DebugUI would be on Window 2 while the game is on Window 1. (Like to show the graphs on a separate window.) I'm struggling to figure out how much of the message handling, and the game logic needs to be separated, or if it could "as simple as" two separate buffers, and a WindowID for when we push tasks
🗪
2:37:26teamrandb Q: If one wanted to spawn a second window, how would one go about tackling it? To give context, let's say one wanted to move most of Handmade Hero's debug menu to a separate window, where the main DebugUI would be on Window 2 while the game is on Window 1. (Like to show the graphs on a separate window.) I'm struggling to figure out how much of the message handling, and the game logic needs to be separated, or if it could "as simple as" two separate buffers, and a WindowID for when we push tasks
🗪
2:37:26teamrandb Q: If one wanted to spawn a second window, how would one go about tackling it? To give context, let's say one wanted to move most of Handmade Hero's debug menu to a separate window, where the main DebugUI would be on Window 2 while the game is on Window 1. (Like to show the graphs on a separate window.) I'm struggling to figure out how much of the message handling, and the game logic needs to be separated, or if it could "as simple as" two separate buffers, and a WindowID for when we push tasks
🗪
2:39:03Call that a day
🗩
2:39:03Call that a day
🗩
2:39:03Call that a day
🗩
2:39:23bob_from_hearthstone Is the problem with exploitation of the working class really an open source problem? You still can have a commercial licensing on an open source codebase, right? The problems seem to be more related to the free software where the work put on a software can be taken and monetized without proper rewarding of the workers. (Sorry for bringing the topic back)
🗪
2:39:23bob_from_hearthstone Is the problem with exploitation of the working class really an open source problem? You still can have a commercial licensing on an open source codebase, right? The problems seem to be more related to the free software where the work put on a software can be taken and monetized without proper rewarding of the workers. (Sorry for bringing the topic back)
🗪
2:39:23bob_from_hearthstone Is the problem with exploitation of the working class really an open source problem? You still can have a commercial licensing on an open source codebase, right? The problems seem to be more related to the free software where the work put on a software can be taken and monetized without proper rewarding of the workers. (Sorry for bringing the topic back)
🗪
2:48:17gregg_ink Open source programmers made a choice to give the software for free. That's not exploiting people
🗪
2:48:17gregg_ink Open source programmers made a choice to give the software for free. That's not exploiting people
🗪
2:48:17gregg_ink Open source programmers made a choice to give the software for free. That's not exploiting people
🗪
2:50:00khbatus But open source is good for regular people. Is there something like open source but not free for big corporations?
🗪
2:50:00khbatus But open source is good for regular people. Is there something like open source but not free for big corporations?
🗪
2:50:00khbatus But open source is good for regular people. Is there something like open source but not free for big corporations?
🗪
2:50:20distractedmosfet Yeah AGPL, it's actually been around a while but the corps in the space, like Google, hate it and push against it
🗪
2:50:20distractedmosfet Yeah AGPL, it's actually been around a while but the corps in the space, like Google, hate it and push against it
🗪
2:50:20distractedmosfet Yeah AGPL, it's actually been around a while but the corps in the space, like Google, hate it and push against it
🗪
2:51:56gregg_ink By that logic, did Casey choose to be exploited by creating Handmade Hero?
🗪
2:51:56gregg_ink By that logic, did Casey choose to be exploited by creating Handmade Hero?
🗪
2:51:56gregg_ink By that logic, did Casey choose to be exploited by creating Handmade Hero?
🗪
2:54:21arkandos_ Q: If I learn something from reading the Handmade Hero source, can I use those same techniques in other closed-source projects?
🗪
2:54:21arkandos_ Q: If I learn something from reading the Handmade Hero source, can I use those same techniques in other closed-source projects?
🗪
2:54:21arkandos_ Q: If I learn something from reading the Handmade Hero source, can I use those same techniques in other closed-source projects?
🗪
2:55:19gheoan handmade_hero Are you using any open source code in your proprietary code?
🗪
2:55:19gheoan handmade_hero Are you using any open source code in your proprietary code?
🗪
2:55:19gheoan handmade_hero Are you using any open source code in your proprietary code?
🗪
2:55:36kwmar What about Sean's toolbox?2
🗪
2:55:36kwmar What about Sean's toolbox?2
🗪
2:55:36kwmar What about Sean's toolbox?2
🗪
2:55:52amirh12 Don't you use OpenGL?
🗪
2:55:52amirh12 Don't you use OpenGL?
🗪
2:55:52amirh12 Don't you use OpenGL?
🗪
2:56:11gregg_ink Were you not using stb3 for fonts?
🗪
2:56:11gregg_ink Were you not using stb3 for fonts?
🗪
2:56:11gregg_ink Were you not using stb3 for fonts?
🗪
2:56:32distractedmosfet OpenGL is an open spec, not open software
🗪
2:56:32distractedmosfet OpenGL is an open spec, not open software
🗪
2:56:32distractedmosfet OpenGL is an open spec, not open software
🗪
2:56:59slava_radko handmade_hero So basically it's fine if I learn from your stream, then close the stream and implement something like you, for example DLL loading and architecture, but implemented myself?
🗪
2:56:59slava_radko handmade_hero So basically it's fine if I learn from your stream, then close the stream and implement something like you, for example DLL loading and architecture, but implemented myself?
🗪
2:56:59slava_radko handmade_hero So basically it's fine if I learn from your stream, then close the stream and implement something like you, for example DLL loading and architecture, but implemented myself?
🗪
2:58:31wassimulator Q: My renderer in AV-Racer uses OpenGL. Are there any practical drawbacks to it? Would you say I should switch to D3D on my next project or something else?
🗪
2:58:31wassimulator Q: My renderer in AV-Racer uses OpenGL. Are there any practical drawbacks to it? Would you say I should switch to D3D on my next project or something else?
🗪
2:58:31wassimulator Q: My renderer in AV-Racer uses OpenGL. Are there any practical drawbacks to it? Would you say I should switch to D3D on my next project or something else?
🗪
2:59:06bewwyss How to calculate how much should go to an open source project if I make profits, in percent, let's say?
🗪
2:59:06bewwyss How to calculate how much should go to an open source project if I make profits, in percent, let's say?
🗪
2:59:06bewwyss How to calculate how much should go to an open source project if I make profits, in percent, let's say?
🗪
3:00:05That's that
🗩
3:00:05That's that
🗩
3:00:05That's that
🗩