Handmade Hero»Episode Guide
Automatically Constructed Debug Hierarchies
?
?

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:02Intro
0:02Intro
0:02Intro
0:31Background on the number 219
0:31Background on the number 219
0:31Background on the number 219
1:10"You should fertilize that directory with human tears, and then you should see what grows from it. It will probably be black roses that crumble and blow away with the wind."α
1:10"You should fertilize that directory with human tears, and then you should see what grows from it. It will probably be black roses that crumble and blow away with the wind."α
1:10"You should fertilize that directory with human tears, and then you should see what grows from it. It will probably be black roses that crumble and blow away with the wind."α
1:39"The whole point of the existence of this system is because humans are so fallible and always do everything wrong."β
1:39"The whole point of the existence of this system is because humans are so fallible and always do everything wrong."β
1:39"The whole point of the existence of this system is because humans are so fallible and always do everything wrong."β
1:49Current state of the game when run
1:49Current state of the game when run
1:49Current state of the game when run
2:04Brief explanation of unlimited debug info storage system from yesterday
2:04Brief explanation of unlimited debug info storage system from yesterday
2:04Brief explanation of unlimited debug info storage system from yesterday
3:25Determining today's goal: bringing the debug system together
3:25Determining today's goal: bringing the debug system together
3:25Determining today's goal: bringing the debug system together
4:31Starting work on hierarchical debug event UI
4:31Starting work on hierarchical debug event UI
4:31Starting work on hierarchical debug event UI
4:52Describing how debug events should be grouped into a hierarchy of debug elements
4:52Describing how debug events should be grouped into a hierarchy of debug elements
4:52Describing how debug events should be grouped into a hierarchy of debug elements
6:43Changing terminology of root tree back to root group
6:43Changing terminology of root tree back to root group
6:43Changing terminology of root tree back to root group
7:23Re-enabling hierarchy generation for the new system
7:23Re-enabling hierarchy generation for the new system
7:23Re-enabling hierarchy generation for the new system
8:38Considering whether or not to add free-list for the debug info
8:38Considering whether or not to add free-list for the debug info
8:38Considering whether or not to add free-list for the debug info
9:25Updating AddVariableToGroup, CreateVariableGroup to work with elements in a tree hierarchy
9:25Updating AddVariableToGroup, CreateVariableGroup to work with elements in a tree hierarchy
9:25Updating AddVariableToGroup, CreateVariableGroup to work with elements in a tree hierarchy
12:31Splitting AddVariableToGroup into AddElementToGroup and AddGroupToGroup
12:31Splitting AddVariableToGroup into AddElementToGroup and AddGroupToGroup
12:31Splitting AddVariableToGroup into AddElementToGroup and AddGroupToGroup
13:49Noting names aren't stored in debug_variable_group, and fixing it
13:49Noting names aren't stored in debug_variable_group, and fixing it
13:49Noting names aren't stored in debug_variable_group, and fixing it
15:41Removal of CreateVariable
15:41Removal of CreateVariable
15:41Removal of CreateVariable
16:21Adding root variable group handling in GetGroupForHierarchicalName
16:21Adding root variable group handling in GetGroupForHierarchicalName
16:21Adding root variable group handling in GetGroupForHierarchicalName
17:37Creating root variable group
17:37Creating root variable group
17:37Creating root variable group
18:26Adding hierarchy lookup to GetElementFromEvent
18:26Adding hierarchy lookup to GetElementFromEvent
18:26Adding hierarchy lookup to GetElementFromEvent
19:25Thinking how BlockName and/or GUID should be used to create the hierarchy
19:25Thinking how BlockName and/or GUID should be used to create the hierarchy
19:25Thinking how BlockName and/or GUID should be used to create the hierarchy
22:14Use GetGroupForHierarchicalName when adding a new event to check for a parent group, and link them if there is one
22:14Use GetGroupForHierarchicalName when adding a new event to check for a parent group, and link them if there is one
22:14Use GetGroupForHierarchicalName when adding a new event to check for a parent group, and link them if there is one
23:43Enabling the drawing of the hierarchy
23:43Enabling the drawing of the hierarchy
23:43Enabling the drawing of the hierarchy
24:18Debugging crash due to not knowing how to draw certain debug elements
24:18Debugging crash due to not knowing how to draw certain debug elements
24:18Debugging crash due to not knowing how to draw certain debug elements
25:50Adding a default name for unhandled debug events to prevent crashing
25:50Adding a default name for unhandled debug events to prevent crashing
25:50Adding a default name for unhandled debug events to prevent crashing
26:09Running the game, now doesn't crash, but debug variables aren't listed
26:09Running the game, now doesn't crash, but debug variables aren't listed
26:09Running the game, now doesn't crash, but debug variables aren't listed
26:28"Sometimes even in the depths of despair, some little tiny thing goes your way, and the important thing to remember is not to let that go to your head"γ
26:28"Sometimes even in the depths of despair, some little tiny thing goes your way, and the important thing to remember is not to let that go to your head"γ
26:28"Sometimes even in the depths of despair, some little tiny thing goes your way, and the important thing to remember is not to let that go to your head"γ
26:59Start looking into why debug variables aren't appearing
26:59Start looking into why debug variables aren't appearing
26:59Start looking into why debug variables aren't appearing
29:51"I want to break down in tears. I want to just give up and let the horrors of the world continue unabated. But instead what I'm gonna do is set a breakpoint on MarkDebugValue"δ
29:51"I want to break down in tears. I want to just give up and let the horrors of the world continue unabated. But instead what I'm gonna do is set a breakpoint on MarkDebugValue"δ
29:51"I want to break down in tears. I want to just give up and let the horrors of the world continue unabated. But instead what I'm gonna do is set a breakpoint on MarkDebugValue"δ
30:09Add breakpoint to MarkDebugValue to see which events are getting through
30:09Add breakpoint to MarkDebugValue to see which events are getting through
30:09Add breakpoint to MarkDebugValue to see which events are getting through
30:46Explanation of the bug, partial fix by storing GUID in the event
30:46Explanation of the bug, partial fix by storing GUID in the event
30:46Explanation of the bug, partial fix by storing GUID in the event
31:49Rerunning the game, multiple events now correctly show up, but with incorrect text
31:49Rerunning the game, multiple events now correctly show up, but with incorrect text
31:49Rerunning the game, multiple events now correctly show up, but with incorrect text
31:57Storing BlockName into the event too, making the debug display slightly more correct
31:57Storing BlockName into the event too, making the debug display slightly more correct
31:57Storing BlockName into the event too, making the debug display slightly more correct
33:37Explaining how the debug names can be used to assemble the hierarchies
33:37Explaining how the debug names can be used to assemble the hierarchies
33:37Explaining how the debug names can be used to assemble the hierarchies
34:25Implementing the hierarchy building in GetGroupForHeirarchicalName
34:25Implementing the hierarchy building in GetGroupForHeirarchicalName
34:25Implementing the hierarchy building in GetGroupForHeirarchicalName
38:00Adding the GetOrCreateGroupWithName helper function
38:00Adding the GetOrCreateGroupWithName helper function
38:00Adding the GetOrCreateGroupWithName helper function
41:01Putting a name into the debug_variable_group struct, completing hierarchy creation code
41:01Putting a name into the debug_variable_group struct, completing hierarchy creation code
41:01Putting a name into the debug_variable_group struct, completing hierarchy creation code
44:03Adding a StringsAreEqual function with explicit length parameters
44:03Adding a StringsAreEqual function with explicit length parameters
44:03Adding a StringsAreEqual function with explicit length parameters
46:22Describing what more needs to be added for the debug hierarchy to display correctly
46:22Describing what more needs to be added for the debug hierarchy to display correctly
46:22Describing what more needs to be added for the debug hierarchy to display correctly
48:10Start branching the code to handle both single elements and hierarchies
48:10Start branching the code to handle both single elements and hierarchies
48:10Start branching the code to handle both single elements and hierarchies
51:39Running the game, now events are displayed hierarchically
51:39Running the game, now events are displayed hierarchically
51:39Running the game, now events are displayed hierarchically
53:53Adding interaction support to the hierarchical debug events
53:53Adding interaction support to the hierarchical debug events
53:53Adding interaction support to the hierarchical debug events
58:18Rewriting how groups are expanded
58:18Rewriting how groups are expanded
58:18Rewriting how groups are expanded
59:36Game running, interactions now working but with improper highlighting
59:36Game running, interactions now working but with improper highlighting
59:36Game running, interactions now working but with improper highlighting
1:01:43Debugging why multiple interactions are being highlighted as hot
1:01:43Debugging why multiple interactions are being highlighted as hot
1:01:43Debugging why multiple interactions are being highlighted as hot
1:02:11Found the bug
1:02:11Found the bug
1:02:11Found the bug
1:03:08Everything running correctly
1:03:08Everything running correctly
1:03:08Everything running correctly
1:03:45Q&A
🗩
1:03:45Q&A
🗩
1:03:45Q&A
🗩
1:04:11d7samurai was this the 'depression oriented programming' approach i keep hearing about?
🗪
1:04:11d7samurai was this the 'depression oriented programming' approach i keep hearing about?
🗪
1:04:11d7samurai was this the 'depression oriented programming' approach i keep hearing about?
🗪
1:04:32m1el you pass string length together with pointer to string data in several places. Do you think it would be better to create a string struct that holds length and a data point?
🗪
1:04:32m1el you pass string length together with pointer to string data in several places. Do you think it would be better to create a string struct that holds length and a data point?
🗪
1:04:32m1el you pass string length together with pointer to string data in several places. Do you think it would be better to create a string struct that holds length and a data point?
🗪
1:05:13vidster88 You've talked a lot about languages lately, have you taken a look at Swift at all? Thoughts?
🗪
1:05:13vidster88 You've talked a lot about languages lately, have you taken a look at Swift at all? Thoughts?
🗪
1:05:13vidster88 You've talked a lot about languages lately, have you taken a look at Swift at all? Thoughts?
🗪
1:05:31elxenoaizd How do you come up with that literacy stuff? That was Awesome!
🗪
1:05:31elxenoaizd How do you come up with that literacy stuff? That was Awesome!
🗪
1:05:31elxenoaizd How do you come up with that literacy stuff? That was Awesome!
🗪
1:05:53programgamer I DONT GET ANYTHING :(
🗪
1:05:53programgamer I DONT GET ANYTHING :(
🗪
1:05:53programgamer I DONT GET ANYTHING :(
🗪
1:06:12yoonfan do you think that the bug in DebugInteractionsAreEqual would have been caught by a compiler-generated comparison operator as in C++?
🗪
1:06:12yoonfan do you think that the bug in DebugInteractionsAreEqual would have been caught by a compiler-generated comparison operator as in C++?
🗪
1:06:12yoonfan do you think that the bug in DebugInteractionsAreEqual would have been caught by a compiler-generated comparison operator as in C++?
🗪
1:07:08groggeh will handmadehero2 be written in JAI ?
🗪
1:07:08groggeh will handmadehero2 be written in JAI ?
🗪
1:07:08groggeh will handmadehero2 be written in JAI ?
🗪
1:07:16elxenoaizd I meant literature talk sorry lol
🗪
1:07:16elxenoaizd I meant literature talk sorry lol
🗪
1:07:16elxenoaizd I meant literature talk sorry lol
🗪
1:07:57thegeekpirate Who is your favourite figure in the computing world (dead or alive)? Mine's currently Claude Shannon
🗪
1:07:57thegeekpirate Who is your favourite figure in the computing world (dead or alive)? Mine's currently Claude Shannon
🗪
1:07:57thegeekpirate Who is your favourite figure in the computing world (dead or alive)? Mine's currently Claude Shannon
🗪
1:08:19ikkir_isth how about handmadebrowser in JAI? :)
🗪
1:08:19ikkir_isth how about handmadebrowser in JAI? :)
🗪
1:08:19ikkir_isth how about handmadebrowser in JAI? :)
🗪
1:08:40luijee Off topic but how old were you when you started coding
🗪
1:08:40luijee Off topic but how old were you when you started coding
🗪
1:08:40luijee Off topic but how old were you when you started coding
🗪
1:08:47a_pulsing_mage prestream question: do you think that intel hitting the proccesa size limit will make video game falter of will they survive?
🗪
1:08:47a_pulsing_mage prestream question: do you think that intel hitting the proccesa size limit will make video game falter of will they survive?
🗪
1:08:47a_pulsing_mage prestream question: do you think that intel hitting the proccesa size limit will make video game falter of will they survive?
🗪
1:09:33mitch77x Casey, you are as old as me. Are you also planning to retire from working ASAP ? :-)
🗪
1:09:33mitch77x Casey, you are as old as me. Are you also planning to retire from working ASAP ? :-)
🗪
1:09:33mitch77x Casey, you are as old as me. Are you also planning to retire from working ASAP ? :-)
🗪
1:10:58falsemann What do you think about Test-Driven Development?
🗪
1:10:58falsemann What do you think about Test-Driven Development?
🗪
1:10:58falsemann What do you think about Test-Driven Development?
🗪
1:11:13hecline do you actually play games yourself? If so what?
🗪
1:11:13hecline do you actually play games yourself? If so what?
🗪
1:11:13hecline do you actually play games yourself? If so what?
🗪
1:11:34jayp2 Why should i keep on going in this harsh cold reality, when i get lost on episode 005 of hmh :(
🗪
1:11:34jayp2 Why should i keep on going in this harsh cold reality, when i get lost on episode 005 of hmh :(
🗪
1:11:34jayp2 Why should i keep on going in this harsh cold reality, when i get lost on episode 005 of hmh :(
🗪
1:12:22"We just have to have faith that The Variable is looking down on us from The Great Memory, and that if we all just work hard and try to be good people that eventually The Variable will let us into The Great Memory and we'll live in peace and happiness with all of our other discretized values."ε
1:12:22"We just have to have faith that The Variable is looking down on us from The Great Memory, and that if we all just work hard and try to be good people that eventually The Variable will let us into The Great Memory and we'll live in peace and happiness with all of our other discretized values."ε
1:12:22"We just have to have faith that The Variable is looking down on us from The Great Memory, and that if we all just work hard and try to be good people that eventually The Variable will let us into The Great Memory and we'll live in peace and happiness with all of our other discretized values."ε
1:12:57actbinary would you prefer to ui in c code or use something like html or something else?
🗪
1:12:57actbinary would you prefer to ui in c code or use something like html or something else?
🗪
1:12:57actbinary would you prefer to ui in c code or use something like html or something else?
🗪
1:13:08ingenero If you could be given complete control over Microsoft or Apple, which one would you choose and what would be your number one priority?
🗪
1:13:08ingenero If you could be given complete control over Microsoft or Apple, which one would you choose and what would be your number one priority?
🗪
1:13:08ingenero If you could be given complete control over Microsoft or Apple, which one would you choose and what would be your number one priority?
🗪
1:13:48brethudson Mind giving a shout-out about your appearance on the indie(Radio); podcast tomorrow?
🗪
1:13:48brethudson Mind giving a shout-out about your appearance on the indie(Radio); podcast tomorrow?
🗪
1:13:48brethudson Mind giving a shout-out about your appearance on the indie(Radio); podcast tomorrow?
🗪
1:15:59mitch77x Casey, the question was not entirely meant funny: Can you imagine to still code games and stuff when you are like 60?
🗪
1:15:59mitch77x Casey, the question was not entirely meant funny: Can you imagine to still code games and stuff when you are like 60?
🗪
1:15:59mitch77x Casey, the question was not entirely meant funny: Can you imagine to still code games and stuff when you are like 60?
🗪
1:16:55elxenoaizd sometimes I compare myself with other great programmers and get depressed cause I'm far away from their level - I know I shouldn't be comparing cause they grew up in different environments etc and I know for sure I can reach their level if I apply myself and learn quick, but sometimes it just gets to me and I feel bad about it... have you ever felt that way? any tips how to overcome it?
🗪
1:16:55elxenoaizd sometimes I compare myself with other great programmers and get depressed cause I'm far away from their level - I know I shouldn't be comparing cause they grew up in different environments etc and I know for sure I can reach their level if I apply myself and learn quick, but sometimes it just gets to me and I feel bad about it... have you ever felt that way? any tips how to overcome it?
🗪
1:16:55elxenoaizd sometimes I compare myself with other great programmers and get depressed cause I'm far away from their level - I know I shouldn't be comparing cause they grew up in different environments etc and I know for sure I can reach their level if I apply myself and learn quick, but sometimes it just gets to me and I feel bad about it... have you ever felt that way? any tips how to overcome it?
🗪
1:23:10gasto5 Do you think Japanese not adopting the OOP paradigm is because they are smarter or simply because of not even being interested in changing to new languages?
🗪
1:23:10gasto5 Do you think Japanese not adopting the OOP paradigm is because they are smarter or simply because of not even being interested in changing to new languages?
🗪
1:23:10gasto5 Do you think Japanese not adopting the OOP paradigm is because they are smarter or simply because of not even being interested in changing to new languages?
🗪
1:23:46jayp2 Pseudo coder question: How would one go about learning Assembly language? And are compilers/linkers written in that?
🗪
1:23:46jayp2 Pseudo coder question: How would one go about learning Assembly language? And are compilers/linkers written in that?
🗪
1:23:46jayp2 Pseudo coder question: How would one go about learning Assembly language? And are compilers/linkers written in that?
🗪
1:26:12reimaginedgames would you ever think about using C# or python?
🗪
1:26:12reimaginedgames would you ever think about using C# or python?
🗪
1:26:12reimaginedgames would you ever think about using C# or python?
🗪
1:26:27yoonfan how do you approach getting an overview of a large code base, like clang or the linux kernel?
🗪
1:26:27yoonfan how do you approach getting an overview of a large code base, like clang or the linux kernel?
🗪
1:26:27yoonfan how do you approach getting an overview of a large code base, like clang or the linux kernel?
🗪
1:27:28Wind down
🗩
1:27:28Wind down
🗩
1:27:28Wind down
🗩
1:28:06Support episode guide extraordinaire Miblo1
📖
1:28:06Support episode guide extraordinaire Miblo1
📖
1:28:06Support episode guide extraordinaire Miblo1
📖