Handmade Hero»Episode Guide
Laying Out Cutscenes
?
?

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:32Recap yesterday's work on the cutscene
0:32Recap yesterday's work on the cutscene
0:32Recap yesterday's work on the cutscene
1:28handmade_cutscene.cpp: Introduce struct layered_scene to hold all of the cutscene data
1:28handmade_cutscene.cpp: Introduce struct layered_scene to hold all of the cutscene data
1:28handmade_cutscene.cpp: Introduce struct layered_scene to hold all of the cutscene data
3:15handmade_cutscene.cpp: Introduce RenderLayeredScene
3:15handmade_cutscene.cpp: Introduce RenderLayeredScene
3:15handmade_cutscene.cpp: Introduce RenderLayeredScene
4:25handmade_cutscene.cpp: Define the layered_scene
4:25handmade_cutscene.cpp: Define the layered_scene
4:25handmade_cutscene.cpp: Define the layered_scene
6:07On solving the problem and then generalising from that, i.e. compression oriented programming
6:07On solving the problem and then generalising from that, i.e. compression oriented programming
6:07On solving the problem and then generalising from that, i.e. compression oriented programming
7:05handmade_cutscene.cpp: Clean up a few things
7:05handmade_cutscene.cpp: Clean up a few things
7:05handmade_cutscene.cpp: Clean up a few things
7:58handmade_cutscene.cpp: Introduce scene_layer and scene_layer_flags
7:58handmade_cutscene.cpp: Introduce scene_layer and scene_layer_flags
7:58handmade_cutscene.cpp: Introduce scene_layer and scene_layer_flags
11:32Run the game and see our scene
11:32Run the game and see our scene
11:32Run the game and see our scene
11:58handmade_cutscene.h: Move in our structs from handmade_cutscene.cpp
11:58handmade_cutscene.h: Move in our structs from handmade_cutscene.cpp
11:58handmade_cutscene.h: Move in our structs from handmade_cutscene.cpp
12:34handmade_cutscene.cpp: Setup to compose further shots
12:34handmade_cutscene.cpp: Setup to compose further shots
12:34handmade_cutscene.cpp: Setup to compose further shots
14:08handmade_cutscene.cpp: Encode the Z-movement in CameraStart and CameraEnd
14:08handmade_cutscene.cpp: Encode the Z-movement in CameraStart and CameraEnd
14:08handmade_cutscene.cpp: Encode the Z-movement in CameraStart and CameraEnd
16:03handmade_cutscene.cpp: Compose Shot 2
16:03handmade_cutscene.cpp: Compose Shot 2
16:03handmade_cutscene.cpp: Compose Shot 2
21:24Missing snowflakes...α
21:24Missing snowflakes...α
21:24Missing snowflakes...α
22:30handmade_cutscene.cpp: Compose Shot 3
22:30handmade_cutscene.cpp: Compose Shot 3
22:30handmade_cutscene.cpp: Compose Shot 3
25:45handmade_cutscene.h: Add CounterCameraX and CounterCameraY to scene_layer_flags
25:45handmade_cutscene.h: Add CounterCameraX and CounterCameraY to scene_layer_flags
25:45handmade_cutscene.h: Add CounterCameraX and CounterCameraY to scene_layer_flags
27:17Compile and see that everything should change, apparently
27:17Compile and see that everything should change, apparently
27:17Compile and see that everything should change, apparently
27:55handmade_cutscene.cpp: Do the Z-case
27:55handmade_cutscene.cpp: Do the Z-case
27:55handmade_cutscene.cpp: Do the Z-case
28:14handmade_cutscene.cpp: Continue composing Shot 3
28:14handmade_cutscene.cpp: Continue composing Shot 3
28:14handmade_cutscene.cpp: Continue composing Shot 3
44:09handmade_cutscene.cpp: Compose Shot 4
44:09handmade_cutscene.cpp: Compose Shot 4
44:09handmade_cutscene.cpp: Compose Shot 4
47:19Missing childrenβ
47:19Missing childrenβ
47:19Missing childrenβ
49:11On misplacing childrenγ
49:11On misplacing childrenγ
49:11On misplacing childrenγ
50:52handmade_cutscene.h: Add MinTime and MaxTime to scene_layer and Transient to scene_layer_flags
50:52handmade_cutscene.h: Add MinTime and MaxTime to scene_layer and Transient to scene_layer_flags
50:52handmade_cutscene.h: Add MinTime and MaxTime to scene_layer and Transient to scene_layer_flags
51:44handmade_cutscene.cpp: Set Transient layers
51:44handmade_cutscene.cpp: Set Transient layers
51:44handmade_cutscene.cpp: Set Transient layers
53:37Watch the animated version
53:37Watch the animated version
53:37Watch the animated version
54:11handmade_cutscene.cpp: Compose Shot 5
54:11handmade_cutscene.cpp: Compose Shot 5
54:11handmade_cutscene.cpp: Compose Shot 5
55:11The money shotδ
55:11The money shotδ
55:11The money shotδ
58:01"That is video games"ε
58:01"That is video games"ε
58:01"That is video games"ε
58:43handmade_cutscene.cpp: Compose Shot 6
58:43handmade_cutscene.cpp: Compose Shot 6
58:43handmade_cutscene.cpp: Compose Shot 6
59:33When Krampus comes into the pictureζ
59:33When Krampus comes into the pictureζ
59:33When Krampus comes into the pictureζ
1:05:21Q&A
🗩
1:05:21Q&A
🗩
1:05:21Q&A
🗩
1:05:52Fyoucon Why not pass how long each cutscene is instead of it being the same for all cutscenes?
🗪
1:05:52Fyoucon Why not pass how long each cutscene is instead of it being the same for all cutscenes?
🗪
1:05:52Fyoucon Why not pass how long each cutscene is instead of it being the same for all cutscenes?
🗪
1:06:26graeme7 For the weird camera movement scene what do you think about interpolating against a curve instead of linearly?
🗪
1:06:26graeme7 For the weird camera movement scene what do you think about interpolating against a curve instead of linearly?
🗪
1:06:26graeme7 For the weird camera movement scene what do you think about interpolating against a curve instead of linearly?
🗪
1:07:08ttbjm Yangtian's art is awesome!
🗪
1:07:08ttbjm Yangtian's art is awesome!
🗪
1:07:08ttbjm Yangtian's art is awesome!
🗪
1:07:40Fyoucon Please do moreη
🗪
1:07:40Fyoucon Please do moreη
🗪
1:07:40Fyoucon Please do moreη
🗪
1:08:06handmade_cutscene.cpp: Compose Shot 7
1:08:06handmade_cutscene.cpp: Compose Shot 7
1:08:06handmade_cutscene.cpp: Compose Shot 7
1:10:56handmade_cutscene.cpp: Compose Shot 8
1:10:56handmade_cutscene.cpp: Compose Shot 8
1:10:56handmade_cutscene.cpp: Compose Shot 8
1:16:01handmade_cutscene.h: Add v2 Param to scene_layer
1:16:01handmade_cutscene.h: Add v2 Param to scene_layer
1:16:01handmade_cutscene.h: Add v2 Param to scene_layer
1:17:31handmade_cutscene.cpp: Continue composing Shot 8
1:17:31handmade_cutscene.cpp: Continue composing Shot 8
1:17:31handmade_cutscene.cpp: Continue composing Shot 8
1:20:24handmade_cutscene.cpp: Compose Shot 9
1:20:24handmade_cutscene.cpp: Compose Shot 9
1:20:24handmade_cutscene.cpp: Compose Shot 9
1:25:04kknewkles Do you enjoy the screaming of the linker lamenting and writhing in Sisyphean agony that he can't write to the .exe?
🗪
1:25:04kknewkles Do you enjoy the screaming of the linker lamenting and writhing in Sisyphean agony that he can't write to the .exe?
🗪
1:25:04kknewkles Do you enjoy the screaming of the linker lamenting and writhing in Sisyphean agony that he can't write to the .exe?
🗪
1:25:21Ikkir_Isth Do you have someone lined up for voice acting?
🗪
1:25:21Ikkir_Isth Do you have someone lined up for voice acting?
🗪
1:25:21Ikkir_Isth Do you have someone lined up for voice acting?
🗪
1:25:51ttbjm The first scene with a glove it was a left hand glove and the next it's a right hand glove
🗪
1:25:51ttbjm The first scene with a glove it was a left hand glove and the next it's a right hand glove
🗪
1:25:51ttbjm The first scene with a glove it was a left hand glove and the next it's a right hand glove
🗪
1:27:15insofaras The door was open in the first scene but closed before Krampus enters
🗪
1:27:15insofaras The door was open in the first scene but closed before Krampus enters
🗪
1:27:15insofaras The door was open in the first scene but closed before Krampus enters
🗪
1:27:45blah238 Way back on Shot 2 I noticed a gap at the top of the window. Is that still there?
🗪
1:27:45blah238 Way back on Shot 2 I noticed a gap at the top of the window. Is that still there?
🗪
1:27:45blah238 Way back on Shot 2 I noticed a gap at the top of the window. Is that still there?
🗪
1:28:37cubercaleb Can I adopt one of the children?
🗪
1:28:37cubercaleb Can I adopt one of the children?
🗪
1:28:37cubercaleb Can I adopt one of the children?
🗪
1:28:53Ikkir_Isth Try the community for voice acting? Quite a few of us would be willing / have good mics
🗪
1:28:53Ikkir_Isth Try the community for voice acting? Quite a few of us would be willing / have good mics
🗪
1:28:53Ikkir_Isth Try the community for voice acting? Quite a few of us would be willing / have good mics
🗪
1:29:12ttbjm Will this game have support for left handed people?
🗪
1:29:12ttbjm Will this game have support for left handed people?
🗪
1:29:12ttbjm Will this game have support for left handed people?
🗪
1:29:37erdomina Could you explain the fading for animation
🗪
1:29:37erdomina Could you explain the fading for animation
🗪
1:29:37erdomina Could you explain the fading for animation
🗪
1:29:45kknewkles Sorry to put you on the spot, but we didn't have anything special on 200th day. Anything planned for 256th?
🗪
1:29:45kknewkles Sorry to put you on the spot, but we didn't have anything special on 200th day. Anything planned for 256th?
🗪
1:29:45kknewkles Sorry to put you on the spot, but we didn't have anything special on 200th day. Anything planned for 256th?
🗪
1:29:55OsmanTheBlack What's the best way to get my repo blessed on GitHub? I know it's kinda random, but the current blessed Rust repo hasn't been updated in 3 months
🗪
1:29:55OsmanTheBlack What's the best way to get my repo blessed on GitHub? I know it's kinda random, but the current blessed Rust repo hasn't been updated in 3 months
🗪
1:29:55OsmanTheBlack What's the best way to get my repo blessed on GitHub? I know it's kinda random, but the current blessed Rust repo hasn't been updated in 3 months
🗪
1:30:11bkboggy You should add a little bit of snow on that one, to add depth
🗪
1:30:11bkboggy You should add a little bit of snow on that one, to add depth
🗪
1:30:11bkboggy You should add a little bit of snow on that one, to add depth
🗪
1:31:05insofaras We still need our own trig functions so we can stop sin()'ing by using the C standard library
🗪
1:31:05insofaras We still need our own trig functions so we can stop sin()'ing by using the C standard library
🗪
1:31:05insofaras We still need our own trig functions so we can stop sin()'ing by using the C standard library
🗪
1:32:18erdomina You mentioned earlier that we could make the animation sequence smoother by fading. For example when Santa put a hat on the hero. I was wondering what that would look like
🗪
1:32:18erdomina You mentioned earlier that we could make the animation sequence smoother by fading. For example when Santa put a hat on the hero. I was wondering what that would look like
🗪
1:32:18erdomina You mentioned earlier that we could make the animation sequence smoother by fading. For example when Santa put a hat on the hero. I was wondering what that would look like
🗪
1:32:41blah238 I noticed the cutscene bitmaps don't scale with the window size. Why is that?
🗪
1:32:41blah238 I noticed the cutscene bitmaps don't scale with the window size. Why is that?
🗪
1:32:41blah238 I noticed the cutscene bitmaps don't scale with the window size. Why is that?
🗪
1:33:08win32_handmade.cpp: Temporarily switch to using a smaller backbuffer
1:33:08win32_handmade.cpp: Temporarily switch to using a smaller backbuffer
1:33:08win32_handmade.cpp: Temporarily switch to using a smaller backbuffer
1:34:28Mr4thDimention Floor and Ceil are difficult?
🗪
1:34:28Mr4thDimention Floor and Ceil are difficult?
🗪
1:34:28Mr4thDimention Floor and Ceil are difficult?
🗪
1:35:39actbinary Why do we want to redo sin()?
🗪
1:35:39actbinary Why do we want to redo sin()?
🗪
1:35:39actbinary Why do we want to redo sin()?
🗪
1:37:17Call it a night
🗩
1:37:17Call it a night
🗩
1:37:17Call it a night
🗩