Instantaneous Live Code Editing
?
?

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:02Recap and set the stage for the day
🗩
0:02Recap and set the stage for the day
🗩
0:02Recap and set the stage for the day
🗩
2:22Remove DllMain() and successfully recompile
2:22Remove DllMain() and successfully recompile
2:22Remove DllMain() and successfully recompile
3:28Demo hot reloading, and determine to reduce the update lag and enable debugging of it
🏃
3:28Demo hot reloading, and determine to reduce the update lag and enable debugging of it
🏃
3:28Demo hot reloading, and determine to reduce the update lag and enable debugging of it
🏃
5:58Visual Studio .pdb unloading
🗩
5:58Visual Studio .pdb unloading
🗩
5:58Visual Studio .pdb unloading
🗩
7:00Try using cl's -Fd flag1 to output the .pdb to a different location, without success
7:00Try using cl's -Fd flag1 to output the .pdb to a different location, without success
7:00Try using cl's -Fd flag1 to output the .pdb to a different location, without success
10:32Try using cl's -PDB:filename linker flag2 to output the .pdb to a different location, successfully
10:32Try using cl's -PDB:filename linker flag2 to output the .pdb to a different location, successfully
10:32Try using cl's -PDB:filename linker flag2 to output the .pdb to a different location, successfully
11:16Set the .pdb location using a batch file invocation of %date%
11:16Set the .pdb location using a batch file invocation of %date%
11:16Set the .pdb location using a batch file invocation of %date%
16:59Test out hot reloading to find that we create many .pdb files
🏃
16:59Test out hot reloading to find that we create many .pdb files
🏃
16:59Test out hot reloading to find that we create many .pdb files
🏃
18:26Suppress the output of del by piping it to a file
18:26Suppress the output of del by piping it to a file
18:26Suppress the output of del by piping it to a file
20:29Piping stdout and stderr
🗩
20:29Piping stdout and stderr
🗩
20:29Piping stdout and stderr
🗩
21:42Pipe both the stdout and stderr output of del to NUL, and disable incremental linking
21:42Pipe both the stdout and stderr output of del to NUL, and disable incremental linking
21:42Pipe both the stdout and stderr output of del to NUL, and disable incremental linking
23:31Find that our compilation output is more concise, and that we are hot reloading in the debugger
🏃
23:31Find that our compilation output is more concise, and that we are hot reloading in the debugger
🏃
23:31Find that our compilation output is more concise, and that we are hot reloading in the debugger
🏃
24:15Enable Win32LoadGameCode() to use the ftLastWriteTime to determine when a DLL update is necessary3
24:15Enable Win32LoadGameCode() to use the ftLastWriteTime to determine when a DLL update is necessary3
24:15Enable Win32LoadGameCode() to use the ftLastWriteTime to determine when a DLL update is necessary3
33:09Find that hot reloading continues to work latently
🏃
33:09Find that hot reloading continues to work latently
🏃
33:09Find that hot reloading continues to work latently
🏃
33:34Make WinMain() reload the DLL if it was updated, using CompareFileTime()4
33:34Make WinMain() reload the DLL if it was updated, using CompareFileTime()4
33:34Make WinMain() reload the DLL if it was updated, using CompareFileTime()4
35:45Try hot reloading to find that it is now instantaneous
🏃
35:45Try hot reloading to find that it is now instantaneous
🏃
35:45Try hot reloading to find that it is now instantaneous
🏃
37:29Try setting the Working Directory to the data directory, and find that Win32GetLastWriteTime() fails to find our .dll file
🗹
🏃
37:29Try setting the Working Directory to the data directory, and find that Win32GetLastWriteTime() fails to find our .dll file
🗹
🏃
37:29Try setting the Working Directory to the data directory, and find that Win32GetLastWriteTime() fails to find our .dll file
🗹
🏃
39:49Enable WinMain() to locate our .exe file using GetModuleFilenameA()5
39:49Enable WinMain() to locate our .exe file using GetModuleFilenameA()5
39:49Enable WinMain() to locate our .exe file using GetModuleFilenameA()5
45:44Find that we get the full path
🏃
45:44Find that we get the full path
🏃
45:44Find that we get the full path
🏃
46:00Truncate the path to the base filename
46:00Truncate the path to the base filename
46:00Truncate the path to the base filename
48:31Step through our path truncation to show it all happen
🏃
48:31Step through our path truncation to show it all happen
🏃
48:31Step through our path truncation to show it all happen
🏃
49:52Introduce CatStrings() for WinMain() to construct our .exe file path
49:52Introduce CatStrings() for WinMain() to construct our .exe file path
49:52Introduce CatStrings() for WinMain() to construct our .exe file path
55:25Implement CatStrings()
55:25Implement CatStrings()
55:25Implement CatStrings()
57:49Step through CatStrings() to find that it does what we want
🏃
57:49Step through CatStrings() to find that it does what we want
🏃
57:49Step through CatStrings() to find that it does what we want
🏃
59:44Set up the new Q&A question grabber, and reflect on our hot reloading improvements
🗹
🗩
59:44Set up the new Q&A question grabber, and reflect on our hot reloading improvements
🗹
🗩
59:44Set up the new Q&A question grabber, and reflect on our hot reloading improvements
🗹
🗩
1:01:21Q&A
🗩
1:01:21Q&A
🗩
1:01:21Q&A
🗩
1:01:45Unseen Owl of Shame moment on the chat machine
🦉
🗩
1:01:45Unseen Owl of Shame moment on the chat machine
🦉
🗩
1:01:45Unseen Owl of Shame moment on the chat machine
🦉
🗩
1:02:24How do you manage to time your coding so perfectly?
🗪
1:02:24How do you manage to time your coding so perfectly?
🗪
1:02:24How do you manage to time your coding so perfectly?
🗪
1:02:34You mentioned yesterday you had something you wanted to address from a previous day, but never did
🗪
1:02:34You mentioned yesterday you had something you wanted to address from a previous day, but never did
🗪
1:02:34You mentioned yesterday you had something you wanted to address from a previous day, but never did
🗪
1:03:31Will this capability be in the shipping game or will it only be for debugging?
🗪
1:03:31Will this capability be in the shipping game or will it only be for debugging?
🗪
1:03:31Will this capability be in the shipping game or will it only be for debugging?
🗪
1:04:15Does the reload of the DLL reset the game entirely?
🗪
1:04:15Does the reload of the DLL reset the game entirely?
🗪
1:04:15Does the reload of the DLL reset the game entirely?
🗪
1:04:21Demonstrate seamless hot reloading
🏃
1:04:21Demonstrate seamless hot reloading
🏃
1:04:21Demonstrate seamless hot reloading
🏃
1:05:07How much time have you spent planning this game prior to even starting on Day 001?
🗪
1:05:07How much time have you spent planning this game prior to even starting on Day 001?
🗪
1:05:07How much time have you spent planning this game prior to even starting on Day 001?
🗪
1:06:43Are you building the game in two sort of sections, one being core C++ section and the other being a platform service section?
🗪
1:06:43Are you building the game in two sort of sections, one being core C++ section and the other being a platform service section?
🗪
1:06:43Are you building the game in two sort of sections, one being core C++ section and the other being a platform service section?
🗪
1:07:21Since DLLs are not on OSX or Linux how will we handle these in those environments?
🗪
1:07:21Since DLLs are not on OSX or Linux how will we handle these in those environments?
🗪
1:07:21Since DLLs are not on OSX or Linux how will we handle these in those environments?
🗪
1:07:41beepo Did you list your qualifications in a previous stream? If not, what are they?
🗪
1:07:41beepo Did you list your qualifications in a previous stream? If not, what are they?
🗪
1:07:41beepo Did you list your qualifications in a previous stream? If not, what are they?
🗪
1:08:13Why don't you use dynamic buffer allocation?
🗪
1:08:13Why don't you use dynamic buffer allocation?
🗪
1:08:13Why don't you use dynamic buffer allocation?
🗪
1:09:09You said that you are going to show us how to make a game well. What are your qualifications for saying you are making a good game, code-wise?
🗪
1:09:09You said that you are going to show us how to make a game well. What are your qualifications for saying you are making a good game, code-wise?
🗪
1:09:09You said that you are going to show us how to make a game well. What are your qualifications for saying you are making a good game, code-wise?
🗪
1:11:16Could you explain your method of compressed programming somewhere in writing, on the forum, maybe?6
🗪
1:11:16Could you explain your method of compressed programming somewhere in writing, on the forum, maybe?6
🗪
1:11:16Could you explain your method of compressed programming somewhere in writing, on the forum, maybe?6
🗪
1:12:42When FindFirstFile() is called, does Windows actually read anything from disk
🗪
1:12:42When FindFirstFile() is called, does Windows actually read anything from disk
🗪
1:12:42When FindFirstFile() is called, does Windows actually read anything from disk
🗪
1:13:06One way to abuse the fact that the game is in a separate DLL is to open the game part up to modders and modders' tools
🗪
1:13:06One way to abuse the fact that the game is in a separate DLL is to open the game part up to modders and modders' tools
🗪
1:13:06One way to abuse the fact that the game is in a separate DLL is to open the game part up to modders and modders' tools
🗪
1:14:00One common theme in these videos is that you shouldn't clean up OS objects or memory on shutdown, but OS objects will presumably need to be cleaned up on DLL reload, correct?
🗪
1:14:00One common theme in these videos is that you shouldn't clean up OS objects or memory on shutdown, but OS objects will presumably need to be cleaned up on DLL reload, correct?
🗪
1:14:00One common theme in these videos is that you shouldn't clean up OS objects or memory on shutdown, but OS objects will presumably need to be cleaned up on DLL reload, correct?
🗪
1:14:54I wish you had a subscriber button, this is awesome. Are we in Q&A time right now?
🗪
1:14:54I wish you had a subscriber button, this is awesome. Are we in Q&A time right now?
🗪
1:14:54I wish you had a subscriber button, this is awesome. Are we in Q&A time right now?
🗪
1:17:09firefly2442 Are we going to see the process of designing the game too, as in the game concept rather than the code?
🗪
1:17:09firefly2442 Are we going to see the process of designing the game too, as in the game concept rather than the code?
🗪
1:17:09firefly2442 Are we going to see the process of designing the game too, as in the game concept rather than the code?
🗪
1:20:31Can you give some examples of some types of code changes to the game DLL that won't work well with hot reloading?
🗪
1:20:31Can you give some examples of some types of code changes to the game DLL that won't work well with hot reloading?
🗪
1:20:31Can you give some examples of some types of code changes to the game DLL that won't work well with hot reloading?
🗪
1:22:39Do you have any opinion on lua, such as using it for configuration or more comprehensive scripting?
🗪
1:22:39Do you have any opinion on lua, such as using it for configuration or more comprehensive scripting?
🗪
1:22:39Do you have any opinion on lua, such as using it for configuration or more comprehensive scripting?
🗪
1:24:09Do you think this method of hot reloading can be useful for developing other types of software besides a game, like e.g. a mobile app or business system?
🗪
1:24:09Do you think this method of hot reloading can be useful for developing other types of software besides a game, like e.g. a mobile app or business system?
🗪
1:24:09Do you think this method of hot reloading can be useful for developing other types of software besides a game, like e.g. a mobile app or business system?
🗪
1:25:00Do you think there is a case for DSLs in some cases, instead of using C for the code, like for AI?
🗪
1:25:00Do you think there is a case for DSLs in some cases, instead of using C for the code, like for AI?
🗪
1:25:00Do you think there is a case for DSLs in some cases, instead of using C for the code, like for AI?
🗪
1:26:19panic00 One benefit of lua is that you don't have to recompile at all
🗪
1:26:19panic00 One benefit of lua is that you don't have to recompile at all
🗪
1:26:19panic00 One benefit of lua is that you don't have to recompile at all
🗪
1:26:45Will the game engine be mostly generic or tailored for this game?
🗪
1:26:45Will the game engine be mostly generic or tailored for this game?
🗪
1:26:45Will the game engine be mostly generic or tailored for this game?
🗪
1:27:28Could you talk about Larrabee and Xeon Phi?
🗪
1:27:28Could you talk about Larrabee and Xeon Phi?
🗪
1:27:28Could you talk about Larrabee and Xeon Phi?
🗪
1:28:16Do I recommend C over C++?
🗪
1:28:16Do I recommend C over C++?
🗪
1:28:16Do I recommend C over C++?
🗪
1:31:17As a beginning programmer, is Unity a good start to develop some basic games?
🗪
1:31:17As a beginning programmer, is Unity a good start to develop some basic games?
🗪
1:31:17As a beginning programmer, is Unity a good start to develop some basic games?
🗪
1:31:58You complain a lot about the Windows API, but clearly other platforms aren't any better. What would your ideal, general-purpose platform look like?
🗪
1:31:58You complain a lot about the Windows API, but clearly other platforms aren't any better. What would your ideal, general-purpose platform look like?
🗪
1:31:58You complain a lot about the Windows API, but clearly other platforms aren't any better. What would your ideal, general-purpose platform look like?
🗪
1:32:16Were there any personal projects that you had done prior to graduating high school / college that came in handy when looking for a job? How did you come to work at RAD?7
🗪
1:32:16Were there any personal projects that you had done prior to graduating high school / college that came in handy when looking for a job? How did you come to work at RAD?7
🗪
1:32:16Were there any personal projects that you had done prior to graduating high school / college that came in handy when looking for a job? How did you come to work at RAD?7
🗪
1:33:43Do you think games can make use concurrency and parallelism more than it is now?
🗪
1:33:43Do you think games can make use concurrency and parallelism more than it is now?
🗪
1:33:43Do you think games can make use concurrency and parallelism more than it is now?
🗪
1:34:06Where can I find the song used in the YouTube trailer?8
🗪
1:34:06Where can I find the song used in the YouTube trailer?8
🗪
1:34:06Where can I find the song used in the YouTube trailer?8
🗪
1:34:35Can you show how to set keybindings in emacs?
🗹
🗪
1:34:35Can you show how to set keybindings in emacs?
🗹
🗪
1:34:35Can you show how to set keybindings in emacs?
🗹
🗪
1:35:47What do you think of Blizzard as a game development company?
🗪
1:35:47What do you think of Blizzard as a game development company?
🗪
1:35:47What do you think of Blizzard as a game development company?
🗪
1:36:58Perhaps this question is better suited for the forums: What guidance can you provide for newbie game developers looking to find artists for their game projects?
🗪
1:36:58Perhaps this question is better suited for the forums: What guidance can you provide for newbie game developers looking to find artists for their game projects?
🗪
1:36:58Perhaps this question is better suited for the forums: What guidance can you provide for newbie game developers looking to find artists for their game projects?
🗪
1:37:39You mentioned on-stream metaprogramming in C. What does that look like? Been dying to know
🗪
1:37:39You mentioned on-stream metaprogramming in C. What does that look like? Been dying to know
🗪
1:37:39You mentioned on-stream metaprogramming in C. What does that look like? Been dying to know
🗪
1:37:53Metaprogramming in C
🗩
1:37:53Metaprogramming in C
🗩
1:37:53Metaprogramming in C
🗩
1:39:52ambiguous_panda You mentioned that you don't think you will make much of a profit from becoming a Twitch Partner, but you get 7× more viewers than some of the full-time streamers
🗪
1:39:52ambiguous_panda You mentioned that you don't think you will make much of a profit from becoming a Twitch Partner, but you get 7× more viewers than some of the full-time streamers
🗪
1:39:52ambiguous_panda You mentioned that you don't think you will make much of a profit from becoming a Twitch Partner, but you get 7× more viewers than some of the full-time streamers
🗪
1:42:04telegraph_cable Sorry if I missed it, but did you fix the expected-bytes-until-flip bug in the audio code?
🗪
1:42:04telegraph_cable Sorry if I missed it, but did you fix the expected-bytes-until-flip bug in the audio code?
🗪
1:42:04telegraph_cable Sorry if I missed it, but did you fix the expected-bytes-until-flip bug in the audio code?
🗪
1:42:37Can you make a lot of money by C programming?
🗪
1:42:37Can you make a lot of money by C programming?
🗪
1:42:37Can you make a lot of money by C programming?
🗪
1:44:31Do you use hot reloading in any of your non-game projects?
🗪
1:44:31Do you use hot reloading in any of your non-game projects?
🗪
1:44:31Do you use hot reloading in any of your non-game projects?
🗪
1:44:41Why do you think so few people learn this stuff?
🗪
1:44:41Why do you think so few people learn this stuff?
🗪
1:44:41Why do you think so few people learn this stuff?
🗪
1:50:09I know some of your friends went to ArenaNet, but I can't stress how much Guild Wars 2 feels awful
🗪
1:50:09I know some of your friends went to ArenaNet, but I can't stress how much Guild Wars 2 feels awful
🗪
1:50:09I know some of your friends went to ArenaNet, but I can't stress how much Guild Wars 2 feels awful
🗪
1:50:39Call it here
🗩
1:50:39Call it here
🗩
1:50:39Call it here
🗩